Top Board (Big Brain Board)

Schematics PDF

Designer Csongor Buzogany
Last Version v3
Last Updated 30 June 2024

Microcontroller

The Stm32f767zi microcontroller on the topboard is used to process and execute the commands received by the wireless module. The control loop on the robot is running on this chip, together with the code to receive and transmit commands via the wireless module. For more info, look in the embedded wiki. To see exactly what is connected to what pin, look in the schematics above.

IMU

The IMU used on the robot is the Xsens MTi-3 (uit de MTi 1-series). The Inertial Measurement Unit (IMU) is responsible for measuring acceleration, rotational velocity, and current heading. The IMU provides data at 100Hz. This frequency would not give enough data to properly estimate the robot state, were it not that much of the filtering and processing is already done by the IMU. The IMU has its own frame of reference, initialized at boot time. This frame can deviate from the computer's frame, which takes the width and height of the field as x-, and y-axis. The data provided by the IMU allows the robot to accurately execute commands from the computer. Instead of completely relying on the relatively slow feedback of the cameras, the robot can use the IMU data to precisely control its movements.

Wireless Module

The wireless transceiver we use is the EBYTE E28-2G4M12S SX1280 2.4G LoRa Bluetooth Module 2.4GHz Wireless rf Transceiver SPI Long Range BLE rf Transmitter 2.4g Receiver. This is the only component on the topboard we buy from aliexpress, so take longer delivery time into account. This one can also be reused really easily so if you need to, you can desolder them from older broken robots and reuse them. The SX1280 is used to wirelessly communicate between robots and the basestation. The robot has one SX1280 for both transmitting and receiving. It can send and receive packets of variable length up to 127 bytes.

Debugging

The topboard has 8 DIP switches and 6 buttons. Out of the 8 DIP switches, 4 are used to set the Robot's ID and the other 4 are set to enable/disable certain features (see embedded). 5 out of the 6 buttons are used to navigate through the robot's onboard menu system. The 6th button is the reset button, which can be used to reset the topboard's microcontroller. There are also 8 programmable LED's which are all connected to the microcontroller, through dedicated GPIO pins.

Buzzer

The topboard also has a buzzer, to notify people of the robot's status, even when the OLED is covered up by the skirt. For the exact meaning of the beeps, see embedded.

Motor Driver connectors

The motordrivers are connected to the topboard using wurth connectors. These connectors replace the old 90 degree connectors which caused issues on previous generation robots.

Motor Connectors

The motors, together with their encoders (3 cables per motor) are connected to the topboard, which is used as a pass-through to connect the motor to the motor drivers. When disconnecting the cables, be very careful to not pull on the cables, but only the plastic part of the connectors, as the cables are very fragile, and can break easily if disconnected improperly.

Datasheets

Part Name Short description Datasheet
STM32F767ZI Microcontroller cpu_stm32f767zi.pdf
MTI-3-8A7G6T (AHRS) IMU xsens.pdf
SX1280 Wireless Transceiver wireless_sx1280.pdf
E28-2G4M12S SX1280 Package e28-2g4m12s_usermanual_en_v1.7.pdf
74AHCV541A Buffer 74ahcv541a_datasheet.pdf
AZ1117CH-3.3 3.3v linear voltage regulator az1117ch-3.3_datasheet.pdf
MC3486D Differential line receiver mc3486d_datasheet.pdf
MCP2551 CAN transciever mcp2551_datasheet.pdf
PFM250XNE Small mosfet pmf250xne_datasheet.pdf
PUSB3FS4Z TVS diode array pusb3fs4z_datasheet.pdf