The $15 AI Robot for Kids: Code Arduino With Chatbots Made Stupid Simple

by pobriant in Teachers > 8

274 Views, 7 Favorites, 0 Comments

The $15 AI Robot for Kids: Code Arduino With Chatbots Made Stupid Simple

chat_gpt_Open Edbot.png
PXL_20250413_211447536.jpg
Open Edbot - drive by IR remote - code auto generated by simple text prompt Claude AI (vibe coding)

Open Edbot - the $15 Classroom Robot Buddy That Might Just “Grow Up” and Play Someday

“Play is the work of childhood” - attributed to Maria Montessori, Fred Rogers, Jean Piaget

“The best way to predict the future is to invent it. Let’s invent it together.” – Adapted from Alan Kay

What is the Minimum Robot for Max Fun = Max Learning

A Tale of Three Sisters

When my eldest daughter (then 2 years old) first held her newborn sister, she asked a question that would echo for years: “When will she be able to play with me?” At the time, it felt like an eternity. But 18 months later, they were building block towers together, giggling as they toppled them. That moment—the transition from waiting to doing—stuck with me.

Years later as adults, my daughters still play together, code together. And I find myself still asking a similar question about technology: “When will AI and robots ‘grow up’ enough to truly play with us? To teach us? To spark joy, not frustration?”

For decades, robotics felt like that newborn baby: full of potential, but not yet ready to engage. Fragile and locked behind walls of cryptic hard to learn code, most classroom robots demanded more patience than progress. Many were hardware locked as well, not made to be opened or modified. And by far the worst feature - expensive and therefore for most kids and classrooms, severely limited in availability.

This year, my third daughter (now grown up and the director of youth camps) asked me to teach a STEM class for middle schoolers. Work with the kids to have fun, get them to engage, build robots, learn a bit about coding, engage in engineering/design challenges. And do it on a minuscule budget.

Introducing Open EdBot -

Open Edbot - as built for a 5th grade classroom


A platform that is simple, easy to build, safe(no lithium), and accessible for the classroom. And all the parts can be purchased through Amazon for a per robot cost of $15 (in quantities of ~10 units). See parts list attached ( AmazonUS links as of April 2025).

Vibe coding for kids - Revolution starts here

Open Edbot is designed for kids to play. They learn electronics by DIY building. but the true game changing revolution is in introducing the game changing, revolutionary approach to learning code with vibe coding for kids. Students use simple text prompts for any of the leading AIs (ChatGPT, Gemini, Claude etc.) which generate code for Arduino’s fabulous IDE. Students type prompts like “I have an arduino with a buzzer on pin 10. Write code to sing happy birthday ” and almost instantly, they get editable Arduino code to download to their bot —and a gateway to understanding loops, sensors, and logic. Vibe coding enables learning by doing and failing forward. When AI generated code fails (and it will! It’s good, not perfect.), the bot’s simplicity lets kids iterate fast. Fewer tears, more triumph. Vibe coding isn’t magic. It’s a bridge— but one that lets kids cross from “I wish” to “I did.”

Vibe coding with AI on Open Edbot isn’t a distant fantasy. It’s here, imperfect but alive, proving that AI and robotics can “grow up” to meet kids.

The core of Open Edbot is an Arduino (a Nano in the current example), simple 3D printed chassis, wheels, batteries, motors +driver, IR remote + receiver. The bare minimum robot for maximum fun. (But with room and plenty of easily accessible pins to expand). It prioritizes core capabilities (movement and response to IR remote) over flashy features. Why?

  1. Focus: Students master fundamentals (loops, conditionals) before tackling more complexity.
  2. Cognitive Load Theory: Overloading novices with features hinders retention. Less clutter = clearer learning.
  3. Expansion encouraged A minimal base invites upgrades. Led-blink, buzzer, motors responding to an IR remote control. Later students can add obstacle detection ( phase 2 the HR-S04 sonar sensor), line-following (phase 3- IR detectors), then more advanced features like wifi, bluetooth, camera later. The hooks are there - when kids are ready.

Open Edbot isn’t a sci-fi dreambot. It won’t recite poetry or fold your laundry. But like my daughters learning to collaborate, maybe it can represent a small tipping point—a moment when technology finally meets kids where they are.

Key trades on a severely constrained budget - designing a platform for "play"

Just as my daughters needed the right tools to collaborate (blocks, crayons, and patience), designing Open Edbot meant making some hard design choices to become a true classroom buddy.

Design goals/trades -

A low price point meant choosing "good enough" rather than best.

