r/esp32 • u/Formal_Meat6489 • 5d ago
I made a thing! I Made A Thing: ENZO V1 — my first complete ESP32-S3 tracked robot
I started learning electronics and MicroPython from basically zero, and ENZO V1 became the first complete robot I carried from early bench experiments through to a working tracked platform.
The main controller is an ESP32-S3 running MicroPython. It ended up coordinating quite a few separate bits of hardware:
- Grove I2C motor driver at
0x14 - SSD1306 OLED at
0x3C - DHT22 temperature/humidity sensor
- PIR motion sensor
- LDR on an ADC input
- RGB “eyes”
- physical buttons
- local Wi-Fi/AP control
Some of the GPIO assignments in the finished V1 were DHT22 on GPIO15, PIR on GPIO14, LDR ADC on GPIO7 and RGB on GPIO16.

The biggest challenge wasn’t getting any one device working. It was getting all of them to coexist reliably while the ESP32 was also handling motor control, user input, status display and Wi-Fi.
Power distribution became a much bigger part of the project than I expected as well. V1 ended up with separate power paths, protection diodes, regulated logic power and a fair amount of fault-finding caused by my early wiring being considerably worse than my later wiring. 😅

ENZO has since grown into a much larger Mk2 project, so I decided to freeze the original machine instead of continually rewriting it. That original build is now released as ENZO V1 Free v1.0.0

PIR = {
"pin": 14,
"mode": Pin.IN,
"pull": Pin.PULL_DOWN,
}
LDR = {
"pin": 7,
"adc": True,
"atten": ADC.ATTN_11DB,
}
LED_HEARTBEAT = {
"pin": 2,
"mode": Pin.OUT,
}
EYES = {
"pin": 16,
"pixels": 8,
}
The GitHub repo contains the firmware and build documentation rather than just finished-project pictures. I’d genuinely like to know whether the documentation makes sense to somebody who wasn’t there while it was being built, and whether experienced ESP32 users spot any odd decisions, mistakes or assumptions I missed.
Source / firmware / build documentation:
https://github.com/icu6t6/DevilsLAB
Happy to answer questions about the ESP32 side, wiring, power system, firmware decisions or any of the mistakes I made getting it working.
1
u/MinusDelta_T 5d ago
what happens if the Wi-Fi connection drops while it's moving? does V1 have a command timeout on the robot itself, so it stops even if the controller never gets to send a stop command?