Week 16 - System Integration Report: AI Horse BOOK – Prototype V1.0
1. Overview
This week marked the successful completion of the first fully integrated hardware prototype of the "AI Horse BOOK" project. The system now realizes a complete signal chain from the remote controller to the mechanical actuator:
ESP32 remote (BLE transmitter) → ESP32-DEV receiver → N20 motor driver → mechanical linkage (pony limbs/head) → on-screen status feedback.
This milestone transitions the project from standalone module testing to full-system collaborative operation.
2. Hardware Architecture & Responsibilities
| Module | Model | Function |
|---|---|---|
| Remote Controller | ESP32 (with push buttons) | Reads button states and broadcasts control commands via BLE |
| Receiver & Driver | ESP32-DEV board | Receives BLE signals, drives the motor, and updates the display |
| Actuator | N20 worm-gear motor + linkage | Converts rotational motion into mechanical actions of the pony's limbs/head |
| Display Unit | Onboard OLED (SSD1306 or equivalent) | Shows real-time action status (e.g., "Walking", "Head Up") |
3. Critical Issues & Resolutions
Issue 1: Excessive Book Thickness
Symptom:
The total thickness exceeded the physical design limit of the book casing when using a straight-shaft N20 motor with a linkage rod.
Root Cause:
The axial length of the straight-shaft motor, combined with the outward extension of the linkage, consumed too much internal space.
Solution:
Replaced with an N20 worm-gear motor, which has a shorter axial dimension and a parallel output shaft, significantly reducing the overall thickness.
Reinforcement:
Added retaining clips at the worm–gear interface to prevent loosening under prolonged vibration.
Issue 2: Insufficient Battery Power – Motor Start-Up Causing System Reset
Symptom:
The ESP32-DEV board experienced voltage droop and rebooted during motor startup due to inrush current.
Root Cause:
The original battery (e.g., 14500 or pouch Li-ion) had limited discharge capacity and could not simultaneously support the motor's peak current and the MCU's operation.
Solution:
Upgraded to an 18650 Li-ion battery (single-cell or parallel configuration) and added a large bypass capacitor (e.g., 1000 µF) to provide transient current compensation, stabilizing the MCU supply voltage during motor starts.
4. Key Lessons & Design Guidelines (Important)
GPIO Pin Selection
Pins used for motor control (PWM, direction, enable) must be true output-capable GPIOs with strong push-pull drive strength. Avoid pins that default to input-mode or are multiplexed with ADC/touch functions, as they may produce unstable logic levels or insufficient drive current.
Recommendation:
Use only pins explicitly labeled as GPIO_MODE_OUTPUT in the datasheet, and explicitly configure them as GPIO_MODE_OUTPUT during initialization.
Power Supply Partitioning
Digital (ESP32, display) and analog/motor power domains should be isolated as much as possible; at minimum, implement a single-point ground connection to prevent motor noise from coupling into BLE reception and display signals.
Mechanical Stops & Overcurrent Protection
Although worm-gear drives are self-locking, mechanical limit stops should be added at the extreme positions of the linkage to prevent stall conditions, which could overload the motor driver IC (e.g., L9110S or MX1508) and cause thermal damage.
5. Next Steps
Enhance BLE protocol:
Introduce heartbeat packets and a retransmission mechanism to improve communication reliability.
Implement motion profiling:
Add acceleration/deceleration curves for smoother and more natural pony movements.
Final integration:
Assemble the inner pages into the book casing and conduct endurance testing with a target of ≥ 2 hours of continuous operation.