Skip to the content
4 layers99 × 139 mmRCU, the printed circuit board in 3D

Remote controlled robot that surveys the environment it is travelling in

Size
99 × 139 mm
Copper layers
4
Thickness
1.61 mm
Parts
148
Nets
172
Pads
605
Tracks, vias
1,056, 1,375
Pours
53
Routed
Yes
KiCad
KiCad 6 (file 20211014)
Created
24 Mar 2024
Updated
18 Mar 2025

Overview

RCU is an open-source printed circuit board by GhanGhan, from the GhanGhan/SurvBot repository on GitHub. It is a 4-layer board of 99 × 139 mm with 148 parts on 172 nets, routed with 1,056 tracks and 1,375 vias.

It is built around the STM32G0B1CBT6, CH340C and AP63203WU, with the APDS-9306-065, DRV8876PWP and LM2576S-ADJ among its other parts. Its parts include 55 capacitors, 35 resistors, 21 ICs, 17 diodes and 8 connectors. It belongs with the robots and motor control boards and the ESP32 and STM32 boards of this library.

Main components

12

README

README.md

SurvBot

Remote controlled robot that surveys the environment it is travelling in. Designed in KiCad and Altium Designer.

Part One - Robot Control Unit (RCU)

Figure 1: Altium Designer 3D View 3d View

Figure 2: KiCad 3D View Full3D

Block Diagaram

Figure 3: SYSTEM BLOCK DIAGRAM (SIMPLE)

Block_Diagram2

Project Overview

  • Design and implement a PCB that has closed-loop control over 2 DC motors
  • Monitors and saves data about itself and the environment it is in:
    • Current flowing though the motors
    • Ambient temperature
    • Ambient light hitting the robot
    • Humidity
    • Orientation (or just the tilt angle, TBD)
  • Possess Bluetooth communication
  • Entire system is powered by a 9V-12V battery

Figure 4: SYSTEM OVERVIEW Overview

Schematic Diagrams

Power

Figure 5: Power Schematic Power 1

  • Can be connected to a < 20V at the battery terminals, as well as 5V at either USB connector
  • Schottky diodes allow for all three power sources to be connected at once
    • Battery terminal has the highest priority, followed by USB1, then USB2
    • They also provide reverse voltage protection
  • Battery can power all of the modules, USB1 and USB2 power all modules except the motor control module
  • U100 provides 6V with a maximum output of 3A
  • U101 provides 3.3V with a maximum output of 2A
  • U102 provides 3.3VA with a maximum output of 1.35A

Microconroller

Figure 6: Microconroller Schematic Microcontroller 2

  • Powered by 3.3V
  • Using STM32G0B1CBT6 microcontroller with a clock speed of 16MHz
  • Using SWD Interface to program and debug
  • Communicates to peripheral ICs using I2C, UART and SPI
  • Can use PWM or PH/EN protocol to control motors
  • Can connect to a host computer via the USB interface

Motor Control

Figure 7: Motor Control Schematic Motor_Control 3

  • Powered by 6V
  • The DRV8876 driver, one for each motor, takes control input signals form microcontroller
  • Each motor driver can draw up to 1.5A before shutting down
  • Each driver outputs current proportional to the current passing through its associated motor, which is converted to a voltage and sent to a voltage buffer
  • Each motor has quadrature encoders, whose signals are fed to the microcontroller

Bluetooth

Figure 8: Bluetooth Schematic Bluetooth 4

  • Powered by 3.3V
  • Using ESP32-Mini as a UART-Bluetooth bridge to communicate with a remote controller
  • Can be programmed using USB 2.0 via the USB-to-UART IC: CH340C
  • By sliding a SPDT switch, can switch between programming mode and communication mode

Sensors

