Archivos en la categoría 'Hardware'

Repairing a Nikon D80 with ERR message

Sábado, Diciembre 4th, 2021

Initially introduced at $999 body only this was a prosumer camera back in 2006. Later years and up today photography comunity members started to report a ERR message in their cameras top display (in the shutter speed field). This error is commonly associated to the mechanical parts of the camera (shutter, diaphragm and mirror) being not properly in sync.

I have already fixed 3 cameras with these flaws. These cameras where brougth to me as for parts/teardowns so I decided to publish a small guideline on how to fix them.

Nikon D80 and the main mechanics

Nikon D80 and the main mechanics

Seems that this specific model of Nikon had two major flawn that made the mechanics out of sync. Maybe the fault comes from the design, maybe comes from quality control. The flawns are:

Main motor pinion gets broken. This makes the pinion too loose so the motor spins without transmiting it’s force to the mecanism and rotating in void. The main electronics detects no action in it’s sensors despite givin the command to spin the motor, hence produces the ERR message. This is fixable by carefully removing the pinion, putting a smal drop of SuperGlue in the motors shaft tip then pushing back the pinion.

Nikon D80 main motor pinion broken in half

Nikon D80 main motor pinion broken in half

Mechanics encoder loses one brush fixing. The mechanic rotatory enconder is the electronics main sensor of the mecanics position and travel. It’s made of a gear that has a fixed brushes against a PCB board where makes it’s contact. The brushes are fixed by a plastic welding that brokes with passing time. The brushes then missaling or makes no contact at all. Electronics loses perception of the mechanics travel and position and then drops the fatal ERR message. This can be fixed with a small drop of superglue in the affected/broken plastic fixing (in this photo, the right side one).

Mechanics rotatory encoder with one broken/loose plastic fixing.

Mechanics rotatory encoder with one broken/loose plastic fixing.

I recommend to let dry the superglue at least 1  hour before trying the fix. You can start assembling the camera inmediatly but is best for all to let it totally dry before inserting a charged battery to try it out.

Any of these flaws renders the camera unusable. Fortunally both flaws are relative easy to fix, but both requires a lot of careful dissasembly to be able to get to the afected parts. I recommend to follow the help this Nikon D80 service manual and use a welder when the disassembly requires to unsolder some wires.

Nikon D80 main mechanics, motor removed. The main encoder can be seen below, being the grey gear.

Nikon D80 main mechanics, motor removed. The main encoder can be seen below, being the grey gear.

SYPHCOM: CO2 meter

Lunes, Agosto 16th, 2021

This is my last week project: a Simple Yet Powerful Handheld CO2 Meter. SYPHCOM (name in progress ..)

The use for a portable CO2 meter is to be able to measure air quality in closed spaces (i.e. the office). The higher the number (usually above 1200~1500) the worst ventilation, which means higher chances to get
the Covid-19.

CO2 Meter Front View

CO2 Meter Front View

With this is possible to know when is time to open the windows and ventilate.

It’s main guts are:

Back view of handmade CO2 meter

Back view of handmade CO2 meter

The capacitor stands for when the CO2 sensor does a read cycle (every 2s): both the display and the SenseAir S8 uses so much power that you can see the display and leds in the Arduino Pro Micro sighly dim off when powered from standard USB 0.5A when a read is made in the SenseAir CO2 Sensor. Without the capacitor, the arduino can’t stand for the display refresh and does a glitch in the display.

BCO2 Meter Glitch

CO2 Meter glitch

Also there’s a UDN2981A source driver to drive the columns in the HDSP-2000 display and a small momentary press button with 10K pull down resistor to launch sensor callibration if pressed on powerup (use with caution!!).

CO2 Meter first working stage

CO2 Meter first working stage

The components that makes it portable are:

  • Lithium battery charger (Like this one).
  • Recycled Li-Po cell (250mAh)
  • Pololu s7v8a adjustable step-up DC-DC (adjusted to 5V).
  • Switch.
Making CO2 Meter porable with lipo charger and battery

Making CO2 Meter porable with lipo charger and battery

I use the same components to make projects portables. The good thing about the pololu s7v8a is that it is both a step-up and a step-down DC-DC converter. This is handful if a project work 3.3v as it will give 3.3v always even if the battery is reading 3.0v. Unfortunally the recicled 250mAh battery is not much for the power needs so only lasts 30m on thi battery cell.

CO2 Arduino HDSP-2000 SenseAir Schematic

CO2 Arduino HDSP-2000 SenseAir Schematic

Code available here.

In the video the leds seems to be dimmer than they really are because of the high light, but actually they are pretty much visible.

Overall all makes a nice looking portable and easy to use CO2 meter and Covid prevention tool in closed spaces.

ZTE680 Hardware V4.0 (V2?) Hack

Domingo, Agosto 20th, 2017

I just got recently installed my first FTTH router (pepephone, but same model is used in masmovil and jazztel) and as any network engineer I wanted to have full access to the router. Looking over the vast internet I found a blogpost that used a USB with a symlink to smb.conf so it can be edited to add exec parameters to execute an downloaded busybox to open an alternative telnetd but the article had a big problem that make it imposible to work on my router: the F680 of the article has an ARM architecture. My router has MIPS instead. This is important to know beforehand if using external-downloaded busybox binaries. In the end I skipped the busybox hack to directly allow admin telnet connection instead the buggy limited one. This is how I did it, I will assume that router has IP address 192.168.1.1.

(más…)

Expired RSA SecurID Token revival (guerrilla hack)

Lunes, Enero 25th, 2016

I had lying around an expired RSA SecurID with the typical blank display only showing a small 3 in the right.

Looking for some info about expired tokens I found an old topic at flickr (original URL here) where Travis Goodspeed managed to revive one the tokens with a simple trick: apply 3v for a second in two of the pads behind the protective plate.

Here is the diagram:

Expired RSA SecurID Token Revival Diagram

Expired RSA SecurID Token Revival Diagram

Here the revived Token:

Expired RSA SecurID Token Revived

Expired RSA SecurID Token Revived

The token was expired since november 2011 but still got battery to keep working.

I Haven’t tested if token still is valid to autenticate against RSA daemon after revival.

GPS Toy / On board computer

Martes, Junio 5th, 2012
Update: This hardware was made from parts at adafruit, sparkfun and dealextreme. See the new, custom design with more power efficiency, better GPS and temperature sensor here.

This is something I’ve been working about a month now. It’s a little handheld GPS / on board computer that shows altitude, current course, synced satellites, speed, time and date, distance between saved point and current point (and its course and corrdinates) and total trip distance.

Cube GPS Toy

Cube GPS Toy

At first I wanted a speed-o-meter for my bike but you know, coding it’s free and could stop adding functions.

I managed to get some cheap serial GPS receptor, a tiny OLED display and an Arduino Mini Pro and started to code. First I knew I would need some big font and so I made my own using paint, each character 24×32 (96bytes). This is the complete parts list:

  • Ebay I2C SSD1306 based OLED display, 128×64, 0.96″ and 5V.
  • Ebay Arduino Mini Pro (ATMEGA328p), 5V 16Mhz
  • Sparkfun DC-DC step-up voltage converter (5V).
  • Adafruit MPC73833 LiPo battery charger.
  • Savaged iPod Nano 1st gen battery.
  • Dealextreme EM-411 GPS 5V receiver.
  • Savaged momentary buttons, resistors and wires.

I had to code some method to print own big fonts in the display and the moment I managed to control all the display functions as I wanted I started to code the methods to print GPS gathered data in the display. This is an earlier slowed display test that didn’t worked well:

The first prototype had just speed mode, was assembled with double tape and had no battery charger. It’s purpose was to see how speed meter worked testing it in my car.

First handheld GPS prototype

First handheld GPS prototype

Then I dismantled firts prototype and assembled second prototype, this time no double tape, just boards soldered togheter. This is the schematic:

Tiny GPS schematic

Tiny GPS schematic

And so I began building:

OLED Display up, GPS Conector (glued to DC-DC) down.

OLED Display up, GPS Conector (glued to DC-DC) down.

Second prototype assembling. Arduino Up, DC-DC down.

Second prototype assembling. Arduino Up, DC-DC down.

The actual prototype looks like a tiny packed devices cube with front display and momentary switches (best view on 720p). Here is a video with functions explanation:

I’m not a coder so code is pretty much ugly. Sketch it’s downloable from here. It uses TinyGPS library from Mikal Hart, custom new software serial to disable interrupts in pin ports and PinChangeInt, an Arduino library to handle buttons interrupts.

If you would like to contribute with functions or code fixes please feel free to contact me either in the comments or in my email address (at the bottom of the page).