ESP32 Shield Design & Firmware Adaption
Budget: $100 – $300 USD
# Project Description: ESP32 Shield PCB + Firmware for Self-Balancing Robot
I am seeking an experienced PCB designer (and preferably embedded developer) to create a **two-layer, through-hole ESP32 shield** that will serve as the main control board for a self-balancing two-wheel robot with an automated kickstand.
This project is **almost identical to an existing design** (see firmware requirements below for link to project), so the firmware does not need to be developed from scratch — it can be adapted and refined from prior work.
---
### Deliverables
- **Schematic diagram**
- **Wiring diagram**
- **Bill of Materials (BOM)** with parts sourced from **AliExpress** (cost efficiency is important)
- **PCB layout** optimized for hand soldering
- **Gerber files** ready for fabrication
- **Firmware** for ESP32 (adapted from existing project, not full ground-up development)
---
### Hardware Design Requirements
- **Core Controller:** ESP32 module (mounted via female headers for easy replacement/upgrade)
- **Sensors:** MPU6050 (IMU for balance control)
- **Motor Drivers:** Rio Rand ZS-X11D1 BLDC motor controllers
- **Motors:** Hoverboard-style 36V BLDC hub motors with hall sensors
- **Power Supply:** Buck converters to step down from 36V or 18V battery input
- **Kickstand Mechanism:** 9g servo motor controlled by the ESP32
- **Passive Components:** Capacitors and resistors as required
- **Connectivity:**
- Female headers for ESP32 and other modules
- Screw terminals for motor controller connections
- Clearly labeled pins and components for ease of assembly and future upgrades
---
### Firmware Requirements
- Adapt existing firmware for ESP32 from this project: https://www.pcbway.com/project/shareproject/ESP32_Balancing_Robot_Shield.html
- Read sensor data from MPU6050
- Implement balance control algorithms for two-wheel self-balancing
- Interface with Rio Rand ZS-X11D1 BLDC motor controllers via hall sensors
- Control the 9g servo motor for automated kickstand deployment/retraction
- Manage power input from 36V or 18V sources with buck converters
- Provide **well-documented source code** (Arduino IDE or ESP-IDF preferred)
- Include **clear instructions** for flashing and configuring the firmware
- Modular design so future upgrades (new sensors, features) can be added easily
---
### Key Considerations
- Designed for **ease of soldering and assembly** (through-hole components preferred)
- **Headers provided for unused ESP32 pins** to allow future experimentation and expansion
- **All components and pins must be clearly marked** on both the schematic and PCB silkscreen
- **Cost-conscious BOM** with AliExpress sourcing in mind
- Firmware adaptation rather than full development from scratch
I am seeking an experienced PCB designer (and preferably embedded developer) to create a **two-layer, through-hole ESP32 shield** that will serve as the main control board for a self-balancing two-wheel robot with an automated kickstand.
This project is **almost identical to an existing design** (see firmware requirements below for link to project), so the firmware does not need to be developed from scratch — it can be adapted and refined from prior work.
---
### Deliverables
- **Schematic diagram**
- **Wiring diagram**
- **Bill of Materials (BOM)** with parts sourced from **AliExpress** (cost efficiency is important)
- **PCB layout** optimized for hand soldering
- **Gerber files** ready for fabrication
- **Firmware** for ESP32 (adapted from existing project, not full ground-up development)
---
### Hardware Design Requirements
- **Core Controller:** ESP32 module (mounted via female headers for easy replacement/upgrade)
- **Sensors:** MPU6050 (IMU for balance control)
- **Motor Drivers:** Rio Rand ZS-X11D1 BLDC motor controllers
- **Motors:** Hoverboard-style 36V BLDC hub motors with hall sensors
- **Power Supply:** Buck converters to step down from 36V or 18V battery input
- **Kickstand Mechanism:** 9g servo motor controlled by the ESP32
- **Passive Components:** Capacitors and resistors as required
- **Connectivity:**
- Female headers for ESP32 and other modules
- Screw terminals for motor controller connections
- Clearly labeled pins and components for ease of assembly and future upgrades
---
### Firmware Requirements
- Adapt existing firmware for ESP32 from this project: https://www.pcbway.com/project/shareproject/ESP32_Balancing_Robot_Shield.html
- Read sensor data from MPU6050
- Implement balance control algorithms for two-wheel self-balancing
- Interface with Rio Rand ZS-X11D1 BLDC motor controllers via hall sensors
- Control the 9g servo motor for automated kickstand deployment/retraction
- Manage power input from 36V or 18V sources with buck converters
- Provide **well-documented source code** (Arduino IDE or ESP-IDF preferred)
- Include **clear instructions** for flashing and configuring the firmware
- Modular design so future upgrades (new sensors, features) can be added easily
---
### Key Considerations
- Designed for **ease of soldering and assembly** (through-hole components preferred)
- **Headers provided for unused ESP32 pins** to allow future experimentation and expansion
- **All components and pins must be clearly marked** on both the schematic and PCB silkscreen
- **Cost-conscious BOM** with AliExpress sourcing in mind
- Firmware adaptation rather than full development from scratch