Figure 9: Sensors Schematic Sensors 5

  • Powered by 3.3V
  • Communicate with microcontroller via I2C interface
  • APDS-9306-065: Ambient light sensor, automatically rejects 60Hz flicker
  • SHT3D-DIS: Temperature and humidity sensor
  • LSM6D53: 6-axis accelerometer and gyroscope

Current Feedback

Figure 10: Current Feedback Schematic Current_FDB 6

  • Powered by 3.3VA
  • Takes buffered current-sense output of left and right motor driver as input
    • Signals are filtered to attenuate switching noise before entering the buffer
  • Using ADC121C02CIMK to convert analog signal to 12bit digital signal
  • Communicates with microcontroller via I2C

External Memory

Figure 11: External Memory Schematic External_Memory 7

  • Powered by 3.3V
  • 32Mb NOR Flash memory
  • Communicates with microcontroller via SPI

Part Two - Remote Controller

Figure 12: 3D View 3D View Front

Battery powered hand-held device that controls and monitors the state of the SurvBot. Commands are sent and data is received over Bluetooth. The design includes joysticks to control the robot’s velocity, buttons to change the mode it is in and a screen to display the sensor data. Can be used outdoors or indoors.

Project Overview

Figure 13: Remote controller Bloack Diagram Block Diagram The user interface will contain joysticks and buttons to control the robot’s velocity and the state it is in. Such states will determine whether the robot responds to velocity inputs, recording sensor data, is in low power mode etc. Velocity commands and state changes are sent from the controller to the robot via Bluetooth. The controller will receive sensor data; encoders, temperature, humidity and motor current from the robot in and display it on the onboard screen in real time. The system will:

  • be powered by a 9V battery
  • use 2 thumb joysticks, one to control the robot’s linear velocity and another to control it’s angular velocity
  • provide a USB interface to to program the microcontroller
  • communicate with the SurvBot over Bluetooth
  • provide a screen to view the data from the SurvBot’s motion and environment sensors, and Bluetooth connection status

Schematic Diagrams

Power

Figure 14: Power Schematic Power

  • Primary power source is a rechargeable 9V battery
  • Secondary power source is a USB vable
  • Power multiplexing circuitry used to decide the power source
  • Power Rails 3.3V and 3V (for the LCD screen)

Microcontroller

Figure 7: Microconroller Schematic uC and BT

  • Programmed via a USB cable whose signals are converted to UART
  • Peripherals: ADC, SPI and GPIO
  • Has integrated Bluetooth antenna

User Interface

Figure 7: User Interface: Screen, Buttons, and Joysticks User Interface

  • LCD screen displays information such as state of Bluetooth connection, current speed, temperature, recorded data etc.
  • Features 8 buttons to control the state of the robot
  • Left joysticks controls rotational speed, right joystick controls linear speed

Parts

