Open EdBot Jr. – the $15 Classroom Robot Buddy for Little Inventors
46 Views, 1 Favorites, 0 Comments
Open EdBot Jr. – the $15 Classroom Robot Buddy for Little Inventors



Here’s a simplified, younger-kid-friendly version of our Open EdBot contest entry, now optimized for 4-6th grade students to build and program (with AI chatbot coding assistance).
Open EdBot Jr. – The $15 Classroom Robot Buddy for Little Inventors
"Play is the work of childhood." – Maria Montessori
Where the Open EdBot ideas come from and why I bothered to create a new design for the minimum cost/maximum fun robot.
The challenge - “What is the simplest fun robotic platform available today? With adult direction, a basic competition ready robots must be able to be built in under 1 hour by 4th,5th, and 6th graders. And each robot must be able to grow, expand, and challenge the student as they grow and learn. But maybe most importantly each robot has to cost less than $20 (for a classroom quantity of 10 or more robots). ”
Why Open EdBot Jr.? A Simpler Robot for Younger Hands
While the feedback from our first version of the Open Edbot robot coding platform has been extremely positive, ttps://www.instructables.com/15-Open-Edbot-the-Classroom-Arduino-Mobile-Platfor/
several teachers (and kids) asked for a simpler-to-build version for younger students. So we stripped it down to the bare-minimum fun machine—Open EdBot Jr.
What’s New? What’s the same?
✅Even lower skill floor – Easier for K-5 students. No Motor Drivers! – Replaced TT motors + DRV8833 with continuous rotation MG90 servos (metal gears = tough). These servos arrive prewired (just 3 wires each) and ready to plug-in.
✅ Even Easier Assembly – Fewer parts, no soldering required (just jumper wires) (soldering is optional), motors snap in place
✅ Same AI prompt coding.
Same open design philosophy
Same $15 Budget – Still affordable for classrooms.
1. Playful Learning
- Kids build, code, and play in one (typically 1 hour) session.
- Vibecoding with AI chatbots – Type "Make my robot spin in circles!" → Get Arduino code instantly.
2. Kid-Tough Design
- MG90 servos survive drops and crashes (unlike plastic-geared servos).
- 3D-printed chassis with snap-in motors, press on wheels (no screws for little fingers).
- AA batteries (safe, no lithium).
Start simple:
Remote control mobility (IR remote / receiver).
3. Modular platform - LEGO - like ability to grow with your students
Hooks in place for choose your own adventure growth:
See add-on accessory files (*.STL) for examples.
Giant wheels
- Front end "hitch" for simple vehicle mods. Example accessories in attached STL files included for;
- Front end servo for lifting
- Front end servo for grabbing
- Smashing hammer
- Add obstacle detection (ultrasonic sensor, chassis already has holes to mount the popular, inexpensive SR04 sensor, use AI to prompt for code and away they go).
- Line-following (IR sensors, .
Inspiration from others-
Open EdBot was inspired by multiple great projects including (but not limited to); MechEngMike’s fantastic instructable from 2017, the SimpleSumo robot and Kevin McAleer’ss 2023 SMARS, (Please check them out here. ) All are absolutely brilliant designs but unfortunately none met the absolutely shoestring budget and build simplicity requirements.
https://www.instructables.com/SimpleSumo-Educational-Fighting-Robots/
https://www.youtube.com/watch?v=XhArIe9UDoc
Open Edbot Jr. version shares a number of features with all these robots, especially the SimpleSumo design. Both are designed as educational robots, 2 wheeled 3d printed platforms, and both use continuous servos to drive.
Differences - SimpleSumo robots are designed to comply with official mini-sumo rules.
For Open Edbot, we are competing internally (within the classrooms), not trying to be compliant with official rules. This allows us to use the larger, longer running (and less expensive) 3 x AA format batteries over the mini 9 volt form factor. And kids can start competing with their vehicles under IR remotes, a much simpler/faster approach to fun compared to the much more challenging design and execution of autonomous control.
Kevin McAleer’s brilliant SMARS platform:
The SMARS (Screwless Modular Assembleable Robotic System) platform is extremely popular and deservedly so. Variations here on Instructables include (but maybe not limited to the following:
https://www.instructables.com/SMARS-Robot-Arduino-Smart-Robot-Tank-Bluetooth/
https://www.instructables.com/How-to-Build-SMARS-Spider-Mod-Robot-With-WiFi-and-/
https://www.instructables.com/Wiring-and-Programming-SMARS-V1-Etsy-Version/
https://www.instructables.com/DIY-SMARS-Robot-Version-20-Enhanced-With-OLED-RGB-/
https://www.instructables.com/Upgrade-Motor-Shield-for-SMARS-Robot-Arduino-Uploa/
Most SMARS variations do use the N20 motors (slightly more expensive), lithium battery packs (some safety concerns for younger students), tank treads(time consuming and challenging for younger students to build, autonomous, bluetooth, or wifi commanding (much more complex to start than an IR remote control). There are now numerous variations on the SMARS platform and I do highly recommend for older students (and/or teachers/ students with more time and budget),
From 2019, Pablo de Paris-
https://www.instructables.com/Super-Simple-Sumo-Bot/
Multiple ESP32 and ESP8266 controlled mobile robot platforms.
Several examples here:
https://www.instructables.com/ESP32-Robot-Using-Servos/
https://learn.adafruit.com/build-an-esp8266-mobile-robot/introduction
Variations of ESP32 and ESP8266 boards have multiple performance and feature advantages over the Arduino Nano (+expansion board) and some can even be purchased for less than the Nano clones. For absolute beginners and youngsters, the downside(s) however include a more challenging setup(even though most can use Arduino IDE it does need to be setup for the specific ESP32/8266). And most of these robot builds use the chips built-in wifi (great idea) but again more challenging for beginners and a nonstarter for kids without access to a smart phone or similar.
- 3D-printed chassis & wheels (fast print, <3 hrs, no supports)
Completely designed in Autodesk Tinkercad for easy to modify files.
Why This Matters
- Ownership: Kids build THEIR robot—not a pre-made toy.
- Failure = Learning: Debugging a servo that spins the wrong way teaches problem-solving.
- Visible Tech: Open design lets kids touch, tweak, and see how it works.
Conclusion
Open EdBot Jr. is the easiest, cheapest way to get kids into robotics. No confusing motor drivers, no fragile parts—just pure play + learning.
Let’s help every kid build their first robot—today!
(STL files attached below)
3d Print the Basic Parts-snap in Motors
Step 1- Print the attached basic 3d files. (You can save the Accessory files for later printing as students want to mod their robots). Fit the nano in the expansion board. Snap the servo motors into the chassis.
This friction fit for the servo motors will hold for normal use and to get started. But.... for long term use/ heavier abuse I do recommend attaching the motors with their included screws.
Connect the Motors to the Nano Expansion Board
Step 2 - Plug the servo motors into the nano expansion board. (Each servo comes pre-wired with 3 wires, ground = brown, red = +5 volt, orange = signal. These 3 have to line up with the corresponding G(ground), V (+5 volts), S (signal) labeled on the Nano expansion board. You can use any pins, but your software must match the pin numbers used.
For this example I chose; Right servo into pin set 8, Left servo into pin set 9. (digital pins)
Connect the IR Remote Receiver Board
Step 3 - connect the IR remote receiver to three female to female dupont connectors. Again pay attention to the label. Ground on the left, +5 V center and S(signal on the right).
Connect to a corresponding pin set on the Nano expansion board.
For this example, I chose digital pin set 12.
Connect the 3 AA Battery Pack



Step 4 - The battery power (4.5 volts) from 3 AA battery pack will come with two wires (red + V and black ground). You may have to add female dupont connectors to mate with the pins on the Nano expansion board. The easiest solution is to cut 2 dupont connector wires and strip the cut end to connect.
Option 1 - Solder - 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
Option 2 - twisted wire and wire nuts.
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 direct DC power from 3 AA battery pack works on any +5V and G ground pin to power Arduino directly the (for a basic no frills Arduino bot). Because 3 AA alkaline batteries (=4.5 volts) and at low current is very stable. Thus is a regulated power source. Using a different battery pack (more or fewer batteries) 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.
Build and Install Wheels (for Rubber Tires)
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 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.
Again depending on your printer tolerance, friction fit for the wheels on the motor may work for normal use. Otherwise use the screw that comes with the servo motors to attach the wheel. If this is not long enough, M2.5x6 bolts are available from Amazon and other sources.
Attach the front end plow
Congratulations. Add batteries, connect to the PC (Arduino IDE serial port) and get coding! Vibecoding that is.
"blink LED"
Module 1 - LED blink on Pin 13.
Similar to “hello world” this simplest of tasks, should be the starting point.
Use a 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 on the Nano Expansion board.
Alternatively if you do not have a resistor and wire wrap tool, you can (at a very slight risk of burning out the led) plug directly in to the dupont connectors and follow the step above to connect to the Nano expansion.
Now starts the coding;
Open your favorite AI chatbot (or multiple chatbots) and prompt it to write the C++ code needed.
Sample prompt (Gemini)
“Write an arduino sketch to blink an LED on pin 13”
The results should look similar to the attached example.
Connect OpenEdbot’s nano to serial port (USB) of PC. In Arduino IDE choose arduino nano and correct port. Copy the code to the Arduino IDE. Load and verify the led is blinking once per second.
Have the kids modify the code to blink slower/faster etc.
Downloads
Motor Test
Test your servo motors.
Example prompt-
"write an arduino sketch to test 2 servo motors on pin 8 and pin 9."
You will need to load the servo library in your Arduino IDE.
See description for this simple procedure here:
https://docs.arduino.cc/software/ide-v1/tutorials/installing-libraries/
Downloads
Program 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.
In this example, connect the output signal (S) of the IR receiver to the pin 12 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 12.”
You will need to load the IRremote library in your Arduino IDE.
Then to read the codes from the IR remote, you will need to open the Arduino serial monitor. Write the code from each button that you want to use from your IR remote control. You will need this for the key step of controlling your robot with the IR remote.
Downloads
Add a Buzzer on Pin 13 (just Not at the Same Time As the IR Remote Receiver)
WARNING - A "feature" of the Arduino microcomputer family (including our Nano) is that default software for the buzzer and IR receiver do not play well together in the same program. They share the same timer and end up "stepping" on each other. Not a problem for this example but if kids try to write programs that combine buzzer and an IR receiver, the IR receiver will stop working correctly after the first buzzer call.
See discussion and potential work around solutions here:
https://forum.arduino.cc/t/buzzer-disturbing-with-ir-sensor/1251823
For younger kids, the simplest solution is to not use the buzzer and the IR receiver in the same program.
example prompt
"write an arduino program to make my robot beep. buzzer on pin 13."
Encourage kids to try new sounds, even songs.
Downloads
Remote Control Driving - Basic Version
to control the robot with your ir remote, prompt the AI chatbot with the information from the codes you wrote while mapping the button pushing in step 8. (Note -Your AI chatbot may generate different "forward / reverse " defaults. A good time to learn about simple debugging. For this example, reversal of the left, right pin numbers in order to get the motors to spin "correctly" .)
example prompt -
"write an arduino code to drive my robot with an IR remote control. The left servo motor is on pin 8, right is on pin 9, IR receiver is on pin 12. The robot should drive using the remote rx codes;
24= forward, 82=reverse,28=stop, 8=left turn, 90= right turn."
Encourage experimentation - how can you go faster?, etc.
Downloads
Bonus # 1- Adding the Ultrasonic Sensor


Adding the hc-sr04 ultrasonic distance measuring sensor is relative straightforward (uses 4 pins, thus requires 4 female to female dupont connectors).
But there is one "gotcha" to be aware. If you're like me, you probably bought the older (much more common) version of this hc-sr04. While newer sr04 sensors can operate from ~3.3 to 5 volts, the older versions only work from 4.8 - 5 volts. (Refer back to Step 4 discussion of potential power issues for direct connection of 3xAA = 4.5 V battery packs to the Nano. 4.5 volts is just below the 4.8 V required.)
add a 9 volt battery with an RCA jack to power the Nano expansion board through its RCA port. This defaults to the onboard voltage converter and your hc-sr04 ultrasonic will work well.
Plug the 2 signal pins into the digital pins (my example uses pin 12 for trigger and pin 13 for echo) ground to ground and VCC to V.
Example prompt: The robot is driven by 2 continous (360 degree) servos motors which also provide steering. The right motor is on pin 8 and a clockwise command moves the robot forward. The left motor is on pin 9 and a clockwise command moves the robot in reverse.Write code for an HC-SR04 ultrasonic sensor in the front of the robot to detect and avoid obstacles. The SR04 echo signal is on pin 13 and trigger on pin 12. when the robot detects an object 25 cm away it stops, reverses, turns left and then goes forward again.
Bonus #2 - Adding IR Sensors for Line Following

See line follower video above. With 2 IR sensors, Edbot Jr can track and follow contrasting lines (black tape). 3d print the attached Accessories OpenEdJr IRSensorslinefollowr.stl file. Attach 2 of the IR sensors with small screws or glue as shown in image.
I recommend using the reflective type IR Sensors -
https://www.amazon.com/HiLetgo-Channel-Tracing-Sensor-Detection/dp/B00LZV1V10
These IR sensors have 4 outputs, the standard +V, G and then an analog out and a digital out. Because we want to see shades of colors as output, we're going to use only the analog out. Connect the left / right sensors to the Nano expansion board using 2 sets of 3 female to female dupont connectors. Use the analog output wire (marked A) on the IR sensors and connect this to the analog inputs of the Nano expansion board. For our example we put the left on A0 and the right connection to A1.
Snap the completed subassembly onto the front "hitch" mount of the robot.
example prompt: write arduino code for a line following robot. The robot is driven by 2 continous (360 degree) servos motors which also provide steering. The right motor is on pin 8 and a clockwise command moves the robot forward. The left motor is on pin 9 and a clockwise command moves the robot in reverse. there are 2 ir sensors in the front of the robot. The left sensor is on analog pin A0, the right sensor is on pin A1. The measured value for black line to follow is ~300, for the white background ~40.
Be prepared for doing a bit of calibration/debugging.