Robustness and repairability are high priorities.

Ease and speed of assembly need to considered.

Everything must be easy access, and easy to repair. Cheap, safe, and durable—like a well-loved teddy bear.

Selections and rational:

  1. Arduino Nano plus expansion board. Loads of pinouts. And low cost.
  2. TT Motors - Unlike fussy servos or expensive N20s, these workhorses survive desk-drops and hallway races. TT motors are cheap ( ~$1 vs $5+ for N20s)and more robust than continuous servos (fewer stripped gears!) Better for rambunctious learners.
  3. Mosfet DRV8833 based motor driver. Cheap, smart, tiny, high efficiency, low voltage h-bridge module allows everything (Nano, Driver, Motor, etc.) to run at a common 4.5 volts (3 x alkaline AA). And unlike a bulky motor shield, the DRV8833 module still preserves easy access to Arduino pins for adding more sensors/actuators.
  4. 3D-printed chassis for print- in- place Open Hinge Design: Kids flip the sides like a lunchbox to tweak wiring, fostering curiosity instead of fear. The arduino pinouts and wires are right there, easy to mod, easy to add new sensors/actuators.
  5. Moldable silicone rubber tires for two wheeled drive. While a bit messy, combining 3-d prints with two part silicone in a 3-d printed mold is extremely inexpensive (a few cents per wheel) and much easier and more fun than you might imagine. The soft rubber allows for using two wheels instead of tracks while still maintaining excellent traction. Several tracked options (example - awesome SMARS design https://www.thingiverse.com/thing:2662828 ) were considered but ultimately 8th graders found the track assembly too slow and too challenging. For starters, two wheels is fast, simple and meets the cheap and robust criteria. Switch to tracks after wheels are mastered.


1. Best Toys for Learning:

Kids learn through active interaction with their environment. The best toys are:

  1. Open-ended: Blocks, LEGO, or robots like Open Edbot that allow infinite tinkering.
  2. Sensorimotor-rich: Objects that engage sight, touch, and problem-solving (e.g., wiring a motor, adjusting code).
  3. Challenge-balanced: Tasks slightly beyond a child’s current skill level, fostering growth without frustration.


2. Why DIY Building Matters

We learn best by making:

  1. Ownership: Building a robot from scratch (even with premade parts) instills pride and deepens understanding.
  2. Failure as Feedback: Debugging a miswired motor teaches iterative problem-solving better than any textbook.
  3. Systems Thinking: Assembling circuits and code reveals how components interact—a foundational STEM skill.

3. The Power of low cost “Naked Tech”

Exposed microprocessors, breadboards, and wires aren’t flaws—they’re pedagogical tools:

  1. Demystification: Seeing the Arduino’s blinking LEDs or tracing a wire’s path makes abstract concepts (e.g., electricity, logic flow) tangible.
  2. Fearless Experimentation: Kids tweak code, swap sensors, or “hack” the bot without fearing broken seals or warranties.
  3. Accessibility: At ~$15 per bot, classrooms can deploy fleets. No “precious” robots collecting dust in closets.
  4. Risk-Taking: Cheap parts mean mistakes are affordable. Kids experiment freely, embracing trial-and-error.
  5. Intrinsic Motivation: Fun is the ultimate teacher. Laughter during sumo matches or coding chaos fuels persistence.


Conclusion: Open Edbot is each kid’s personal robot buddy and a catalyst to learning

  1. Creativity: Merges AI-assisted coding with hardware hacking for a fresh take on educational robotics.
  2. Practicality: Built from globally available parts, with minimal soldering and no proprietary tech.
  3. Educational Value: Lowers barriers to robotics while teaching core STEM concepts.
  4. Presentation: The open-hinge design is visually engaging, and kids love personalizing their bots with stickers, markers, and add-on 3D-printed parts.

Open Edbot blends DIY ethos, visible tech, and joyful challenges at an accessible price. In a world where tech often alienates, the platform invites kids to touch, question, and reinvent. The Open Edbot platform is the buddy that kids can build - today.

Open Edbot - 3D printed parts

Fast and simple prints - Each bot prints in less than 2 hours total on Bambu Labs P1P (see attached STL files). PLA works fine. No supports required. Hinges are print-n-place. No fiddly assembly. All parts generated in Autodesk TinkerCad for kids to easily modify.



Supplies

tools_for_botspic.jpg

Tools -

2.5 mm hex wrench (for 3 mm bolt)

Wire wrap tool, Wire wrap wire, wire stripper

Solder iron, solder, flux, shrink wrap tubing, heat gun, kapton tape, third hand stand (helpful)

super glue, hot melt glue

2 part silicone rubber resin, measuring cup, stirrer

PC with USB cable (Arduino IDE downloadable free), access to one of the leading AI tools (ChatGPT, Gemini, Claude, etc)

Materials - Parts list

(See image below in Step 1)

3d Print the Parts/gather the Parts

PXL_20250412_170950936.jpg
PXL_20250412_170846231.jpg

Most 3d printers should print the attached files with no supports. Recommend PLA material for ease of printing.

Start Bot Assembly


Step 2 - Fit the nano in the expansion board. Slide in the nano expansion board, peel and stick on the minibreadboard, and bolt on the motors (2 m3 bolts per motor.)

Connect Motor Driver Module to Nano Expansion

Step 3-Connect the DRV8833 motor driver module to the pins on the arduino nano expansion pins. For simplicity follow the directions (and pin recommendations) given by LastMinute Engineers excellent web page. https://lastminuteengineers.com/drv8833-arduino-tutorial/

Wire wrap vs dupont connectors vs solder

Because this is square pin-to-pin connection, I recommend “going old school” wire wrap. Less complicated than it looks, wire wrap is less bulky than dupont, and much less messy and easier to undo than solder. With good direction, the right wire, and tool, wire wrap can be done by middle schoolers. Great tutorial here: https://hackaday.com/2014/12/18/wire-wrap-101/


Motor Driver Module (breadboard) to the Motors


Step 4 - Connect the motor driver module (breadboard) to the motors. Again follow LastMinuteEngineers tutorial (from above) and connect the motor driver to the solder terminals of the motors. Because solder is the only reasonable choice at the motors connections, I chose to cut and strip one end off four dupont connectors. The other ends are inserted into the breadboard at the correcto motor driver outputs. (don’t worry too much about forward / reverse in this step, debug and switch the dupont to breadboard connections later as needed).


Critical tip - Note yellowish tape around the top of the motors. Wrap the wires tightly with tape (kapton tape recommended) to strain relief the wires and avoid breaking the wires at the solder terminal.

Build the Harness From the Battery Holder


Cut and strip 2 female to male dupont connectors. Strip and solder the wires to each end of the battery pack. Cover with shrink wrap tubing. The end result will be two wires (both male and female dupont) on each battery wire. (total of 4 wires out).

Again with the right directions and tools (a bit of solder flux, a clean soldering iron, etc.) twisting and soldering wires is a great low risk way for kids to learn soldering. A great skill to have. A good example video tutorial here:https://www.youtube.com/watch?v=NSqPHQ1zQco


Connect the Battery Pack

Step 6- Connect the battery pack to the arduino nano board (+ and - female pins) and the DRV8833 motor drive breadboard (+ and - male pins). For the motor driver breadboard connection,look closely at the labeling on the driver board (and/or once again refer to the Lastminuteengineers page (see above) to insure the positive and negative pins are placed correctly in the breadboard.

Power the arduino Nano directly from the battery pack. Plug the battery output plus wire (red female dupont) to any of the nano expansion board +5 volt pins, and the negative side (black female dupont) to any of the nano expansion board ground pins.

Discussion - Why this works - but may not always be best. Because our pack is 3 AA alkaline batteries (=4.5 volts) and at low current draws is fairly stable, using alkaline batteries, the 4.5 volt battery pack is a regulated power source. Switching to rechargeables or trying to add too many other functions, may result in a voltage drop and arduino nano problems. If so, the simplest “fix” is to add an additional 9 volt battery (seperate) to connect to the rca type jack on the nano expansion board.


Wheels and Front Skid

PXL_20250412_204440572.jpg

Finish the build.

Wheels - I recommend silicone rubber tires molded over the 3d printed wheels. It’s fun (a bit messy) and very easy to get good results.

If you are only driving on soft carpets, the 3d printed wheels or other plastic wheels made for the standard TT motors will work ok. For slicker surfaces, silicone rubber molded wheels add much, much better traction. 3D print the mold, mix the silicone (typically 1:1), place the 3d printed wheel into the mold, fill with silicone, wait four hours, then run an exacto knife around the outside edge to release from the mold. Note the holes in the 3-d printed wheel. These allow silicone to enter the wheel, bond and firmly attach. The tire comes off the mold, not off the 3d printed wheel. Pull the wheel and tire out of the mold. You have a soft, high traction tire at a very low cost.

Encourage the kids to customize tires and wheels.

Attach the steerer. Super glue or other pla to pla glues work. Encourage kids to think about alternatives to the existing steerer.

Congratulations. Add batteries, connect to the PC (Arduino IDE serial port) and start playing!


Program 1- Blink


Module 1 - LED blink on Pin 13.

Similar to “hello world” this simplest of tasks, should be the starting point.

Use the wire wrap tool to attach a resistor (~20 to 300 ohms works better) to the shorter leg of an led (negative or ground side). Use two female dupont connectors, connect long led leg (positive) to pin 13 (S). Short side with resistor can connect to any ground pin.

Sample prompt (Gemini)

“Write an arduino sketch to blink an LED on pin 13”

Attached Example output - written by Gemini;

Connect OpenEdbot’s nano to serial port (USB) of PC. In Arduino IDE choose arduino nano and correct port. Load and verify the led is blinking once per second.

Have the kids modify the code to blink slower/faster etc.


Downloads

Piezo Buzzer

Module 2 - Piezo buzzer (let the fun begin)

Replace the LED with a passive piezo buzzer. The piezo leg marked with + goes to signal (pin 13), the other leg goes to any ground.



Prompt to generate “happy birthday” melody;

Sample prompt (Gemini)

“Write an arduino sketch to sing happy birthday song on a piezo buzzer on pin 13”

Example output - written by Gemini;


See what other sounds, songs, etc. vibecoding with AI can generate.


IR Remote + Receiver

Module 3 - IR Remote Receiver- map the button pushes to codes received

The IR remote receiver is a 3 pin device, it needs + and - power to generate a signal.

Use 3 female to female dupont connectors. After you insure it is working, one option is to cut off one side of dupont connectors and use wire wrap tool to make a more “permanent” less bulky IR receiver device.




In this example, connect the output signal (S) of the IR receiver to the pin 2 of the nano expansion board.

Sample prompt;

“Write an arduino code to receive the codes from an IR remote. The IR receiver is on pin 2.”

Before downloading this code to your arduino on Open Edbot you will need to load the IRremote library in the Arduino IDE. If you are not familiar, there are many tutorials explaining this fairly simple step.

link here-https://docs.arduino.cc/software/ide-v1/tutorials/installing-libraries/

Open the serial monitor on the PC in the Arduino IDE. Step through each button on your remote control and record the output codes received as displayed by the serial monitor.

Attached code - generated by Claude.

Downloads

IR + Motor (Moving + Control)

Module 4 - Motor test (and forward / reverse )

Sample prompt for Claude AI;

“Write an arduino code to receive the codes from an IR remote and move my 2 wheeled robot in response to the following codes.

96=Forward

98=right

101=Left

97=reverse

104=stop

The IR receiver is on pin 2. The motors driven by a DRV8833 on the following pins;

IN1 = 10;

IN2 = 9;

IN3 = 6;

IN4 = 5;”

Attached Sample code generated by Claude:


Debug -

One (or both) wheels may spin in the opposite direction commanded. Refer back to Step 3- connecting the motor driver module to the motors. Here is where the dupont pins and breadboard connection are handy. to reverse direction of the motors, simply pull out the dupont pins for that motor and reinsert in the alternate locations.

Hot melt glue - Once debug is complete, add a few drops of hot melt glue to all the duponts at their connection points. Not permanent but extremely helpful in avoiding disconnects.

Adding Unique Identifier for Each Robot (multiple IR Remotes Operating at the Same Time)

Module 5 - Driving OpenEdbot in classroom

Identical IR remotes are very inexpensive and IR remote command works well (for one robot at a time). These identical IR remotes and multiple robots in a classroom do not work well. But… one work around is to assign each robot a unique identifier, another IR button that needs to be pushed one second (or less) before the movement command is sent.

Prompt

“To the code from the last prompt, add a unique identifier, another IR button that needs to be pushed one second (or less) before the movement command is sent. In the case for this robot, the identifier is 69.”

Claude output example attached:


Organize Races/Sumo Contests/etc.

Let the robot fun begin. Encourage kids tot weak code, add and swap sensors, or “hack” the bot without fear.

Sumo contests (inspired by MechEngineerMechMike’s SimpleSumo ) turn learning into playful competition:

  1. Ownership: Kids mod bots to push, dodge, —investing emotionally in their creation.
  2. Iterative Design: Losses drive innovation (“We need wider wheels!, Let’s add a plow to lift the opponent, etc. !”), mirroring real-world engineering.
  3. Social Learning: Peers share tactics, fostering collaboration and communication.