Computer engineering student [sherwin-dc] had a rover project which required streaming video through an ESP32 to be accessed by a web server. He couldn’t find documentation for the standard camera interface of the ESP32, but even if he had it, that approach used too many I/O pins. Instead, [sherwin-dc] decided to shoe-horn a video into an I2S stream. It helped that he had access to an Altera MAX 10 FPGA to process the video signal from the camera. He did succeed, but it took a lot of experimenting to work around the limited resources of the ESP32. Ultimately [sherwin-dc] decided on QVGA resolution of 320×240 pixels, with 8 bits per pixel. This meant each frame uses just 77 KB of precious ESP32 RAM.
His design uses a 2.5 MHz SCK, which equates to about four frames per second. But he notes that with higher SCK rates in the tens of MHz, the frame rate could be significantly higher — in theory. But considering other system processing, the ESP32 can’t even keep up with four FPS. In the end, he was lucky to get 0.5 FPS throughput, but that was adequate for purposes of controlling the rover (see animated GIF below the break). That said, if you had a more powerful processor in your design, this technique might be of interest. [Sherwin-dc] notes that the standard camera drivers for the ESP32 use I2S under the hood, so the concept isn’t crazy.
We’ve covered several articles about generating video over I2S before, including this piece from back in 2019. Have you ever commandeered a protocol for “off-label” use?
For those wishing to explore robot autonomy, there’s no better way then to learn by doing. [Greg] was in that camp, and decided to build an autonomous rover to roam his house, and learned plenty along the way.
[Greg]’s aims with the project were to build a robot that was capable of navigating his home without external assistance. To do the job, a Raspberry Pi 3 was put in charge, and kitted out with a LIDAR for mapping. Pololu Roboclaw motor controllers are then used to allow the Raspberry Pi to drive the robot’s individual wheel motors, giving the four-wheeled bot skid steering capability.
[Greg] goes into immense detail on the project’s writeup, exploring the code and concepts behind its autonomous abilities. Creating a robot that can navigate using LIDAR is no easy task, but [Greg] does a great job of explaining how it all works, and why.
It should come as no surprise that the COVID-19 pandemic has sparked renewed interest in robotic deliveries. Amazon saying they would some day land Prime orders in your backyard with a drone sounded pretty fanciful a few years ago, but now that traditional delivery services are under enormous strain and people are looking to avoid as much human contact as possible, it’s starting to make a lot more sense.
Now to be clear, we don’t think you’ll be seeing this modified RC truck rolling up your driveway with a pizza in tow anytime soon. But the experiments that [Sean] has been doing with it are certainly interesting, and show just how far autonomous rover technology has progressed at the hobbyist level. Whether you need to move some sushi or a sensor package, his build is a great starting point for anyone interested in DIY robotic ground vehicles.
Especially if you want to take things off the beaten path once and awhile. By combining the Pixhawk autopilot system with an off-road RC truck by Traxxas, [Sean] has created a delivery bot that’s not afraid of a little mud. Or even the occasional jump, should the need arise. Just don’t expect your shrimp cocktail and champagne to arrive in one piece after they’ve been given the Dukes of Hazzard treatment.
In the video after the break [Sean] goes over some of the lessons learned on this build, including how he managed to keep the electronics from cooking themselves in the Texas heat. He also goes over the realities of building an autonomous driving system that doesn’t actually have a camera onboard; sure you can plan a route for it in advance, but all bets are off if an unexpected obstacle blocks the path. It’s a pretty serious shortcoming he’s looking to address in the future, as well as upgrading to a far more accurate RTK-GPS receiver.
[Rick], an Adafruit learning system contributor, is excited by the implications of STEM’s reach into K-12 education. He was inspired to design Red Rover, a low-cost robot that can be easily replicated by anyone with access to a 3-D printer.
This adorable autonomous rover is based on the adafruit Trinket microcontroller, but will also rove under the power of an Arduino micro. It really is quite simple—the Trinket drives two continuous rotation micro servos and pretty much any flavor of rangefinder you like. [Rick] tested it with Parallax PING))), Maxbotix, and Grove sensors, and they all worked just fine.
What’s truly awesome about Red Rover are the track treads. [Rick] initially experimented with flexible filament. While he had good results, it was not a cost-effective solution. What you see in the picture and the short video after the break are actually rubber bracelets from Oriental Trading.