Skip to content

Latest commit

 

History

History
381 lines (296 loc) · 8.95 KB

hardware_introduction.rst

File metadata and controls

381 lines (296 loc) · 8.95 KB

Hardware Introduction

The Robot Hat V4 features 2 lithium battery charging, 5V/3A DC-DC discharge, I2S audio output and speaker, a simple battery level indicator, microcontroller-based PWM and ADC drivers, as well as motor drivers.

Pinout

image

Power Port
  • 7-12V PH2.0 3pin power input.
  • Powering the Raspberry Pi and Robot HAT at the same time.
Power Switch
  • Turn on/off the power of the robot HAT.
  • When you connect power to the power port, the Raspberry Pi will boot up. However, you will need to switch the power switch to ON to enable Robot HAT.
Type-C USB Port
  • Insert the Type-C cable to charge the battery.
  • At the same time, the charging indicator lights up in red color.
  • When the battery is fully charged, the charging indicator turns off.
  • If the USB cable is still plugged in about 4 hours after it is fully charged, the charging indicator will blink to prompt.
Digital Pin
  • 4-channel digital pins, D0-D3.
  • Pin: pin_digital.
  • API: class_pin.
ADC Pin
  • 4-channel ADC pins, A0-A3.
  • Pin: pin_adc.
  • API: class_adc.
PWM Pin
  • 12-channel PWM pins, P0-P11.
  • Pin: pin_pwm.
  • API: class_pwm.
Left/Right Motor Port
  • 2-channel XH2.54 motor ports.
  • Pin: pin_motor.
  • API: class_motor, 1 for left motor port, 2 for right motor port.
I2C Pin and I2C Port
  • I2C Pin: P2.54 4-pin interface.
  • I2C Port: SH1.0 4-pin interface, which is compatible with QWIIC and STEMMA QT.
  • These I2C interfaces are connected to the Raspberry Pi's I2C interface via GPIO2 (SDA) and GPIO3 (SCL).
  • Pin: pin_i2c.
  • API: class_i2c.
SPI Pin
  • P2.54 7-pin SPI interface.
  • Pin: pin_spi.
UART Pin
  • P2.54 4-pin interface.
  • Pin: pin_uart.
RST Button
  • The RST button, when using Ezblock, serves as a button to restart the Ezblock program.
  • If not using Ezblock, the RST button does not have a predefined function and can be fully customized according to your needs.
  • Pin: pin_button.
  • API: class_pin
USR Button
  • The functions of USR Button can be set by your programming. (Pressing down leads to a input “0”; releasing produces a input “1”. )
  • API: class_pin, you can use Pin("SW") to define it.
  • Pin: pin_button.
Battery Indicator
  • Two LEDs light up when the voltage is higher than 7.6V.
  • One LED lights up in the 7.15V to 7.6V range.
  • Below 7.15V, both LEDs turn off.
  • battery_indicator.
Speaker and Speaker Port
  • Speaker: This is a 2030 audio chamber speaker.
  • Speaker Port: The Robot HAT is equipped with onboard I2S audio output, along with a 2030 audio chamber speaker, providing a mono sound output.
  • Pin: pin_speaker.
  • API: class_music

Pin Mapping

Raspberry Pi IO
Robot Hat V4 Raspberry Pi Robot Hat V4 Raspberry Pi
NC 3V3 5V 5V
SDA SDA 5V 5V
SCL SCL GND GND
D1 GPIO4 TXD TXD
GND GND RXD RXD
D0 GPIO17 I2S BCLK GPIO18
D2 GPIO27 GND GND
D3 GPIO22 MOTOR 1 DIR GPIO23
NC 3V3 MOTOR 2 DIR GPIO24
SPI MOSI MOSI GND GND
SPI MISO MISO USR BUTTON GPIO25
SPI SCLK SCLK SPI CE0 CE0
GND GND NC CE1
NC ID_SD NC ID_SC
MCU Reset GPIO5 GND GND
(SPI)BSY GPIO6 Board Identifier 2 GPIO12
Board Identifier 1 GPIO13 GND GND
I2S LRCLK GPIO19 RST BUTTON GPIO16
USER LED GPIO26 NC GPIO20
GND GND I2S SDATA GPIO21

