Flaming bots and NERF shooters: Pi Wars brings together best Raspberry Pi robotics teams in the world
The Raspberry Pi community has always been blessed with a great selection of events, but the recent pandemic saw a downturn in the number of in person events. It’s a downturn that has yet to be reversed, but with events like Pi Wars, the community are trying our best to nourish the minds of an eager community. Pi Wars is leading the charge. Now in its tenth year, Pi Wars has become the place for robot teams. Many traveling from across the globe to be at the University of Cambridge’s Computer Laboratory. I traveled across the UK to spend the weekend in Cambridge, with 58 teams of robot engineers to learn how and why they made their robots, and of course I had to pop-in to the Raspberry Pi Store for some supplies.
The last in-person Pi Wars was way back in 2019. A pandemic saw the event go online between 2020 and 2022. In 2023 the team took a year off due to other priorities As I walked around the venue I spoke to makers and the need for in person events was a recurring theme. I spoke to two makers who said that they missed the in-person events and that they felt isolated despite the plethora of communication options that we have at our disposal. You can’t beat a good face to face meeting to solve a problem or to inspire a soul. Pi Wars returned as an in person event on April 20 and 21, 2024 and it was heartwarming to see all of the makers and their amazing projects.
I saw so many cool robots that weekend. From superbly simple robots based on off-the-shelf kits, to high tech creations that would make Johnny 5’s circuits green with envy. First of all, from the younger makers we have TechnoFire. A genius creation that caused many of the judges and staff to do a double take, and reach for the fire extinguisher.
Scarab, from team SimTek is a glorious sight to behold. The orange and white robot can handle any terrain, yet it moves with grace on the minesweeper course.
Lastly we have Brian², and this prompts me to ask the question “How do the two Brian’s make a robot >this< good?” Great code, modular parts and an attention to detail matched by very few.
Pi Wars is the creation of Michael “Mike” Horne and Tim Richardson who also run Cambridge Raspberry Jam, another event that also made a recent return. Horne and Richardson have in recent years recruited David Booth to be part of the organizing team. Booth had taken part in previous Pi Wars and was keen to help.
There are seven courses which entrants took part in. Some can be tackled autonomously or via remote control, others can only be done via remote control. Lava Palava, the line following course is the only course to be mandatory autonomous as it relies on clever coding and sensors to navigate a course.
- Eco-Disaster – Sort the barrels of toxic waste! (Autonomous or remote control)
- Escape Route – Navigate the blind maze to find your way out! (Autonomous or remote control)
- Minesweeper – Find and defuse the bombs! (Autonomous or remote control)
- The Zombie Apocalypse – Shoot the undead! (Autonomous or remote control)
- Pi Noon – Defend your balloon from an explosive end! (Remote Control only)
- The Temple of Doom – Go on an adventure and tackle the obstacles in your way! (Remote Control only)
- Lava Palava – Escape the volcanic eruption! (Autonomous only)
This is the only combat at #piwars Micro Pi Noon. Defeat your competitor by popping their balloons. @tomshardware pic.twitter.com/ScE1iJLH7MApril 20, 2024
Despite its name, Pi Wars is a non-violent competition. There will be no gory gladiatorial combat that sees robot parts strewn across an arena (although a few robots did accidentally lose a wheel). Instead there are challenges designed to push robots to their limits. Should your robot need a pit-stop, then back in the “pits” (large rooms where teams work) you go. There is a spirit of community, support and encouragement. There are no grudges held, all of the teams compete in the spirit of fun and enthusiasm. If a team needed to borrow some equipment, then offers of help were plentiful. I spotted a hot glue gun being passed around teams, it became the saving piece of technology that weekend.
I arrived at the venue ahead of the official opening time and encountered a building that was alive with the sounds of people and robots. Long known friends welcome each other, and new friendships were formed over the weekend. So let’s see who I bumped into over these two days.
Saturday: Younger Makers
Day one of PiWars 2024 at the William Gates Building (yes THAT Bill Gates), Cambridge was all about younger teams of roboteers competing in non-violent challenges to see how their robot fares against teams from around the world. Day two is the same again, but this time it is the chance for adult makers to show off their creations.
Learning robotics is a great way to introduce key life skills. The obvious skills are coding and electronics. But have you thought about the other skills?
- Mechatronics, the intersection of mechanical, electrical and software engineering is the first that springs to my mind. The mechanical part of the process is the creation of chassis and apparatus for a robot. Robots need to be designed for a purpose or environment. Take for example a robot that is destined to explore a planet or moon, it will need to be light, but strong. It may need tracks or multiple wheels to navigate the harsh terrain. Now think of a robot that searches the depths of the sea, what will that need to survive the massive pressure of an ocean? Evidence of how important this aspect of mechatronics is came from John Chinner from Airbus. His stand highlighted the varying robot designs used to explore our solar system.
- Resilience. Failure is a part of life, but do we give up when we hit a problem? We can, but then we would never grow or learn. Failure, or to be specific, FAIL, First Attempt In Learning is something that was instilled in me by former Raspberry Pi Foundation Learning Director Carrie Anne Philbin MBE. She taught me that FAILing was a key skill for learners. We fail, understand why we failed, change our approach, and then re-try.
- Team-building. A good team can bring anything to life. We each have our skills and when we bring them to the project, we can learn from each other. Sharing skills, and understanding when we don’t have the right skills, is a key part of learning. Others can help us to learn, we can help others. A good team knows its strengths and weaknesses.
Younger roboteers, working with their peers, mentors and family have created an exhilarating array of robots. Some are simple while others have a dizzying array of features. What they all share is a passion for robotics and learning, and with that said, I went into the pits and talked to the teams.
Team Calderdale
I spoke to Calderdale College T-Level students and their robot dubbed “Saminator 2000”. This was their first Pi Wars. These students were 17-18 years of age and were “learning while earning” as part of a transitional course. Of the four team members, two were network engineers, and the remaining two were software engineers. They were not traditional robot makers, but they used their skills to build a robot platform that had elements of a tank and a broken Raspberry Pi 3A+ for decoration.
The robot had a Raspberry Pi camera streaming live video to a VR headset but this element of the project was soon to meet its match. They took part in all of the courses, but “The Temple of Doom” proved a little too much for their robot. While trying to navigate the “rocks” (foam blocks), their camera was shaken off the chassis, and lost in the rocks. The team had to rely on their own eyes and judgment to complete the punishing course.
Back in the pits, the team set to work on repairing their robot. I caught up with them and asked about their robot and the problems they faced. During the conversation it was clear that they had their own FAIL moment. They realized that their design needed a tweak to create a fixed and firm position for the camera to be mounted. The team also spotted a problem with the tracks used to move their robot, a few minutes with a screwdriver was all they needed to get back to the challenges.
Team Calderdale came 12th in the novice category.
Mechanic Masters
I moved through the pits and spotted a fire truck, with a large NERF gun attached to its top. This team, Mechanic Masters, had an exceptionally fun and challenging robot called Picar-X. Robots have to take part in multiple events, and so they devised a modular system that could be quickly changed out. The NERF gun was indeed salvaged from an electronic NERF gun, which required more power than the Raspberry Pi’s GPIO was capable of. The team knew this and so used a buck converter to drop the voltage for the Pi, while keeping it higher for the NERF gun motor. They also used a diode to prevent any feedback from the motor causing damage to the Pi, clever!
The team learnt to use a laser cutter and 3D printers and the corresponding software (Fusion 360) in order to make the chassis. Their design skills also extend to designing a rail system for quick battery insertion.
Their electronics knowledge was tested as they needed to supply a higher voltage to the NERF gun, but had only one power supply that also had to serve the motors and the Raspberry Pi. The team understood how to use a buck converter for a 12V supply to all of the devices. The also included a diode to reduce the risk of any voltages causing damage to components. All of the code is written in Python and controlled via a PS4 controller using Bluetooth.
Mechanic Master achieved eighth place in the novice category.
Graveney Robotics Club – Reactor and TechnoFire
Reactor is a robot that pushes 3D printed “nuclear rods” in a chassis. But it is also a traditional robot using one of Neil Lambeth’s “RED” robotics boards. I’ve reviewed one of Lambeth’s Pico based products, Pico 2 Pi back in 2021.
Team leader for Graveney Robotics Club is Neil Lambeth. Lambeth is well known in the robotics world. His range of Red Robotics boards is well known and has been well used in past and present Pi Wars events. I’ve used Lambeth’s Pico 2 Pi adapter boards to tinker with Raspberry Pi HATs on our Raspberry Pi Picos.
Both of the teams did exceptionally well at Pi Wars. The Graveney School Robotics team, which made up the two teams, placed first and second in the young teams experienced category. Reactor achieved first place in the artistic merit category for its unusual “gimmick” (a word that belies how impressive it is) a 3D printed “Nuclear Reactor” which attaches to its back.
A Raspberry Pi is the brains of the robot, but the nuclear reactor rods are controlled using a micro:bit. Lambeth confirmed that the micro:bit’s 5 x 5 LED matrix is being used to scroll text, images across the LEDs. Using light sensors the micro:bit’s text animation is scrolled across the matrix, read by the light sensors and that triggers the corresponding rod to move using solenoids. The sequence is triggered remotely using another micro:bit and a built-in radio connection. Very clever! The big issue for the reactor is the weight of the solenoids meant that the robot was unable to use it in any challenges. But thanks to its modular nature, it was easily removed.
Lambeth did have an idea to use the Reactor in Pi Noon (a “fight” involving balloons and pins where robots try to pop each other’s balloons). “Because you had the fuel rods pumping up and down, you could control the speed of the fuel rods or the amount that came up in one go. And the idea was that, to start the competition, there’d only be a few popping up and down because the reactor was not ready to explode yet. And as it gets to the last bit, the thing [rods] are moving faster to signal an explosionIt would have been a big hindrance to the robot because it would have added so much weight, and it would have been hard to control.”
Reactor was coded in Python, with the micro:bit handling all of the code for the rods. The Raspberry Pi handles all of the typical robot control elements. Lambeth cleverly introduces electronics and programming using the micro:bit and “bit:bots”, chiefly for its ease of programming. They can run MicroPython via a web interface, or using the Mu editor and work well with the locked down computers found in schools. Because MicroPython and Python share a similar syntax, children can easily move on to the Raspberry Pi.
This robot is on fire… OK it’s fans blowing paper, coloured with RGB LEDs. #piwars @tomshardware pic.twitter.com/OAWsH7P7kXApril 20, 2024
TechnoFire is the team’s other robot. It’s a six-wheeled 3D printed robot powered by the Raspberry Pi and just like Katniss Everdeen from The Hunger Games, this girl is on fire. As Lambeth explains “This was done in 2020 with a completely different team to today, because those kids have moved on. But they knew the theme of Pi Wars was “disaster zone” and I said ‘so what do you want to do?’ I think one of them said can we make it on fire? You can’t set it on fire but how about we do the next best thing? And I bought a cheap lamp that had the sort of silk shapes of a flame with a light and fan underneath.” Lambeth continues to explain how the original fan wasn’t up to the task, so he “had to” buy some higher power fans to make a convincing flame effect.
This robot is on fire… OK it’s fans blowing paper, coloured with RGB LEDs. #piwars @tomshardware pic.twitter.com/OAWsH7P7kXApril 20, 2024
How realistic is the flame effect? It fooled two makers, one remarking that they had to do a “double take”, the other was on-site and reached for a fire extinguisher.
TechnoFire is powered by a Raspberry Pi and the RedBoard+, one of Lambeth’s creations that was made to scratch an itch, his own Pi Wars entry. The board has two high power motor drivers and GPIO pins broken out for sensors using the SVG (Signal, Voltage, Ground) configuration. Lambeth explains that this is a board for those that just want to get working. “Everything is working straight away and there’s a whole library that goes with it. Then you don’t have to worry so much about how it’s all working at a low level. Users can get things, plug them in, use the example code and they’ve got stuff working in no time.
TechnoFire was coded in pure Python. One member of the team, Eli, created a claw grabber for the Eco-Disaster challenge. They then went on to write the code that would control the grabber so that it could pick up a 3D printed barrel of toxic waste.
Graveney School Robotics teams Reactor and TechnoFire came second and third in the younger teams technical merit. Reactor came first in the younger teams novice category, and TechnoFire came second in the same category.
I move on to talk about Lambeth’s other projects and naturally we talk about his Pico 2 Pi adapter board. I asked Lambeth, “Why did he create this board?” to which he replied, “Because they [Raspberry Pi] changed the pinout and everyone had got so used to that pinout. I still wanted to use that pinout…I then re-configured the software library to work with the Pico.”
When the Pico 2 Pi was released, way back in 2021, I reviewed some pre-release units and remarked on how easy to use and cheap the adapter was. The only two hindrances being that the header pins were too short for use with a removable Pico, and that you really needed the accompanying reference card. Other than that, it provided excellent access to a plethora of the best Raspberry Pi HATs. There are versions with an embedded Raspberry Pi Pico, surface mount soldered to the adapter. I’d go for the removable header option, which means the board can be swapped for a Raspberry Pi Pico, Pico W or any other board that shares the same pinout.
The Mad Hatters
This two part robot was created by two year 10 students (ages 13-14) with a love for STEM (Science Technology, Engineering and Mathematics). The tread based robot is 3D printed, and that includes the exceptionally intricate tracks (which sadly kept falling off, luckily hot glue can solve any problem).
Inside both parts of the build are a Raspberry Pi and interestingly an ESP01, essentially a barebones ESP8266. The ESP01 is used for Wi-Fi communication between the two parts of the build. The 3D printed robot is exceptionally well made, and the last minute hack of a paper shell to hold everything in place is inspired, if flammable. The motors are controlled using an L298D motor controller, the big red motor controller. These cheap motor controllers get the job done!
Instead of opting to use a PlayStation controller via Bluetooth, the team are using a custom made arcade controller, yes the same type of controls as used in Pimoroni’s Picade, as their input. While bulky, this controller was awesome. Made from hand cut wood, and held in place with wood screws, this controller shows what can be done with old parts.
I encountered the team as they took on the Zombie challenge, and this is where the tracks came off their robot. Despite three valiant attempts to fix, and scoring points against the zombie horde, the team ran out of time and had to go back to the pits and work on some running repairs.
The team has an impressive background of technology, but there is one skill that was paramount to them being at Pi Wars, admin! In the run up to the event, teams are tasked with providing updates and blogs of their progress, without that, no team would be here today.
The Mad Hatters placed 18th at Pi Wars.
Pi Wars Young Team Results
# | Novices | Experienced |
---|---|---|
1 | Magdalen College School | TechnoFire |
2 | MissionMaster | Reactor |
3 | CERC | HisarCS |
4 | Wemms Roboteers | Turing Incomplete |
5 | Destruction | Felsted Robotics |
6 | Davenant | Terror-Byte |
7 | Fsh-Tank | Row 6 – Cell 2 |
8 | Mechanic Masters | Row 7 – Cell 2 |
9 | Cmunchmaddness | Row 8 – Cell 2 |
10 | The Young Pi-oneers | Row 9 – Cell 2 |
11 | KGGS | Row 10 – Cell 2 |
12 | Team Calderdale | Row 11 – Cell 2 |
13 | The Strawberry PIs | Row 12 – Cell 2 |
14 | Dr Challoners Grammar school | Row 13 – Cell 2 |
15 | HomoSapiens | Row 14 – Cell 2 |
16 | LEAD | Row 15 – Cell 2 |
17 | A2M2 | Row 16 – Cell 2 |
18 | The Mad Hatters | Row 17 – Cell 2 |
19 | Corona Schools (Alpha) | Row 18 – Cell 2 |
20 | Devastation | Row 19 – Cell 2 |
21 | Corona Schools (Beta) | Row 20 – Cell 2 |
22 | King’s Crack | Row 21 – Cell 2 |
23 | Code Ninjas Cambridge | Row 22 – Cell 2 |
Sunday: Adult Makers
This is the only combat at #piwars Micro Pi Noon. Defeat your competitor by popping their balloons. @tomshardware pic.twitter.com/ScE1iJLH7MApril 20, 2024
It’s Sunday, day two of Pi Wars, but there won’t be anybody enjoying a lazy sunday. Teams were there before I arrived, at the official opening time! The teams were busy tinkering with their robots in the same pits as used by the younger makers the previous day.
I walked around the challenges and spotted a few robots that caught my eye, and by luck (or perhaps a keen eye) I managed to get time with many of the top ranking teams. So let’s get started with day two and learn about SimTek!
SimTek
Jacob Sims is an engineer and his robot is called Scarab. Along with his girlfriend Ankita Bhojwani, they form team SimTek. This robot is a version two of a final year project for the recent graduate of mechanical engineering. The Scarab is an orange and white behemoth that could be just as at home in a quarry as it is on the Pi Wars courses. Sims elaborates on the design. “It’s very off-road. It was built originally for my final year project at university for another robotics competition. That one was at Airbus and was very much Mars Rover based, so fully off-road. Obviously this doesn’t need quite the same level of off-road, but the suspension was there, so I thought why not use it again? Because it does look very good.”
Sims isn’t kidding about the suspension. Scarab has front and rear suspension, enough to take the bounce out of the harshest terrain. At the front and rear of the vehicle are HC-SR04 ultrasonic sensors, used to measure distances, Sims plans to add additional HC-SR04 to the left and right sides of Scarab. At the rear of the robot is a large battery bay, Sims is using an over-spec battery as his power source “it’s what I had”, says Sims,
and it gives the robot plenty of chunk at the rear.
At the heart of the 3D printed chassis is a Raspberry Pi Zero 2W — which seems to be the sweet spot for computing power and versus size. Sims elected to not use the camera in Pi Wars, saying that “The issue I think it runs into slightly is when I connect a camera to it, which I’m not doing for this competition, but I’ve seen less latency, I think, with more powerful Raspberry Pis encoding and sending video.”
Another sensor is positioned above Scarab. This is a compass sensor (likely an IMU, Inertial Measurement Unit). Sims explains. “Yes, so that is the compass sensor, because I’ve not got any encoders on the wheels, or particularly reliable steering dynamics. So I’ve got no way of knowing the orientation of the rover, and there’s a challenge that comes up later where it has to make a series of 90 degree turns. So compass, but also it’s raised up because it was picking up loads of EMF (Electromagnetic Fields) noise off the motors and Raspberry Pi.”
The chassis is 3D printed and Sims knowledge of mechanical engineering shines through this project. The 3D printing was done with plenty of time before Pi Wars began, but Sims reveals that the Raspberry Pi part of the project was left until much later, a mere two weeks before the event.
I asked Sims what was the biggest challenge that he faced while building the robot, and it boils down to the motor mounts. For the rear motors, which are part of an angled suspension system, a timing belt is used to send motor power down the suspension arm. Sims explains “the biggest issue has been the fact that the timing belts don’t transmit the maximum torque of the motors, so the driving belts will slip. And so I’ve been back and forth. To begin with it was timing belts then I tried to fit it with a bike chain, and that also had issues. I went back to timing belts. So that’s been the biggest challenge has been a couple of major redesigns on the transmission system.”
With its sensors and powerful Raspberry Pi Zero 2 W, Scarab also has a human control element. A Bluetooth PlayStation controller is used to manually drive the robot for certain courses. I spotted Scarab during its Minesweeper run (the driver has to react to colored lights on a grid, driving towards them to progress to the next square) and saw that it demolished the current course time and moved around the challenge like a gazelle. Belying its bulky frame.
I asked Sims if he had taken inspiration from any other team robots? “I’ve not had much time to look around at the robots.” says Sims “A lot of people are using the mecanum wheels. And I wish I had those, because, when going off-road, when it comes to turn, it neutral turns on the spot (with mecanum wheels), and there’s crazy amounts of resistance on the tires used for Scarab.” During the interview, Sims shows just how much friction there is, and I can confirm that the tires stick to the road like glue. Great for stability, but difficult for speed. In the Pi Wars rule book it does state that teams can change their tires to match the course, so Sims may look to that in 2025.
Sims and Bhojwani’s SimTek team came second in the Intermediate category, an excellent achievement for their first entry.
Brian²
Brian Starkey (Brian Software) and Brian Corteil (Brian Hardware) form team Brian² and their robot is called Scorpion which according to Corteil is because “We have this arm that goes on the top and it kind of looks like a scorpion”. The robot is clearly a testament to Coretil’s years of maker projects. The chassis is made from laser cut material but there are elements which have been 3D printed on a Bambu X1 Carbon. Initially, Corteil was not a big fan of 3D printed components, but the Bambu X1 Carbon soon changed his mind. These elements are attachments for the various challenges faced by the teams.
Scorpion may have a sting in its tail, but its heart is all Raspberry Pi, specifically the Raspberry Pi Zero 2 W, a board that provides similar processing power to the Raspberry Pi 3B. Corteil explains the choice. “We chose that (Pi Zero 2 W) because it’s got better computing power and we’re really restricted on space. Roughly, the robot sits on a footprint of about an A6 piece of paper (4 x 6 inches).”
Video of one of the Brian² #PiWars Escape Route runs 😀 pic.twitter.com/53rRjc2zVEApril 24, 2024
Getting the robot to fit into a small footprint requires the use of a custom PCB, and it means that sensors and chips can be directly integrated into the board. Sandwiched between the PCB and the Raspberry Pi Zero 2 W is an IMU (Inertial Measurement Unit) used to manage the direction of the robot. The PCB also includes a hardware based battery monitor which Starkey explains “We can’t, in theory, over discharge the batteries. I think it’s quite important to not have any software in that loop. Because you can damage the batteries if they get too low. And then when you charge them again, they can short and catch fire. So, we have a completely passive, like, low power cut. So, if they get too low, they shut off.”
The power system can be tweaked using a series of trim pots (potentiometers) that are soldered to the PCB. Starkey is the software side of the project, and to hear this admission is a refreshing change from the norm where we over-engineer code solutions to fix a problem. The power system has three voltages, used for different parts of the robot. The motors will require more power than the Pi and sensors .
The PCB has outputs for the user to clearly see system details. An OLED display shows the IP address, LEDs show the “heartbeat” of the system. The LED side of things is thanks to a Linux device tree overlay, meaning that this is operating at the kernel level and reporting in real time.
Corteil has also integrated Qwiic (Stemma QT / MakerPort / Qwst) connectors onto the PCB, but to his own admission are using “cursed leads” because he messed up the pinout (we’ve all been there). At the front of the robot is a Time of flight sensor, essentially a low-resolution camera with an 8 x 8 pixel resolution. It is used as a distance sensor, exceptionally accurate and fast!
The two Brian’s have omitted a “critical” part of their design until now, a barrel. When the claw arm is snapped into position, the weight of the robot becomes unbalanced, and so this barrel containing extra electronics is used to counterbalance the displaced weight of the robot. The idea for this comes from a dark time in UK history. As Coreteil explains. “The general look and the feel that we want to make it look like an old fashioned bomb disposal robot. Yeah. Remember the ones that we used to see in the 70s and 80s in Northern Ireland? They (bomb disposal robots) used high pressure water for disarming the bombs.”
There was a time when Northern Ireland and the British Isles would see many terrorist incidents. Robots were deployed to disarm bombs, and they had a barrel of water on the back section. This water was used in high pressure cutting tools to open bombs for defusing. In Brian² I can see electronics for controlling the NERF gun (called The Banshee due to its shriek as it primes for firing) and for the many serial servos which provide positional feedback to the control system, and can be “daisy-chained” in a run for a neater wiring solution.
Good hardware is only half the battle; good software is needed to control the robot and this is where Starkey’s expertise comes into play. Python was used and Starkey explains the situation. “It’s all Python. In the past not being my language of choice, I guess it would be Brian’s (Corteil) language of choice. When we started on this I just shifted roles at work and was going to be doing a lot more Python so I thought well, might as well. So yeah, we’ve got MicroPython running on the Pimoroni’s Motor 2040 (An RP2040 based motor control board). It’s not doing a lot. It’s waiting for commands from the Raspberry Pi and it’s got PID control for all of the motors. So I just tell it what speed I want the motors to do and it takes care of it. Our computer vision also uses Python.”
One of our #PiWars Lava Palava runs, another fine example of Brian’s aka @usedbytes programming. pic.twitter.com/Irr9yZo0XXApril 21, 2024
Starkey later explains that NumPy (a Python module for working with arrays) was used to speed up computations, but OpenCV is not used in the project. Multi-process code was created from Starkey’s earlier multi-threaded code (necessary due to how Python only allows one thread to control the Python interpreter at a time) which saw overall CPU utilization hit 60% for all four cores. Starkey explains that this wasn’t the biggest software challenge that he faced. The arm, used to pick up barrels in the “Eco-Disaster” course has its own challenges. “From a technical standpoint, the arm is quite challenging. For the last competition I built a robot called M0o+ which was running entirely on the Raspberry Pi Pico. So the challenge there was I didn’t have an operating system but as part of that, it had a much simpler robotic arm that was more like a telehandler, like a long reach forklift.”
So how does this impact Scorpion? Well it all boils down to math, as Starkey explains. “So M0o+ had one joint that slides in and out and another that lifts up and down. And so for that, I learned all about the inverse kinematics math you need to control a kind of robot arm. So if I tell it I want the end to be 20 centimeters above the table, it knows what it needs to do. So taking that math and transplanting it to this arm was a bit of a challenge but it all just kind of scales. You tell it how long each joint is on the arm and that kind of thing. And that works, but what it doesn’t know is anything about crashing into itself or crashing into the robot. And adding that is like a whole extra level of complexity. So if you’ve only got one joint, it’s quite easy to add just angle limits. You know if you go below a certain angle, you’re going to crash. But once you’ve got three joints, it depends on that angle’s role with the other joints.”
Despite all of this work, Starkey has yet to solve the issue of arm crashes, instead “it always takes a safe route which was a hard-learned lesson after it kept crashing and breaking itself. So yeah, that’s been a challenge.” confirms Starkey.
Is Python the only / best choice for writing robot control software? Would the team consider using another programming language? Starkey seems to think that a hybrid approach is the best option after using both Python and C in a previous robot, Minnie Mouse. The steppers needed microsecond precision pulses in order to operate and so Starkey wrote a C program, along with some logic written in Go, to do just that.
For future projects, Starkey would write the firmware for the motor controller, a Pimoroni Motor 2040 in C, and the high level control code in Python. Starkey also remarks “Maybe some of the lower level bits in Rust or something to be trendy. But yeah, we’ll see. I think we’re both quite happy with the chassis. I think there’s a few things about the circuit board we’d like to change.”
Even the best team will spot new ideas for a future robot, and I asked the team if they have seen any cool ideas that they will borrow for the future? The team talked about theming their robot around the “Disaster Zone” brief, and while they did a great job, that didn’t push it as far as they could. For reference they use TechnoFire, a robot that has an animated fire effect using fans, paper and RGB LEDs. This robot screamed “disaster” as it drove flames around the arena.
Brian² came first in the advanced competition, an amazing achievement for an exceptional team of makers.
CNM Hackerspace
CNM (Central New Mexico Community College) Hackerspace members Asia Gonzalez, Kerry Bruce, Jason Stevens, Erin Bridger, Quinn Nash, Thomas Garner and Bethany Rivera have traveled all the way from Albuquerque, New Mexico to be at Pi Wars 2024 and it’s all because of one person. I ask who?
The room points to Kerry Bruce, “Kerry [Bruce] definitely had us as a team and got everything rolling by making sure we were all aware of what we had to do for all this. But I feel like it was really a big effort with all of us to make sure it happened. We’ve done so much fundraising to get here. It took all of us working together to do it for sure. But I think the experience of all of us getting to come to the UK was a huge part of it. And then also to show off that we can hang with the big room.” Bruce has been to Pi Wars with many other teams before. The group tells me that Bruce uses Pi Wars as a selling point to gain interest for his robotics classes.
Bruce is a member of the faculty at CNM a community college (Non US readers: community college is the first two years of university) where he teaches Compute Information Systems, Bruce also teaches an Internet of Things (IoT) class based around the Raspberry Pi, starting way back in 2015 when the Raspberry Pi 2 was released.
Bruce explains his reasoning behind using the Raspberry Pi in his classroom. “It’s just a natural progression because robotics is fun. And we have now started an AI ML (Artificial Intelligence / Machine Learning) program at our school. So we use robotics as one of the platforms to teach that. The idea of traveling as a group and the whole idea of working as a team, working on a schedule, working against deadlines, solving problems. Those are all traits that employers are looking for. So from an education, an educator standpoint, trying to give my students as real world experiences as they could possibly get. It doesn’t get any more real than building a robot and actually having it complete challenges against other teams. So it’s a really good way to simulate what they’re going to be up against when they get out into the world.”
The team’s robot resembles a minivan, a heavily-armed minivan that has a retro-fitted NERF gun attached to the roof. I spotted the team taking on The Zombie Apocalypse challenge, they were controlling the robot using a PlayStation controller (using our how to). Inside the four-wheeled robot is a Raspberry Pi 4. Jason Stevens explains what components make up the robot. “So it’s got a Raspberry Pi 4 as the heart of it and then on top of that we use a Red Robotics board hat to control the robotics. We got four DC motors, one for each wheel. We’ve got some servos that we use the Red Robotics board to control also. Chassis is made out of 1515 extruded aluminum and then I also 3D printed a whole bunch of parts. All the black stuff is 3D printed plastic that I designed and printed.”
Aluminum extrusion seems to be the goto material for robots in the intermediate and advanced categories. I asked Stevens if there were any challenges in using aluminum extrusion with a 3D printed part. “It made things so much easier because I could build the chassis and then I had pretty much an infinite amount of places to put stuff. Whereas with a laser cut or a fully 3D printed chassis, you’re stuck with whatever features you build into it, right? Whereas this I just, I have grooves all over the place where I want so it saved me a couple times,” he said.
Quinn Nash then goes on to explain in detail about the system used to lock components into place “ Yeah, [the team crowd around the robot and point out details to me] like you can see here we have these nuts locking these in place to screw on the arms that we used for the barrel challenge [Eco-Disaster] and you can just hot swap them like quickly put it on screw it in take it off.” The team then took me for a tour of their robot, explaining where a camera mount is located, and an unused mount for ultrasonic sensors.
Talk moves back to how 3D printing and aluminum parts are used. Of particular interest is how the NERF gun is aimed. It turns out that the team has integrated a laser pointer for precision aiming. This explains why the team were sat at a 90 degree angle to the robot when running the Zombie Apocalypse course. The “problem” with NERF guns is that they need more power than the Pi can supply, so how did CNM Hackerspace overcome this? Jason Stevens explains.
“One of the nice things about the Red Robotics board is it has its own power circuit so the battery provides 17 Volts and that drives our motors, but then also there’s a different rail there’s a voltage divider on there that gives us power for the servos and it’s a higher current circuit used to power the NERF gun. So when you plug it in there’s not really any way to turn on and off you just plug the motor in and it spins the whole time yeah but then we have like a 2 Amp 5 Volt circuit as opposed to the 100 Milliamp 5 Volt circuit from the Raspberry Pi. So that’s how we were able to launch NERF darts” Bruce adds. “So we sped up the launcher the entire time, and then we used the [PlayStation] controller to actually ram a dart into the shield.” Bridger adds a word of caution, “I would have to be really careful with that, because if we left the motor going for too long it’d burn out.”
Like many of the Pi Wars robots, they are coded in Python. It seems that Python, MicroPython and CircuitPython are the languages of choice for robotics at this level. Both Quinn and Rivera extolled the virtues of Python. With Quinn saying “Anytime you do automation it’s better to be simple and consistent.” Rivera points out that there were some problems with introducing “exterior factors” into the project. “I will say it was exterior factors that were implemented into the code so like possible crashing of the cameras the friction if you saw our line running you had it just for that it was more working with variables.”
Quinn furthers Rivera’s comment “We did have one big scare where we did an update and it crashed our Bluetooth so we had to change OS systems and that happened like two months ago.”
Time marches onwards, and the team has just 15 minutes before their next challenge, so I end with the classic question “What has been the hardest part of this project?” The group answers almost in unison “Deadlines, money, getting started and red tape.” Rivera adds that Raspberry Pi OS was an issue for the team, with four or five reinstalls needed to get to where the team were on the day.
Gonzalez quantifies the issue of time. “We had to switch over two months ago [new OS install]. We’ve only known that we were coming six months ago. I think we submitted the application, but as far as actively working and getting the approvals [to come to the UK] and everything we’ve had since January this year.” Bridger further explains the red tape situation. “Yeah it was rough, especially all the red tape with us going as a school group instead of just a bunch of friends” Gonzalez adds to Bridger’s answer “And then having so little time to get through all of that. We were doing stuff the day that we left in order to get everything good for us to actually come.”
The team ends on a happy note, explaining that the night before, they were all coding and improving their robot in the hotel room, changing the code after seeing the courses for the first time.
CNM Hackerspace left to take on their next challenge and it seems that they did exceptionally well. In the overall placings for Intermediate teams, CNM Hackerspace achieved first place, a remarkable feat for a fresh team, lead by the experienced Kerry Bruce.
CNM Hackerspace came first in the intermediate competition, an impressive result for a new team, ably led by Bruce.
Dutch Rescue Team
Dutch Rescue Team is not just a clever name. The team is a group of robot hobbyists from across the Netherlands and their robot is a shining example of their collective experience. The 3D-printed orange and black robot has a striking, imposing presence. I was drawn to it because it seemed to be a two-wheeled robot, the only two-wheeled robot at Pi Wars. It turns out that it has a hidden caster wheel on the underside, but even so, this is a bold robot design.
I had a few minutes to chat to the team before they went on to their next challenge. The team live across the Netherlands and meet once a month to work on their robotics projects. The extra work involved in Pi Wars 2024 added an additional five meetings over a ten month period, which means that the team had more time and resources to build what proved to be an excellent robot. The team consists of Evan, Baird and Joop and their skills range from electronics, coding to 3D printing.
The striking orange and black robot was made using a Prusa MK4 and I can easily see the great quality that his printer is famous for. The design of the robot is non-traditional, as there are only two main wheels, and the robot is rather tall. The 3D printed parts are joined using aluminum extrusion, a commonly used, lightweight and strong material. I asked how the design came about. “We started looking at all the challenges and defined a minimal viable product for each. So a minimum amount of sensors needed and things like that. And then we took them all together and roughly came up with this design. Almost every part is the third iteration of that part that is now on the robot.”
This #piwars robot from Dutch Rescue Team just completed an exceptionally fast line following run. They use OoenCV for line following. Raspberry Pi 4 powered and printed on @Prusa3D Mk4. I’ve just interviewed them for @tomshardware pic.twitter.com/KB3siOhoF7April 21, 2024
Powering the robot is the venerable Raspberry Pi 4. It may not be the flagship product anymore, but it has enough power for many robotics projects. The Raspberry Pi 4 is kept cool using an off-the-shelf aluminum active cooler that looked similar to a model that I had on our best Pi accessories page. The Pi 4 isn’t the only board in this build, as there is a custom STM32 based microcontroller used for the wheel encoders (they count the number of rotations a motor performs so a real time microcontroller is a must.)
Good hardware always needs good code and the team has planned well. “The [micro]controller is in C, and the applications for the challenges are in Python.”
Another part of the build is a custom motor control board that has power outputs for 5 and 3 Volts. The 5V being for the Raspberry Pi and 3V for GPIO and sensors that rely on 3V. I2C is also present on the board, but is not used in this build. There is an interface for flashing lights, because every robot requires flashing lights.
Sensors are sparse; there is just the official Raspberry Pi camera, and the wheel encoder. No line following sensors, ultrasonics, infrared or anything else. This proved to be quite a shock, as the team tackled the line following course “Lava Palava” at a blistering pace. It turns out that the team are using OpenCV (a computer vision module for Python) to read the line in front of the robot and use that to make minor adjustments as it runs.
The robot has an interesting magnetic latching system for connecting attachments. Anything from NERF gun attachments to claws, all use this cleverly designed magnetic latch. Best of all, it self-centers and is secure even over the rough terrain in the “Temple of Doom” obstacle course. Retaining the NERF gun attachment requires an extra two nuts to hold it in place due to the force at which it fires.
The team had to quickly run down to the Lava Palava (Line Following) challenge and set a series of blistering times with their robot. In the end, the Dutch Rescue Team managed fourth place in the advanced category. A great achievement for a lovely group of makers.
Steve Upton – Pi Wars Judge
Steve Upton (no relation to Raspberry Pi Ltd CEO Eben Upton) is a well known and highly respected member of the Raspberry Pi and maker community. I’ve met Upton on a few occasions, the first time being Liverpool Makefest where he ran a “ring the bell” strength test game, which I am sure that I aced.
Steve Upton’s role in Pi Wars is one of the most important. Judging the competitors. Along with a team of judges, Upton moves around the venue, operating the challenges and recording the official times and scores. Without people like Upton, Pi Wars would not be possible. I asked Upton “What is it like to be a Pi Wars judge?” to which he answered. “Way less stressful than being a competitor. Yeah, I’d absolutely much rather help out and facilitate other people having fun with the robots. Although I’m interested in technology, I love coding, I love playing with Raspberry Pis. You’ve seen some of the projects that I’ve done with the Raspberry Pi, having seen the stress of some of the teams, I’d far rather help by facilitating. Whether that’s getting coffee for judges, being a judge, being a helper, whatever that is. I love the excitement of the day, I love being part of the day, but I’d rather judge and facilitate than actually be in a team.”
Judges are not stuck to one event. The Pi Wars organizing team has a schedule and in depth instructions for each of the challenges. Should a judge need to take time off, any other judge can drop into a challenge. On the Saturday, Upton had judged on four different events, on the Sunday he covered the line following course (Lava Palava) and Dr David Pride’s Minesweeper challenge.
Upton explains how the team of judges are organized. “The brilliant thing is, the way it’s organized, the folders that Tim Richardson and Mike Horne put together. You get a set of instructions up front, so maybe three, four weeks beforehand, so you can read through what the rules are for the particular events you’re going to be on. You know what your schedule’s going to be for the two days. You’ve got the time to read the rules, ask the questions, and then be here for the two days. Whereas the teams again are working for six months, nine months beforehand, trying to work things out, and then a full 24-hour shift the Friday night before to actually get their robots ready.”
The judges don’t just judge. All of the judges are trained in health and safety regulations, along with safeguarding practices. These are the skills that we take for granted as delegates / spectators. We turn up and have a fabulous time without understanding how the event is being run. As an event organizer with a decade of experience, I understand and spot the work that goes into an event. The Pi Wars team makes this look effortless.
How do the judges remain so calm, even when they see things going wrong for a team? Upton explains. “Yeah. I suppose that’s practice, and it also, for me, again, comes down to knowing that I’m not as stressed as the team, so that helps me be calm on the day. At the end of the day, the team’s are here to have fun.”
If a team has issues and cannot complete a run, the judges are flexible and provide the teams with time at the end of the day to complete. The event is full of help, for younger makers and adults. Everyone is here to compete, but they share their resources and knowledge with other teams. I saw Calderdale College share a home made line following test course with other teams. They didn’t have to do that, but they did because Pi Wars is a community that helps each other.
This robot is on fire… OK it’s fans blowing paper, coloured with RGB LEDs. #piwars @tomshardware pic.twitter.com/OAWsH7P7kXApril 20, 2024
I asked Upton what his favorite robot was from Pi Wars 2024. Upton responds that he “loves the robot with the flames” which is clearly TechnoFire, a robot that turned quite a few heads that weekend. Upton continues “Absolutely brilliant. That effect! I also love the fact that the robot and the control system share a battery and then the fire effect had a completely separate battery so it didn’t interfere with the control of the robot. Because all the kids wanted to do was drive it around with the fire going and it just killed the battery.”
Upton also remarks on another robot that caught his eye, from the Creative Technology Lab team. This robot was based upon two Raspberry Pi Picos: one in a controller, the other in the robot. This simple robot uses just two wheels and a caster to move around the challenges. A plastic / cardboard box protects it from the outside world.
Pi Wars is split into two days, day one for the younger makers, day two for the adults. But both days equally share an air of curiosity, inventiveness and fun no matter the age of the team. Upton is keen to grow and nurture this aspect of the competition. “One of the things for me with the judging is facilitating this and trying to make that creative, inventive, curious side of childhood last as long as possible. I mean, there are guys my age today and some beyond, making and racing robots and also getting stressed. But we are also just as excited as the kids were yesterday. Yeah. It’s fantastic. Let’s carry that on through. If you can have that for life, if you can have that through your hobby, through your job, fantastic.
Upton is perhaps best known for his colorful attire. A waistcoat of many colors signifies Upton’s love of LEDs. Upton is working on a Raspberry Pi Pico based 32 x 32 LED matrix. In the past, Upton has made massive LED matrices for classic video games like Pacman and Space Invaders.
Upton is clearly a maker, but why is he a maker? Upton responds, “I’ve historically thought about it as a problem solving thing. So I’ve got something I want to do. More recently, home automation, but whether it’s lighting, signage or whatever, I think I get a lot from coming up with an idea of something that I want to do, a game that I want to play, some kind of interaction that I want to have with technology. For me, the technology side of it should be seamless.”
Pi Wars Sunday Results
Beginner | 1 Dan-ED |
2 Radioactive Elements | |
3 Sevillabot | |
4 The Cavemen | |
5 Gnasher Rise of the Beast | |
6 Watt-Berry | |
7 Where’s Wally? | |
8 Creative Technology Lab | |
Row 8 – Cell 1 | |
Intermediate | 1 CNM HackerSpace |
2 SimTek | |
3 Footleg Robotics | |
4 Orionrobots | |
5 RoboPi | |
6 OrangeBot | |
Row 15 – Cell 1 | |
Advanced | 1 Brian² |
2 PiDrogen | |
Row 18 – Cell 0 | 3 Firebot |
Row 19 – Cell 0 | 4 Dutch Rescue Team |
Row 20 – Cell 0 | 5 Team Dangle |
Row 21 – Cell 0 | 6 Team Cyberwar |
Row 22 – Cell 0 | 7 Vector |
Row 23 – Cell 0 | 8 ShefBots |
Row 24 – Cell 0 | 9 East Devon PIrates |
Row 25 – Cell 0 | 10 Makers Jönköping |
Row 26 – Cell 0 | 11 International Rescue |
Row 27 – Cell 0 | 12 Neave Engineering |