[Eberhard] needed to flash several hundred ATMegas for a project he was working on. This was a problem, but the task did have a few things going for it that made automation easy. The boards the ‘Megas were soldered to weren’t depanelized yet, and he had a neat and weird bed of nails programming connector. There was also a CNC machine close by. This sounds like the ideal situation for automation, and it turns out the setup was pretty easy.
The boards in question were for FPV/radio control telemetry adapter and thankfully the assembly house didn’t depanelize the 40 PCBs on each board before shipping them out. A very cool ATMega flashing tool handled the electrical connections between the computer and the microcontroller, but a real, live human being was still required to move this flashing tool from one chip to the next, upload the firmware, and repeat the process all over again.
The solution came by putting a few metal pins in the bed of a CNC mill, 3D print an adapter for the flashing tool, and writing a little code to move the flashing tool from one chip to the next. An extremely simple app takes care of moving the programmer to an unflashed chip, uploading the firmware, and continuing on to the next chip.
There’s still some work to be done that would basically tie together the Gcode and AVRdude commands into a single interface, but even now a complete panel of 40 PCBs can be programmed in a little over 10 minutes. You can check out a video of that below.




As unique as the X axis is, the Y sure gives it a run for its money. No linear rails are used, two lead screws are the only things that maintain the gantry’s position. To prevent gravity from pulling the gantry down and bending the Y axis lead screws, there are a couple of bearings on either side that ride along the bed of the machine. The frame material also hits the cheap target, it’s made from blank PCB board. A PIC16F877 microcontroller and a handful of mosfets control the motors. [msassa11] built this control circuit but admits it’s performance is not that great, it’s noisy and loses torque at high speed.

CAD programs might be a little too foreboding for someone just getting into the world of CNC, so Inventables has created their own design program called 
