[INFO] Making a programming jig for your designs


i have developed open source device based on arduino, atmega1284p chip. need build number of them , program/test them well. did research , found article sparkfun quite useful:

https://www.sparkfun.com/tutorials/138

for me, device rather large, not small breakout board. need size. device has lcd, rotary encoder, rtc, sd card, etc. need tests before flash standard firmware. need software can flash @ least 2 different firmware target human interactions. luckly nick gammon has done great work hex loader code. can turn arduino hex loader programs fuse values on target, , load hex files sd card target. here repo:

https://github.com/nickgammon/arduino_sketches

i used atmega_hex_uploader code. interactive. open serial port , type in commands , see printouts. nicely done. nick!

for programmer, thought using arduino , jumper wire. have solder male pins device's icsp pins. it's bit unnecessary , time-consuming, if need program 100 devices (at least couple hours solder pins). based on original device design, moved icsp header different location, , placed target icsp header original device has icsp header. kept sd card, rtc, power supply, ftdi chip, , mcu original design. result device can program other devices. put on standoffs. since device has same screw hole locations, can slide newly-assembled device down standoffs make contact programmer. use nuts hold new device. can program using serial port (fuses, hex code etc.) programmer has 2 push buttons. in future, rid of serial port , have programmer standalone. if press button 1, flash target 1 hex file runs series of tests. if tests pass, press second button flash target standard firmware , move on next board. have 4 leds (not yet soldered on) , buzzer show audio , visual indications of success , failure firmware flash. have 8-dip switch row further customize target, such program different standard firmware versions target different variations of device etc.

here pictures:

front side (left side has programmer's own icsp header, right side 6 pogo sticks)


back side (sd card, mcu, 2 buttons, rtc, power supply):


programmer target board on top:


programmer target board on side (you can see gold pogo sticks left of right standoffs):


in future, write more capable hex programmer nick's code do:
  • at push of button 1, program target fuses , flash flash/eeprom current time , date saved target eeprom. way target can program own rtc based on time of programmer's rtc, @ few seconds off. rest of program self test target.
  • at push of button 2, program target fuses , flash flash standard firmware.
  • audio indicator of success/failure. audio, don't have watch programmer. can other stuff , reminded success/failure tunes.

  • programming mode (which standard firmware, fuse setting etc.) based on 8-dip switches.

i'll post videos when chance.



Arduino Forum > Development > Other Hardware Development > [INFO] Making a programming jig for your designs


arduino

Comments