Problem
During firmware flashing of the ATmega2560 Slaves, clock hands would move erratically and uncontrollably.
Root Cause
Each Arduino Mega Slave controls 6 driver boards, each carrying an AX1201728SG quad stepper driver. Pin 17 of the Mega is connected to the RESET pin of all 6 drivers in parallel — when HIGH, the drivers are active; when LOW, they are in reset (motors disabled, outputs high-impedance).
The original PCB design included a pull-down resistor (R1) between RESET and GND on each board, intended to keep the drivers disabled during boot/flash. However, a 1kΩ resistor was mistakenly populated instead of the 10kΩ recommended by the AX1201728SG datasheet. Since the drivers didn't work at all with 1kΩ, R1 was removed entirely — which introduced the erratic movement problem.
Solution
Populate R1 with the correct 10kΩ value, as specified by the AX1201728SG datasheet.
Mounting a single 10kΩ R1 on just one of the 6 boards per slave completely solved the problem — one resistor is sufficient because the RESET bus is shared. All 48 hands now stay perfectly still during OTA flash.
Francesco Comi
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.