Sunday, April 11, 2010
Arduino 1-Wire iButton Data Logger Programmer Portable Prototype!
The Arduino 1-Wire iButton Data Logger Programmer is now a portable device!
- Program iButton data loggers to start and stop in the field
- Read iButton temperature & humidity data logger last data values
- Read DS18xxxx one-wire family of temperature sensors
- Simple 3 button user interface
- Onboard DS1994 iButton real time clock
- 2x16 Row LCD with continuous side lit LED backlight
- Low power: Total ~23 mA allowing 40+ hours of run time
- Compact and light weight
- Microcontroller: Sparkfun Arduino Pro Mini 328 (5V)
- Case: Sparkfun Project Case - Black WIG-08601
- LCD: Newhaven NHD-0216K3Z-FS(RGB)-FBW (I2C mode)
- Molex connectors for LCD
- Wooden dowel glued to bottom of LCD standoffs for height adjust
- RJ11: Sparkfun PRT-00132
- Buttons: Momentary push button 12 mm Sparkfun COM-09190
- Button pull up resistors: 20 kOhm
- Voltage divider: Two 56 kOhm resistors and 1 uF capacitor
- Battery: 9V Lithium
- Resistor for LCD LED backlight: 85 Ohm
- Real time clock: DS1994 iButton on one wire bus
- One 4.7 kOhm pull up resistor for one wire bus
- Proto Board: Universal Component PC Board Radio Shack 276-168
Spending time 3D modeling in AutoCAD was worth it due to the tight spacing. I combined top and isometric photos for comparison to the render previously posted.I did make a few changes from the 3D model:
- Raised up the circuit board higher. I was overly optimistic on the space needed below the board and required standoff height. Cut outs in the circuit board had to be made for the 9V battery and iButton DS1994 real time clock located under the LCD. The 9V battery voltage divider circuit and pull up resistors are also under the display. Wooden dowels were used under the momentary button circuit board and LCD standoffs to allow sanding for height adjustment. Two dowels are under the circuit board below push buttons for structural support. The 9V Battery is held in place with light double back tape and foam attached to the top case cover. With tight spacing, the battery cannot move.
- SparkFun's case only comes in black or semi-clear. I rendered the 3D model in a light gray to make it easier to see components.
- Switched to more efficient Newhaven NHD-0216K3Z-FS(RGB)-FBW LCD. It looks different due to the side lit LED back light, but the overall dimensions are the same. Power for the back light is from the Arduino using Pulse Width Modulation.
One of the most time consuming portions of the construction was cutting out holes accurately. I used a Revell hobby saw to cut out the RJ11 insert opening. I tried a Dremel, but attachments that I had would not work without damaging plastic.
The LCD opening was the most difficult due to the size and precise location. The display only fit in one spot inside the case. Wide painter's masking tape was wrapped around the case with the location of the display marked inside. The opening was cut out by drilling multiple holes around the perimeter. Wire cutters were then used to trim plastic and then file for the final shape. I am open to ideas on how to accurately cut the hole without spending hours!
I am currently working on software updates for a few needed features and bug fixes. I plan to post a demo video showing all the features, construction photos, and updated source code in the near future... In the mean time, post in the comments section if you have any questions.