Control Board v2
The original control board design uses an Arduino Nano. This was done to, in theory, allow for quick development and to make building and assembly easier.
An Arduino Nano contains a ATmega328P microcontroller, a voltage regulator, and a USB to serial interface.
The voltage regular on the Arduino Nano isn’t used in this design since it can’t provide enough current. The Arduino is being powered from the main 5V supply for the clock.
The USB to serial interface is used to program the Arduino via it’s boot-loader and is also used for debugging. The Arduino (its ATmega328P) can also be programmed using in system programming (ISP).
Since the voltage regular isn’t needed and ISP can be used for programing, which eliminates the need for the USB to serial circuitry, only the microcontroller and a few support components from the Arduino is actually needed.
An Arduino Nano costs $20. Anmicro-controller, crystal, and necessary capacitors costs $4.50. Switching to just the microcontroller reduces the cost more than 75% and only adds requires minimal additional effort during assembly.
The package chosen for theis a 32 pin TQFP. It’s much smaller than the through-hole PDIP version. Before ordering a new boards, a test board was etched and populated with microcontroller, crystal and capacitors to confirm that it would work and that the ISP would work.
To program it, an Arduino Uno was configured as and ISP programmer then used to load the Arduino boot-loader. The board hen behaved as an Arduino Nano allowing programs to be uploaded via serial connection. The boot-loader needs to be loaded first to set the configuration fuses even if the boot-loader will not be used later.
Loading programs without the boot-loader via ISP was then tested. This worked as expected. This is how the final code will be loaded as there is not much benefit to the boot-loader when the program can be easily loaded via ISP. The Arduino version is used during development since the the builtin USB to serial connection is built-in and convenient for debugging.
The original board was modified to keep the same dimensions and button and power jack positions so this board will be a drop-in replacement for the original Arduino based board. Surface mount LEDs were added for power and status. Again it was ordered from JLCPCB for the, $19.95 for 10 shipped.
New control board schematic:
New control board layout:
The v2 boards:
The completed v2 board, note ISP on J4 and J6 provides TX/RX so it can optionally be used with the Arduino boot-loader: