Sustainable Classroom Robots
What upgrading my robots taught me about designing sustainable robots for the classroom
Many of my readers know I am passionate about teaching AI concepts to both programmers and non-technical business strategists. Many of you may not know that I am the co-founder of a group called the AI Racing League. Our mission is to promote equity and innovation in AI education. We are doing this through the design and use of low-cost robots for teaching AI that is affordable even by schools with modest budgets.
This blog is a story of my work upgrading these robots and what I have learned about sustainability in the process. I think you will see my story resonates with the current trends in the Right to Repair movement. Having your STEM students do this exercise will teach them not just about AI and robots, but about how our purchasing choices impact our environment. We will define what we mean by sustainable, cover the requirements for our CoderDojo robotics system, and review an objective way to measure the sustainability of robot designs. Lastly, we will review the long-term consequences of these little robots for STEM teaching strategies in the classroom.
In the last two months, we have been slowly replacing our existing $25 Arduino Uno robot processors with the incredible new Raspberry Pi Pico. Upgrading our robots involves unplugging the old Arduino Nano microcontrollers from our solderless breadboard and plugging in the new Pico in the same location. After a bit of moving the jumpers around and uploading the Python code, we are off and running!
The new MicroPython powered Raspberry Pi Pico has a list price of just $4.00 USD and is 200x more powerful (when we measure RAM/price) than a standard Arduino Uno. It is opening up new doors to teach AI using and edge computing in our classrooms.
Why is Sustainability An Important Value Today?
In the last year, the news has been full of stories about the growing right to repair movement. The central motivation behind this is how large companies are forcing consumers to constantly upgrade their devices, from phones to tractors, with new expensive upgrades. Even little things like replacing a battery in a cell phone has become an issue for consumer advocates. Product designers were forced to design products with short-term lives to maximize short-term profits at the expense of our environment. But consumers are starting to fight back through legislation and consumer guidance on what products have a lower impact on the environment. Companies that don’t allow their products to be easily upgraded and repaired are being punished in the marketplace through lower sales and bad publicity.
Sustainability is also being introduced into the classroom as part of larger movements of teaching Systems Thinking at a younger age. Even the United Nations now has specific goals for teaching sustainability in the area of Responsible Production and Consumption. UN goal 12.5 states:
By 2030, substantially reduce waste generation through prevention, reduction, recycling and reuse.
So my question is, can we teach these sustainability goals alongside the design of our classroom robotics purchasing strategy?
Background of our CoderDojo Robot Programs
For the last seven years, I have been working with CoderDojo mentors and staff in the Minneapolis-St. Paul Twin Cities area. We have been working on designing and building small, inexpensive robots for students in coding clubs. We were also fortunate to get a few grants to build and test these robots in real-world settings.
The students in our Twin Cities CoderDojo programs are typically ages 10 to 16 and have a wide variety of interests and backgrounds. Because our core values focus on the accessibility of coding for all (girls, disadvantaged youth, etc.), creating a curriculum within guidelines of the international CoderDojo franchise environment can be demanding. We have financial constraints to maintain our equal-access-for-all-values. For example, all CoderDojo events must be free. We don’t want to be associated with expensive private clubs and exclusive programs only accessible to wealthy families.
But first, let’s start out with a story that is a good illustration of what we mean by “sustainability” in our robot design.
Sustainable Robotics: The Anki Cosmo Robot Story
In 2016 the startup Anki announced the groundbreaking Cosmo AI robot. Anki was a well-funded AI research and robotics company in the San Francisco area ($182.5M in venture funding) that had dozens of the best AI researchers building consumer-grade teaching robots. Their board included visionaries like Marc Andreessen and Danny Rimer. Even today, the Cosmo robot is considered one of the most innovative robot designs in history. It cost tens of millions of dollars to design and manufacture these robots and it is still years ahead of its time. This robot had a long list of “AI”-like features:
- With its onboard camera, it could learn and recognize faces using machine learning.
- With its microphone and speaker, it could listen for and repeat the names of students once it recognized student's faces.
- It could display a wide variety of emotions on a bright OLED display.
- It played complex games with its “smart blocks”, and it could perform basic logic and reasoning about these blocks. It had fantastic route planning algorithms built into its software.
- It had its own cell phone application that you could use to the cell phone to play games with it.
- It had built-in WiFi so the software could be continually be updated and new games and activities added.
In summary, it was truly an inspirational robot design. And still today, it is the harbinger of things to come in educational robotics.
But the design had a few flaws:
- The battery life was limited. Sometimes lasting only 20–30 minutes. It could rarely get through a one-hour class.
- The battery could not be replaced. As the battery got older its effective classroom time dropped and the robot would need to be thrown out and replaced.
- Because the robot was a closed system, DIY developers could not extend it by adding sensors, upgrading the processor, or building new applications or games.
- At a list price of $250, it was too expensive to purchase for large classrooms. It remained a niche product for wealthy families.
- Expensive cell phones or tablets were required for each robot. This made classroom use even more expensive.
If you are interested in other stories about robots, the Jibo robot story is another good lesson in a design's lack of sustainability.
In summary — because it only sold to wealthy families as a novelty, the Cosmo robot never gained traction in the DIY community or in schools. Although millions of Anki robots were sold, most classrooms could never afford to integrate them into their curriculum and very few students learned to program them or to learned the principles of computational thinking from any of these robots. They were really just expensive toys for the wealthiest 1% of the population.
Due to slow sales, in April 2019 the company declared bankruptcy, and the company was shut down. The robots needed access to the company servers to work, and when the servers shut down the robots stopped working. This ending up bricking the consumer's expensive toys. This was a painful lesson for many people that wanted to learn more about AI and coding in the classroom with robots. And today our landfills have millions of these robots in them.
The Anki shut down taught me an important lesson about why our CoderDojo robots need to be sustainable. We need to put our focus on teaching computer science and AI-first and avoid any features that would limit the uptake of our robots into classrooms and DIY communities of innovation. Open and extendible means sustainable.
Creating a Sustainability Point System
After my failed Cosmo adventure, I started to build a mental model of how to objectively measure the sustainability of our robots. Here is the Robot Systainability Point System (RSPS) that I developed to help me track a sustainability score for every robot that classrooms might consider:
- Can you easily replace or upgrade the battery without any special tools? (yes=add 2 points)
- Can you easily add new sensors? (yes=2 points)
- Can you use standard low-cost components like a solderless breadboard, breadboard jumpers wires, and DC-motors? (yes=2 points)
- Can you upgrade the CPU to take advantage of faster processors and more memory? (yes=3 points)
- Can you program it with popular open-source software and is the code posted on public code repositories like GitHub? (C/C++=1 point, Python=2 points)
- Is there a large DIY community behind the robot? For example, are there over 100 committers maintaining and enhancing the code? (yes = 1 point)
- Is there a curriculum for the robot that teaches computational thinking? (yes=1 point)
- Does the robot require you to use a central internet service to use it? (no= 1 point)
Using this point system, you can score each robot design and see how it compares to other robot designs. Now, with a clear definition of objective sustainability measures, let’s talk about our full requirements.
The CoderDojo AI Robot Design Requirements
- Diversity — We want our classes to be free so that underprivileged youth from many backgrounds can participate. We are not interested in building robots only affordable by wealthy schools. We focus on attracting girls and students from inner-city programs and we use grants to fund our programs.
- Budgets— We want our robots to be affordable for coding clubs around the world that don’t have large budgets. Ideally, our robots should cost under $25 each, but still offer great visual feedback with low-cost graphics displays. This means that some students can purchase their own parts and build their own robots.
- Python — Our students want to learn and use the Python language. After our Scratch coding club and mBots, Python is by far the most popular language in our clubs. There is a large number of kid-safe web-based tools for teaching beginning Python like the Trinket site. CoderDojo already has a large and growing curriculum around Python. We are adding more data literacy and data science material for students every month.
- Agility — We want our robots to be useful in many different settings, including our virtual online programs, our in-person classrooms, hands-on science fairs, maker fairs, after school programs, library programs, and any of our new “Coding Club in a Box” programs that integrate robots, curriculum, and the mentors and teachers that are familiar with our material.
- Open Platform Approach — We want our robots to be as open as possible. We wanted them to each have a solderless breadboard on the top that makes it easy to add new buttons, knobs, and new sensors. Many commercial robot products are “closed” and have limited extensibility. Breadboarding is an essential skill that students can use in many other maker activities.
- Sustainability — We want every part of our robot ecosystem to be fully serviceable and replaceable. Every teacher should have the right to repair their classroom robots. This means that you can quickly pop out a battery and recharge it or replace it with a new one.
This is in large contrast to some closed robot systems that are popular. For example, the Sphero is a classroom robot that is completely sealed in an unopenable plastic shell. From their own FAQ:
Because the shells are fused together, the battery cannot be replaced.
The Sphero is also about four times more expensive than our CoderDojo robots. I should note that there is no need to build robots that work underwater in our classrooms. Fused shells are not a classroom requirement.
In summary, if you want to teach your students how to fill up our planet with toxic waste from quickly discarded robots, buy a robot platform that is designed to line the pockets of the company shareholders but not create sustainable ecosystems. When their batteries wear out they just want to you buy more of their robots.
This is just bad teaching and may not represent your classroom values. I hope teachers everywhere take a Systems Thinking approach to purchasing their robots. It is only if we do this we will avoid the unintended consequences for our planet. We need to not only boycott these systems, but I hope we can all work with teachers that make these mistakes and help them find sustainable alternatives.
So with these design goals in mind, our past robot classes took three distinct forms for different audiences:
- Scratch programming with mBots — These classes used out-of-the-box $70 mBot robots that can be programmed with Scratch. These classes were perfect for students that had not yet mastered the keyboard but were still interested in robots and block programming. The mBots also integrated Arduino hardware so they could also be programmed with “C” and the standard Arduino IDE. These programs were ideal for students ages 8–12. Although you can’t swap out the microcontroller, they are modular, extensible, and have easy to replace batteries!
2. Build your own robots — We had low-cost lists of simple parts that parents could purchase and then assemble at home or in our classrooms with our mentors. We worked hard at sourcing affordable parts and documenting the assembly and programming steps. Examples of these robots were the$25 CoderDojo Base Robot and the $40 FaceBot that used the newer low-cost 2.42" OLED displays. Students from ages 10–16 created their own robots, with the younger students needing some assistance from parents or mentors in assembly and light soldering. Taking a robot home and showing your friends was a wonderful trigger for social constructionism — one of the most proven teaching methods.
3. AI Racing League — Before COVID, we were building a new program that used Raspberry Pi and Nvidia Nano single-board computers to teach AI, machine learning, and computer vision. The Nano computer has a nice design that allows the main CPU daughterboard to be swapped out and a new one inserted without throwing out the entire computer.
These robots were designed for our older students (14 and above) with strong keyboarding and Python programming skills.
One challenge had was a big gap in the interest of our Python students and the need for C programming in our Arduino robots. To do well in our advanced AI Racing League platform students need Python skills. Our students know Python, but they avoided the Arduino platform because they couldn’t use Python. With the new Raspberry Pi Pico which is programmed with Python, we can have a consistent focus on Python in all our intermediate and advanced robot programs.
More to Explore
For all my teacher and mentor friends, I hope this blog gets you to think a bit more carefully before you purchase your classroom robots. Here are a few resources you can use to explore more about sustainable coding and robot programs.
Our Twin Cities CoderDojo site is here: http://coderdojotc.org
We are proud to be part of the Twin Cities Code Savvy: http://codesavvy.org
Mbot: http://dmccreary.github.io/coderdojo-robots
CoderDojo Twin Cities Python: http://coderdojotc.org/python
CoderDojo Twin Cities MicroPython (beta): http://coderdojotc.org/micropython
AI Racing League: https://coderdojotc.org/ai-racing-league
Mentor Resources: http://coderdojotc.org/CoderDojoTC
I will also be posting details about our new Rasberry Pi Pico robots in an upcoming blog. Stay tuned and think sustainable everyone!