|
|
ESP32-S3-MINI-1-N4R2 |
x 1 | |
|
|
TB6612FNG,C,8,ELToshiba Semiconductor and Storage
|
x 1 | |
|
|
MPU-6050 |
x 1 | |
|
|
TCA9548AMRGERTexas Instruments
|
x 1 |
|
ESP-PROGEspressif
|
|
|
KiCad 9.0 |
RoboCore 2.0 - ESP32-S3 Robotics Controller
RoboCore 2.0 – ESP32-S3 Robotics Controller Board
RoboCore 2.0 is my second-generation robotics controller board, designed as a compact and reliable platform for small mobile robots.
It focuses on stable power delivery, clean signal routing, and easy debugging, making it a solid controller for future robotics projects.
📌 Main Use Cases
Differential-drive robot controller
Line-following + PID speed control
IMU-based motion / balancing experiments
Multi-sensor robotics platform

3D PCB View:

PCB Front Layer:

PCB Back Layer:

🧩 PCB Design Overview
RoboCore 2.0 is built on a 2-layer FR-4 PCB (1.6 mm) and optimized for robotics wiring and testing.
✅ Microcontroller Section
ESP32-S3 module (USB, Wi-Fi, BLE, dual-core)
Proper EN/BOOT circuitry and decoupling based on Espressif reference designs
Reliable USB flashing + stable auto-reset behavior
✅ Power Distribution
5V rail for motors and sensors
3.3V rail for logic and I²C devices
Decoupling capacitors placed close to ICs for stable operation
✅ Motor Driver + Encoder Area
TB6612FNG dual H-bridge motor driver
Independent PWM control per motor
IN1/IN2 direction control
Wider copper traces near motor current paths
Encoder signals routed short and clean for noise immunity
✅ IMU + I²C Architecture
MPU6050 IMU (Accel + Gyro)
Connected via TCA9548A I²C multiplexer
I²C wiring grouped and tuned for stable 400 kHz operation
Expansion channels available for OLED + extra sensors
✅ Sensors & Headers
3× IR sensors (ADC inputs)
Ultrasonic sensor header (TRIG/ECHO)
Dedicated headers for OLED + encoders
Clear silkscreen labels for easier wiring
✨ Key Features
🔥 Hardware Highlights
MCU: ESP32-S3 (USB + Wi-Fi + BLE)
Motor Control: 2× DC motors via TB6612FNG
Feedback: Left & right quadrature encoders (A/B)
IMU: MPU6050 via TCA9548A I²C MUX
Sensors:
3× IR sensors (line following / edge detection)
Ultrasonic sensor header (TRIG/ECHO)
I²C expansion ports for additional modules
🧪 Debug-Friendly Design
USB flashing + Serial monitor ready
Test firmware included for each subsystem
Python tools to visualize IMU angle (including live 3D viewer)
🧪 Test Firmware (ESP-IDF)
This project includes ESP-IDF based tests to validate the board step-by-step.
1) IMU Angle Viewer (imu_angle_test)
Reads MPU6050 via TCA9548A (channel 0)
Uses complementary filtering (acc + gyro)
Example logs:
Angle: 2.15 deg | AccAngle: 0.60 | GyroY: 2.38 dps | dt: 0.013 s
✅ Verifies:
I²C bus stability
MUX channel selection
MPU6050 configuration and readings
2) Motor + Encoder Test (motor_encoder_test)
Drives both motors forward/back using PWM
Reads encoder A/B channels and prints counts + direction
✅ Confirms:
TB6612FNG wiring and control
Motor supply path
Encoder signal integrity
3) Ultrasonic + OLED + IR Test (sensors_test)
Ultrasonic distance measurement
IR ADC readings
OLED shows live sensor values + prints over serial
✅ Validates:
Stable 5V / 3.3V rails under load
I²C operation with OLED + MUX
Correct ADC mapping for IR sensors
🧰 Python Tools
Helper scripts can be added (optional):
imu_angle_plot.py – angle vs time plot
imu_3d_viewer.py – real-time 3D orientation view
Requirements
pip install pyserial matplotlib
⚠️ Tip: Close idf_monitor before running Python scripts on the same COM port.
🚀 Getting Started (ESP-IDF)
Prerequisites
ESP-IDF (v5.5.1 used)
Python 3.x + pyserial + matplotlib
USB cable
Build & Flash
idf.py set-target esp32s3
idf.py menuconfig # optional
idf.py build
- idf.py flash monitor


RoboCore 2.0 - ESP32-S3 Robotics Controller
Project images are for reference only. Actual production is based on the manufacturing files on the project page.
Please review the designer's notes (e.g., PCB thickness) and select the appropriate options.
PCBWay is not responsible
for issues caused by unsuitable parameter selections.
For more important ordering information, please refer to
Read More
Raspberry Pi 5 7 Inch Touch Screen IPS 1024x600 HD LCD HDMI-compatible Display for RPI 4B 3B+ OPI 5 AIDA64 PC Secondary Screen(Without Speaker)
BUY NOW- Comments(0)
- Likes(13)
- 6 USER VOTES
- YOUR VOTE 0.00 0.00
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
-
10design
-
10usability
-
10creativity
-
10content
-
9design
-
9usability
-
9creativity
-
9content
-
10design
-
10usability
-
10creativity
-
10content
-
10design
-
10usability
-
10creativity
-
10content
-
8design
-
8usability
-
8creativity
-
8content
-
10design
-
10usability
-
10creativity
-
10content
More by Avishka Vishwajith
-
ESP AutoBoard_32
Hardware Capabilities5 Optocoupler Inputs: 12V-24V isolated inputs using PC817/PC827 optocouplers4 S...
-
Smart Clock
This project is a Wi-Fi-enabled digital clock built around an ESP32 module that drives a four-digit ...
-
RoboCore 2.0 - ESP32-S3 Robotics Controller
RoboCore 2.0 – ESP32-S3 Robotics Controller BoardRoboCore 2.0 is my second-generation robotics contr...
-
DC Motor Speed Controller
12V DC Motor Speed Controller – PCB Design using KiCADThis project showcases a compact, efficient, a...
-
Programmable Mist Maker - XIAO / QT PY Extension
1061 2 1 -
RadioHAT - Raspberry Pi radio development platform
860 0 2 -
QWIIC-VL53L4CD Time-of-Flight Distance Sensor Module
1085 0 1 -
-
-
-
ARPS-2 – Arduino-Compatible Robot Project Shield for Arduino UNO
3322 0 6 -
-
A Compact Charging Breakout Board For Waveshare ESP32-C3
3930 3 8 -
AI-driven LoRa & LLM-enabled Kiosk & Food Delivery System
4315 2 2