148
QtyValueFootprintReferences
160.1uFCapacitor_SMD:C_0603_1608MetricC300, C302, C303, C305, C307, C308, C401, C402, C403, C405, C409, C501, C502, C504, C604, C609
10PESD3V3L1BA,115Diode_SMD:D_SOD-323D200, D201, D202, D203, D300, D301, D302, D303, D304, D305
70.1uFCapacitor_SMD:C_0402_1005MetricC201, C203, C206, C600, C602, C605, C607
71uFCapacitor_SMD:C_0603_1608MetricC107, C108, C111, C112, C406, C500, C700
510kResistor_SMD:R_0603_1608MetricR402, R403, R404, R405, R500
522uFCapacitor_SMD:C_0603_1608MetricC105, C106, C109, C110, C404
410kResistor_SMD:R_0402_1005MetricR201, R202, R300, R306
420kResistor_SMD:R_0603_1608MetricR302, R303, R308, R309
440kResistor_SMD:R_0603_1608MetricR304, R305, R310, R311
45.1kResistor_SMD:R_0603_1608MetricR205, R206, R400, R401
4OPA320Package_TO_SOT_SMD:SOT-23-5U300, U302, U601, U603
4SM5817Schottky_Diode:SODFL3719X135ND101, D102, D103, D104
32N7002NXAKR (NMOS)Package_TO_SOT_SMD:SOT-23Q400, Q401, Q403
21.6kResistor_SMD:R_0603_1608MetricR601, R603
210uFCapacitor_SMD:C_0402_1005MetricC601, C606
210uFCapacitor_SMD:C_0603_1608MetricC103, C400
214pFCapacitor_SMD:C_0402_1005MetricC204, C205
215RResistor_SMD:R_0402_1005MetricR600, R607
21nFCapacitor_SMD:C_0402_1005MetricC603, C608
22.2kResistor_SMD:R_0603_1608MetricR301, R307
2220uFCapacitor_THT:CP_Radial_D5.0mm_P2.50mmC301, C306
222nFCapacitor_SMD:C_0603_1608MetricC304, C309
23.9uHInductor_SMD:L_0402_1005MetricL102, L103
249R9Resistor_SMD:R_0603_1608MetricR207, R208
2ADC121C027CIMK/NOPBPackage_TO_SOT_SMD:TSOT-23-6U600, U602
2SW_PushButton_Switch_SMD:SW_SPST_B3U-1000PSW201, SW400
2USBLC6-2SC6Package_TO_SOT_SMD:SOT-23-6U201, U400
2USB_C_Receptacle_USB2.0Connector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12J200, J400
10.1uCapacitor_SMD:C_0603_1608MetricC408
10RResistor_SMD:R_0402_1005MetricR200
11.5kResistor_SMD:R_0603_1608MetricR101
11000uFCapacitor_THT:CP_Radial_D5.0mm_P2.50mmC102
1100nFCapacitor_SMD:C_0603_1608MetricC104
1100uFCapacitor_THT:CP_Radial_D5.0mm_P2.50mmC101
1110RResistor_SMD:R_0603_1608MetricR407
115uHInductor_SMD:L_0603_1608MetricL101
116MHzCrystal:Crystal_SMD_3225-4Pin_3.2x2.5mmY200
11uCapacitor_SMD:C_0603_1608MetricC407
11uFCapacitor_SMD:C_0402_1005MetricC200
14.7uFCapacitor_SMD:C_0402_1005MetricC202
140RResistor_SMD:R_0603_1608MetricR406
1470uCapacitor_THT:CP_Radial_D5.0mm_P2.50mmC100
15RResistor_SMD:R_0603_1608MetricR102
168uH68uH Power Inductor:IND_MWSA1206S_SNLL100
18.9kResistor_SMD:R_0603_1608MetricR100
1AP63203WUPackage_TO_SOT_SMD:TSOT-23-6U101
1APDS-9306-065OptoDevice:Broadcom_DFN-6_2x2mm_P0.65mmU500
1AZ1117-3.3Package_TO_SOT_SMD:TO-252-2U102
1B340Diode_SMD:D_SMCD100
1BSS84AK,215 (PMOS)Package_TO_SOT_SMD:SOT-23Q402
1Blue LEDLED_SMD:LED_0603_1608MetricD406
1CH340CPackage_SO:SOP-16_3.9x9.9mm_P1.27mmU401
1Conn_01x02Connector_Wire:SolderWire-2sqmm_1x02_P7.8mm_D2mm_OD3.9mmJ100
1Conn_01x05Connector_PinHeader_2.54mm:PinHeader_1x05_P2.54mm_VerticalJ201
1DG2788ADN-T1-GE4UQFN-16(1.8x2.6):QFN40P260X180X55-16NU403
1DRV8876Package_SO:HTSSOP-16-1EP_4.4x5mm_P0.65mm_EP3.4x5mm_Mask2.46x2.31mmU301
1DRV8876Package_SO:HTSSOP-16-1EP_4.4x5mm_P0.65mm_EP3.4x5mmU303
1ESP32-MINI-1ESP32_MINI:XCVR_ESP32-MINI-1-N4U402
1Green LEDLED_SMD:LED_0603_1608MetricD405
1LM2576S-ADJPackage_TO_SOT_SMD:TO-263-5_TabPin3U100
1LSM6DS3Package_LGA:LGA-14_3x2.5mm_P0.5mm_LayoutBorder3x4yU501
1Left_Encoder_ConnConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ303
1Left_Motor_Screw_TerminalTerminalBlock:TerminalBlock_bornier-2_P5.08mmJ302
1Right_Encoder_ConnConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ301
1Right_Motor_Screw_TerminalTerminalBlock:TerminalBlock_bornier-2_P5.08mmJ300
1SHT30-DISSensor_Humidity:Sensirion_DFN-8-1EP_2.5x2.5mm_P0.5mm_EP1.1x1.7mmU502
1SST26VF032BT-104I/SMPackage_SO:SOIC-8_5.275x5.275mm_P1.27mmU700
1STM32G0B1CBT6Package_QFP:LQFP-48_7x7mm_P0.5mmU200
1SW_SPDTSPDT_JS102011JCQN:SW_JS102011JCQNSW401

