A Line Follower That Can See — minirobo #10
onshoulders
0:00 / 0:00
A Line Follower That Can See — minirobo #10
54 просмотра · 17 часов назад
onshoulders
12,3 тыс. подписчиков
54 просмотра · 17 часов назад
I wanted a project that needed a camera, and following a line felt just realistic enough that it might actually work. This is Blaze: an ESP32-S3 with an OV3660 camera for eyes, a minicore for a brain, and treads instead of wheels.
The camera board has two cores, so one of them looks at the floor and works out where the line is, and the other streams that analysis out to a recorder. That is why you can watch what the robot sees — the scan rows, the confidence number, the moment it decides it is in a corner — instead of just watching a robot drive.
Following a line is easy when the line is straight. So I taped a course with corners as sharp as 131 degrees and pointed him at it.
What's in this episode
Starting from prior art — the minicore gives you a brain, a driver and motors, so the only new problem is the camera
Why the ESP32-S3 CAM, and what having two cores actually buys you
What the robot sees: the detector's own view, live
Why UART between the two boards, and not something cleverer
Why treads
Three courses, hardest last: an oval, a figure-8 that crosses its own line, and a zigzag with four sharp corners
Why a robot like this can be simulated at all — and why roughly a thousand simulated runs happened for every real one
Everything is free and open — the OpenSCAD for every printed part, the firmware for both boards, and the course sheets you can tape out on your own floor. https://minirobo.io
---------------------------
Chapters
0:00 A line follower, and why
0:26 Design decisions — start from prior art
0:43 The new bit: an ESP32-S3 camera
1:08 How the two boards talk
1:22 Why treads
1:33 A course with extreme angles
1:46 Meet Blaze
1:57 Assembly
2:12 Oval
2:47 Infinity
3:26 Zigzag, and the 131 degree corner
4:07 Why this robot can be simulated
4:36 A full run, in simulation
5:19 See you next time
---------------------------
Parts used (affiliate)
ESP32-S3 CAM Dev Kit with OV3660 camera — https://amzn.to/469SPgb
Jumper wires (the UART pair plus a shared ground) — https://amzn.to/4gD4JoV
ESP32-C3 SuperMini (14-pin) — https://amzn.to/3RYS9qi
DRV8833 motor driver — https://amzn.to/4uWoZXt
Boost Converter Module (set to 5V) — https://amzn.to/4gLbt3X
470µF electrolytic capacitor, 10V or higher — https://amzn.to/4bW3EFW
2.54mm female header strips (for the module sockets) — https://amzn.to/4bpj7y7
N20 gear motors ×2 (pick your RPM) — https://amzn.to/3QqAYNN
1S LiPo cell with protection, 300-500mAh + JST — https://amzn.to/4pUDMQx
SS12D00G slide switch, 3mm handle (inline in the battery lead) — https://amzn.to/3RNRx7e
M2 self-tapping screws (6mm) — https://amzn.to/4xpkNQR
Soldering iron + solder — https://amzn.to/4pUFwt3
The 3D printer I use — Original Prusa MK4S — https://amzn.to/4wRBe8m
(As an affiliate I earn from qualifying purchases — costs you nothing, supports the channel)
Printed parts The chassis, the treads, the sprockets, the idlers, the axle pins, the lid and the camera mast are all OpenSCAD, and all free. The tread band prints as a plain 240mm circle rather than flat — TPU remembers the shape it was printed in, so uniform curvature rolls, and a remembered straight fights the wrap. The sprocket teeth are radial slabs running the full width of the groove.
The course
The zigzag is six legs and four sharp corners in a 55 × 36 inch tape envelope, every vertex lands on a whole inch, so you measure X across and Y up from one datum corner rather than chaining protractor angles round a loop. The sheet is on the site. The sharpest corner is 131 degrees, at vertex F.
https://minirobo.io — every design in this build, free.