Close

Fixed erratic motor movement during OTA flash — 10kΩ pull-down on AX1201728SG RESET

A project log for Clock 24

A fully custom 24-quadrant clock inspired by Humans since 1982 ClockClock 24

francesco-comiFrancesco Comi • 03/22/2026 at 17:03•0 Comments

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.

Discussions