|Inside the programmer
The design is basically made up of all the components described in a previous post, Racal Cougar Standalone Programmer - part 2 with the addition of some additional parts in a single schema used to create a custom PCB.
The programmer code should also work on a default Arduino Nano with a 4x4 keypad, an I2C LCD driver and a 20x04 LCD as long as you keep the pins connecting them to the ATMEGA 328 the same as used in the above schema.
A note on the I2C LCD driver
PCF8574 0x20 ... 0x27
PCF8574A 0x38 ... 0x3F
On the PCB and in the code i used the PCF8574A set to address 0x38.
- DC-Jack and power regulator to generate 5 volt to drive the battery charger
- Single cell Li-Po/ Li-Ion charger circuit with status leds.
- 5 volt DC DC converter (without under-voltage protection so use li-po/li-ion's with protection circruit)
- ATMega 328 micro controller (as used in Arduino Nano).
- PCF8574A I2C 8-bit I/O expander set to address 0x38 (see datasheet)
- Racal interface circuit (level shifter, DB9 connector)
The Gerber files for the PCB can be downloaded using this link.
I used a 18650 Li-Ion battery to power the programmer. There is no under voltage or reverse polarity protection so make sure you use a battery containing a protection circuit and when you accidentally connect it the wrong way around it will for sure damage the DC-DC converter IC.
I'm still working on the sketch and will release the code as soon as i think it is ready to be released. In the mean time i will provide a binary version of the sketch which can be downloaded using this link.
More information about how to upload hex files to the Arduino can be found on the Arduino forum using this link for example.
3D printed case
The housing of the programmer is made up of 3 separate parts that are tied together using M3 hex screws and M3 stand-off nuts:
- Top part containing all the elctronics
- 18650 battery holder that is placed on top of the keypad using 4 short M3 screws.
- Bottom part with ventilation slots.
I printed these parts using PLA and PETG with a 0.4 mm nozzle and 0.2 mm layer height and as long as you set the correct speed/ nozzle temperature there is little shrinkage. I haven't tried to print the casing using ABS.
The STL files for the housing can be downloaded using this link