More from GhanGhan/SurvBot

1
  • 4 layers160 × 78.8 mmRemote Controller, the printed circuit board in 3D

    Remote Controller

    GhanGhan/SurvBot

    Remote controlled robot that surveys the environment it is travelling in

    85 parts

Similar boards

  • 2 layers36.6 × 30.7 mmRatt, the printed circuit board in 3D

    Ratt

    wendallsan/song-naga-breadboard-buddies-ratstortion

    Breadboard Buddies Ratstortion

    36 parts
  • 6 layers48.5 × 50 mmUSB Type C Switch, the printed circuit board in 3D

    USB Type C Switch

    bluetiger9/USB-Type-C-Switch

    2:1 USB 3.x Type-C Switch

    83 parts6MIT
  • 4 layers160 × 100 mmRobust io, the printed circuit board in 3D

    Robust io

    lusher00/Robust-IO

    Rugged industrial I/O board in KiCad — ATmega1284P, CAN, isolated I/O, high-side switches, and motor drivers. Schematic complete, PCB routing in progress.

    304 parts
  • 2 layers100 × 100 mmCombo laser driver, the printed circuit board in 3D

    Combo laser driver

    adeboni/laser-projector

    This project is for a quadruple laser projection controller, aimed at supporting room-scale projections

    169 partsGPL-3.0
  • 2 layers110 × 103.3 mmVoiture, the printed circuit board in 3D

    Voiture

    KimotoHoitsu/Voiture-guidee-par-main

    Ce projet consiste à développer une voiture télécommandée via un contrôleur personnalisé utilisant la communication Bluetooth Low Energy (BLE) et un accéléromètre ADXL.

    74 parts
  • 2 layers67.3 × 85.7 mmAutologger, the printed circuit board in 3D

    Autologger

    serhaturtis/ES-Autologger

    A data logger board for an automotive application

    78 parts
  • 2 layers47.5 × 85 mmDigitEco POWER DE, the printed circuit board in 3D

    DigitEco POWER DE

    r-map/rmap

    rete monitoraggio ambientale partecipativo documentation at https://doc.rmap.cc

    55 parts55

Questions

How big is the RCU PCB?

It measures 99 × 139 mm and has 4 copper layers, 1.61 mm thick.

What parts does the RCU use?

148 parts, built around the STM32G0B1CBT6, CH340C, AP63203WU and APDS-9306-065. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the RCU KiCad files?

From the GhanGhan/SurvBot repository on GitHub, at the commit this page was made from: the board is PCBs/KiCad/RCU/RCU.kicad_pcb and its schematic PCBs/KiCad/RCU/ADCs.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the RCU design in my own project?

Its repository states no licence, so its author keeps all rights: ask GhanGhan before reusing the design.