“Catch me if you can!” — How Alvik learns to dodge trouble with AI, featuring Roni Bandini
Have you ever discovered a cool piece of tech buried in your drawer and thought, “This could make for an awesome project”? That’s exactly what happened to Roni Bandini, maker, writer, electronics artist – and Arduino Alvik Star!
Bandini began coding at 10 years old, and has always found automatons and robots fascinating. About Alvik, he has said, “I really like this little robot—the elegance of its concept and design. As soon as I encountered it, I dove into several projects aimed at expanding its default capabilities.”
One of those projects in particular caught our attention, and we are excited to share it with you.
Getting the building blocks ready
After stumbling upon a tiny Seeed Studio XIAO ESP32S3 with an OV2640 camera sensor, Bandini saw its potential right away. It was the perfect tool to upgrade Arduino’s Alvik robot with computer vision. His mission? To teach Alvik to evade law enforcement officials – or at least a LEGO® police figure!
Since both the Alvik main board and the XIAO cam board use ESP32, Bandini used ESPNow – a fast communication protocol – to connect the camera with the robot. He then 3D-printed two support bars and attached them with a pair of M3 screws.
Learning to react fast!
But before the epic police chase could begin, Alvik needed some training. Bandini took pictures of the LEGO® police figure and a ball and uploaded them to Edge Impulse. He then exported the trained model as an Arduino library using the EON compiler, before importing the zip file into the Arduino IDE.
Once everything was set up and the MicroPython script created, Alvik was ready to roll. As it moved forward, the robot took pictures and processed them through a machine learning (ML) model. If it detected the police figure, Alvik would turn around and flash a red light. In other words, it was time to make a quick getaway!
For more details on this exciting project, including a link to a YouTube demo, visit Bandini’s blog post here.
Making it useful
However, the action doesn’t stop there. Although Alvik can drive autonomously, Bandini has also adapted a remote control from the 1980s to give himself even more control. How? By writing C++ routines that translate the remote’s coordinates into commands. These commands are then sent via ESPNow to the MAC address of the ESP32 in Alvik, where they trigger functions to move the robot.
Inspired by an old-school advertisement for the Omnibot 2000 robot, Bandini has even taught Alvik to bring him a glass of whiskey! While we don’t recommend this for anyone under the legal drinking age, there’s no reason why you can’t substitute it for your favorite refreshments!
New to robotics? Explore the Arduino Alvik page to learn more or head straight to the store to start your own adventure today!