Digital IO

Robot HAT has 4 sets of 3Pin digital pins.

image

Digital IO
Robot Hat V4 Raspberry Pi
D0 GPIO17
D1 GPIO4
D2 GPIO27
D3 GPIO22

ADC

image

The Robot HAT features four sets of 3Pin ADC (Analog to Digital Converter) pins, each spaced 2.54mm apart. These pins operate at a 3.3V power supply. The ADC function, offering 12-bit precision, is facilitated by an onboard microcontroller. Detailed instructions for reading ADC values are provided in the on_board_mcu section.

image

Also, ADC channel A4 is connected to the battery through a voltage divider using resistors, which will be used to measure the battery voltage to estimate the approximate battery charge.

The voltage divider ratio is 20K/10K, so:

  • A4 voltage (Va4) = value_A4 / 4095.0 * 3.3
  • Battery voltage (Vbat) = Va4*3
  • Battery voltage (Vbat) = value_A4 / 4095.0 * 3.3 * 3

PWM

image

Robot HAT has 4 sets of 3Pin PWM pins, each spaced 2.54mm apart, and the power supply is 5V. The method of using the PWM is described in detail in on_board_mcu.

Note

PWM13 & 14 channels are used for motor drive.

I2C

image

The Robot HAT has two I2C interfaces. One is the P2.54 4-pin interface, and the other is the SH1.0 4-pin interface, which is compatible with QWIIC and STEMMA QT. These I2C interfaces are connected to the Raspberry Pi's I2C interface via GPIO2 (SDA) and GPIO3 (SCL). The board also features an on_board_mcu, and the two signal lines have 10K pull-up resistors.

SPI

image

The SPI interface of the Robot HAT is a 7-pin P2.54 interface. It connects to the SPI interface of the Raspberry Pi and includes an additional I/O pin that can be used for purposes such as interrupts or resets.

SPI
Robot Hat V4 Raspberry Pi
BSY GPIO6
CS CE0(GPIO8)
SCK SCLK(GPIO11)
MI MISO(GPIO9)
MO MOSI(GPIO10)
3V3 3.3V Power
GND Ground

UART

image

The UART interface of the Robot HAT is a 4-pin P2.54 interface. It connects to the Raspberry Pi's GPIO14 (TXD) and GPIO15 (RXD) pins.

Buttons

The Robot HAT comes with 1 LED and 2 buttons, all directly connected to the Raspberry Pi's GPIO pins. The RST button, when using Ezblock, serves as a button to restart the Ezblock program. If not using Ezblock, the RST button does not have a predefined function and can be fully customized according to your needs.

LED & Button
Robot Hat V4 Raspberry Pi
LED GPIO26
USR GPIO25
RST GPIO16

Speaker and Speaker Port

The Robot HAT is equipped with onboard I2S audio output, along with a 2030 audio chamber speaker, providing a mono sound output.

I2S
I2S Raspberry Pi
LRCLK GPIO19
BCLK GPIO18
SDATA GPIO21

Motor Port

The motor driver of the Robot HAT supports 2 channels and can be controlled using 2 digital signals for direction and 2 PWM signals for speed control.

Motor Driver
Motor IO
Motor1 Dir GPIO23
Motor1 Power PWM13
Motor2 Dir GPIO24
Motor2 Power PWM12

Battery Level Indicator

The battery level indicator on the Robot HAT monitors the battery voltage using a voltage divider method and serves as a reference for estimating the battery level. The relationship between the LED and voltage is as follows:

Battery Level
LED Battery Total Voltage
2 LEDs on Greater than 7.6V
1 LED on Greater than 7.15V
Both LEDs off Less than 7.15V

When any one of the batteries reaches or exceeds 4.1V while the others are below that threshold, the charging current of that specific battery will be reduced.