Skip to the content
PCBKitNew board
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

Size
160 × 78.8 mm
Copper layers
4
Thickness
1.61 mm
Parts
85
Nets
100
Pads
371
Tracks, vias
609, 397
Pours
23
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
24 Mar 2024
Updated
18 Mar 2025

Overview

Remote Controller is an open-source printed circuit board by GhanGhan, from the GhanGhan/SurvBot repository on GitHub. It is a 4-layer board of 160 × 78.8 mm with 85 parts on 100 nets, routed with 609 tracks and 397 vias.

It is built around the CH340C, ESP32-WROOM-32E and AP63203WU, with the MCP1700T-3002E/TT(MS), NHD-C12832A1Z-FSW-FBW-3V3 and USBLC6-2SC6 among its other parts. Its parts include 34 capacitors, 17 resistors, 10 switches, 8 ICs and 5 transistors. It belongs with the robots and motor control boards and the ESP32 boards of this library.

Main components

10

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

85
QtyValueFootprintReferences
160.1uFCapacitor_SMD:C_0402_1005MetricC101, C106, C108, C111, C113, C202, C203, C206, C309, C310, C311, C312, C313, C314, C315, C316
1310kResistor_SMD:R_0402_1005MetricR101, R102, R201, R204, R205, R301, R302, R303, R304, R305, R306, R307, R308
91uFCapacitor_SMD:C_0402_1005MetricC102, C109, C110, C204, C302, C303, C304, C305, C306
8SW_PushButton_Switch_SMD:SW_Push_1P1T_NO_CK_PTS125Sx43PSMTRSW301, SW302, SW303, SW304, SW305, SW306, SW307, SW308
422uFCapacitor_SMD:C_1206_3216MetricC104, C105, C107, C112
4MountingHoleMountingHole:MountingHole_2mmH1, H2, H3, H4
32.2uFCapacitor_SMD:C_0402_1005MetricC301, C307, C308
25.1kResistor_SMD:R_0603_1608MetricR202, R203
2COM-09032Thumb_joy_stick_Library:XDCR_COM-09032JS301, JS302
2IRFML8244TRPBFPackage_TO_SOT_SMD:SOT-23Q102, Q103
2LM74700Package_TO_SOT_SMD:SOT-23-6U102, U104
2SS8050-GPackage_TO_SOT_SMD:SOT-23Q201, Q202
1100kResistor_SMD:R_0603_1608MetricR103
110uFCapacitor_SMD:C_0805_2012MetricC103
1200RResistor_SMD:R_0603_1608MetricR104
122uFCapacitor_SMD:C_0603_1608MetricC201
13.9uFInductor_SMD:L_Vishay_IHLP-2525L101
1AP63203WUPackage_TO_SOT_SMD:TSOT-23-6U101
1Battery_CellBattery:BatteryHolder_MPD_BA9VPC_1xPP3BT101
1CH340CPackage_SO:SOIC-16_3.9x9.9mm_P1.27mmU203
1ESP32-WROOM-32ERF_Module:ESP32-WROOM-32DU202
1Green LEDLED_SMD:LED_0603_1608MetricD102
1IRF7319Package_SO:SOIC-8_3.9x4.9mm_P1.27mmQ101
1MCP1700T-3002E/TTPackage_TO_SOT_SMD:SOT-23U103
1NHD-C12832A1Z-FSW-FBW-3V3Display:NHD-C12832A1Z-FSRGBU301
1P6SMB22CADiode_SMD:D_SOD-882D101
1Power SwitchButton_Switch_SMD:SW_Push_1P1T_NO_CK_PTS125Sx43PSMTRSW101
1SW_PushButton_Switch_SMD:SW_Tactile_SPST_NO_Straight_CK_PTS636Sx25SMTRLFSSW201
1USBLC6-2SC6Package_TO_SOT_SMD:SOT-23-6U201
1USB_C_Receptacle_USB2.0_16PConnector_USB:USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_HorizontalJ201

Questions

How big is the Remote Controller PCB?

It measures 160 × 78.8 mm and has 4 copper layers, 1.61 mm thick.

What parts does the Remote Controller use?

85 parts, built around the CH340C, ESP32-WROOM-32E, AP63203WU and MCP1700T-3002E/TT(MS). 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 Remote Controller KiCad files?

From the GhanGhan/SurvBot repository on GitHub, at the commit this page was made from: the board is PCBs/KiCad/Remote_Controller/Remote_Controller.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 Remote Controller design in my own project?

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

More from GhanGhan/SurvBot

1
  • 4 layers99 × 139 mmRCU, the printed circuit board in 3D

    RCU

    GhanGhan/SurvBot

    Remote controlled robot that surveys the environment it is travelling in

    148 parts

Similar boards

  • 4 layers65 × 100 mmPGR, the printed circuit board in 3D

    PGR

    Projeto-Guarda-Rios/PCB

    O repositório para a PCB do Projeto Guarda Rios! Inclui todos os ficheiros relacionados com a PCB!

    188 parts2MIT
  • 4 layers61 × 100 mmBigCore, the printed circuit board in 3D

    BigCore

    Dschadu/Geistwerk-BigCore

    An ESP32-based open hardware control board designed for Bottango-powered animatronic and motion projects.

    152 parts4CERN-OHL-W-2.0
  • 4 layers95.9 × 96.5 mmFlight Controller, the printed circuit board in 3D

    Flight Controller

    Flynsky/Aeolus

    An STM32 based Drone Ecosystem, containing a FC, ESC and GS

    248 parts
  • 4 layers132.7 × 89.5 mmStrain guage r0, the printed circuit board in 3D

    Strain guage r0

    ttosu25/SG-3

    Hardware design for a mixed-signal strain-data acquisition system, incorporating sensor excitation, analogue signal conditioning, ADC, and MCU interface

    97 parts
  • 4 layers40 × 80 mmBarbelMotionTracker V1, the printed circuit board in 3D

    BarbelMotionTracker V1

    ThorbenH/ba-thesis-project

    This git project is dedicated to a prototype implementation that attempts to track and evaluate the motion of a barbell in the gym.

    123 parts
  • 4 layers93 × 155.6 mmRocky ctrl, the printed circuit board in 3D

    Rocky ctrl

    PotatoPeaSea/Rocky

    Five-legged walking robot inspired by Rocky (Project Hail Mary).

    173 parts
  • 4 layers65.9 × 52.9 mmEX CSB1, the printed circuit board in 3D

    EX CSB1

    DCC-EX/EX-CSB1

    Open source EX-CSB1 CommandStation / Booster

    103 parts13