Main control board resources (within 10*10, available for free board fabrication by JLCPCB):
0. Core board model: The author uses an existing core board, but you can also make your own. Below is a Taobao link: STM32F103RC F405RG F407ZE controller CAN MPU6050 MPU9250 - Taobao (taobao.com)
1. Debugging port: 2*5pin CMSIS DAP debugger interface (with one built-in UART1 serial port for data transmission and reception), the core board has an ST-Link debugger interface.
2. Serial port: Onboard, all 3 serial ports are brought out (UART1, UART2, UART3).
3. AD interface: Onboard, 3 AD interfaces (with optional external pull-up resistors), plus one infrared voltage divider interface, supporting voltage 0-6V (the author's infrared model is GP2Y0A21YK0F 10-80cm distance sensor).
4. Power supply: One each of 5V, 3.3V, and GND.
5. Encoder: Three encoder interfaces: ENCODER_A, ENCODER_B, and ENCODER_C.
6. Stepper Motor Driver: One 2*5pin horn-shaped connector interface, used for communication with the stepper motor driver board (one output controls whether the motor is powered on). The stepper motor driver board chip model is LV8731V-TLM-H (PWM constant current control stepper motor driver). The schematic diagram of the driver chip is also shown in the schematic diagram. Of course, for convenience, you can also purchase it directly. Here is a link to the driver board: Four-channel LV8731V stepper motor driver module D34A intelligent car driver module with 5V regulated output - Taobao (taobao.com)
7. Buttons: Four buttons with a normally high level.
8. CAN Interface: 1 channel. SPI Interface: 1 channel. Active Buzzer: 1 channel. All unused pins exposed: 8 channels.
9. Onboard storage: PROM (AT24C02) -> Hardware I2C interface, NOR-FLASH (W25Q128JVPIQ) -> Hardware SPI interface.
10.5V control signal: 3-channel transistor switching circuit (the collector resistor value of the transistor is selected according to the control signal; the author later changed it to a 200-ohm resistor based on personal project requirements).