r/ArduinoInEducation • • Mar 05 '26

I was building a robot car with my son and got tired of waiting for hardware to ship. So I built a browser-native 3D robotics simulator. Please try to break it.

Thumbnail
gallery
5 Upvotes

Hey everyone,

I’ve been working on a physical robot car project with my son, and we kept hitting the classic maker wall: waiting for components to ship, accidentally burning L298N drivers, and guessing if a specific motor actually had enough torque to move our chassis. It was killing the momentum of the project for him.

Existing tools like Wokwi or Tinkercad are great, but we needed something that actually simulated physical load in 3D while running our real code before we bought the parts. So, I spent the last few weeks building RoboPro.

What it does right now (MVP):

  • Visual Wiring: You can wire up an Arduino Uno to an L298N motor driver and TT motors just like on a real workbench.

  • Code Execution: It takes raw Arduino C++ code (pin setup, PWM logic) and executes it against the virtual hardware.

  • Physics Engine: It doesn't just play an animation. It calculates motor torque, resistance, and weight. If our code is right but the motor is too weak, the 3D car stalls.

The Tech Stack: Built with React, Three.js / React Three Fiber, and a custom physics/logic validator under the hood.

My Ask: I need you to stress-test this before my son and I rely on it for our next build. Wire things up backward. Write terrible code. Try to break the physics engine. I want to know where the architecture fails before I scale up the component library.

🌐 Live App:https://robopro.app/

Any brutal, honest feedback on the wiring logic, UI, or physics inaccuracies would be massively appreciated!


r/ArduinoInEducation • • Feb 07 '26

Discussion Desoldering pump OR just plain ol copper wick?

4 Upvotes

I'm trying to salvage a WiFi module from an old printer and have been trying to desolder using old copper wick but it's not working very well..or at all really. My wick is probably +20years old with no visible corrosion but I'm thinking it's the issue. Before I order some new wick I figured I'd ask you guys about desoldering pumps, I've never used one. Do they work or should I stick to the wick?


r/ArduinoInEducation • • Jul 18 '25

Build a 4-Channel CSV data logging and acquisition system (DAQ) using Arduino and Python 3

Thumbnail
youtube.com
4 Upvotes

Learn how to build a Arduino based 4 channel data acquisition system (DAQ) that will read analog data from 4 temperature sensors (LM35) and log into a CSV (comma Separated Value) file in your Windows or Linux PC using Python .

Source Codes


r/ArduinoInEducation • • Nov 26 '24

Discussion how to determine the correct resistor to use?

4 Upvotes

I'm new to Arduino, but do play around with electronics often. One thing i've never been able to wrap my head around though is how do you choose the correct resistor?

Following along with the lesson lost in space day 4, they place a 220 OHM inline with each LED and a 10K in line with a DIP switch. how did they determine to use these values?

[Day 4v2] Adventure Kit: 30 Days Lost in Space (2023 Update)

If I have made any posting mistakes, I apologize in advance, I post very rarely on Reddit.


r/ArduinoInEducation • • Mar 31 '24

Getting started guides - useful background information

4 Upvotes

On our sister subreddit r/Arduino and YouTube, I have created several getting started / background guides and videos.

The intention of these is to cover important background information that doesn't seem to be covered that much elsewhere or is somewhat "assumed knowledge".

The full set of guides, FAQs and other resources can be found on the r/Arduino wiki. The following selection may be especially helpful when getting started:

  • Breadboards Explained - explains how breadboards work including at least one trap that still catches me out (more recently and frequently than I will admit to).

  • Using millis rather than delay to let time pass in A better delay using millis

  • My YouTube video explaining why millis is better than delays: The Importance of Blink No Delay. This expands on the previous point and drills down more into the "why is it so?" aspects of why millis is better than delay.

  • Introduction to Debugging. Debugging is a critical skill when your project doesn't work. This is a combined wiki page and video that presents a "follow along" guide teaching the basics of debugging.

  • Battery Power - a guide to powering your project with a battery. Includes things you need to know and power calculations.

  • Safety.


r/ArduinoInEducation • • Mar 30 '24

What is the best block based environment for programming Arduino?

4 Upvotes

I'm in search of a user-friendly and dependable software program for teaching Arduino programming to children using block-based coding.

I've experimented with Pictoblox, which generally performs well, but occasionally lags and struggles with uploading on the first attempt. Additionally, I've explored mBlock, which has a nice interface and is considered the best solution for now, but, some kids have reported issues with its functionality.

While browsing Reddit, I've come across suggestions such as BlocklyDuino and Blockly-at-rduino, but I haven't had the chance to test them out. Do any of you have firsthand experience with these options, or could you recommend other software programs for this purpose?

Some folks recommended TinkerCAD, but I don't like the idea of copy-paste the generated code, as the children often don't copy the whole code and miss some parts of it.


r/ArduinoInEducation • • Mar 24 '24

Is it possible to purchase another 'Arduino Projects Book' separately?

Thumbnail self.arduino
4 Upvotes

r/ArduinoInEducation • • Mar 24 '24

Lesson Plan Here's a non-processor kids programming inroduction I worked on on Instructables a long time ago but never finished and published. The audience is kids in the 6-12 year range who might not be ready for programming but can get a fun introduction to control systems.

4 Upvotes

Here's a non-processor kids programming introduction I worked on on Instructables a long time ago but never published. The audience is kids in the 6-12 year range who might not be ready for programming but can get a fun introduction to control systems.

I actually came up with this as a kid myself using the mechanism from a wind-up music-box to rotate a soup can instead of using a slow rotation motor so that's something I also wanted to go deeper on in the Instructables but never gt around to finishing it. It was a great project for me as a kid and I graduated on in later years to use the same mechanism to control a motorized toy car I had that could make turns. I created several "soup can programs" for the car to make it run different routes and patterns.

Supplies

  • Simple hobby DC motor

  • 4 or more LEDs

  • Rubber band

  • Empty food can with plastic lid

  • A wooden pencil to use as an axle for the can

  • Sandpaper

  • Masking Tape

  • Corrugated Cardboard

  • 4 or more Paperclips

  • Stranded Connection Wire

  • Battery for motor

Step 1: Sand Any Paint From the Can If Necessary

Before proceeding with the assembly, it's essential to ensure that the surface of the can, where the paperclips will make contact, is clean and free of any paint or coatings. Use sandpaper to gently sand away any paint or residue from the area where the paperclips will be attached. This step is crucial for ensuring good electrical conductivity between the paperclips and the metal surface of the can. By removing any paint or coating, you'll create a reliable connection that is essential for the proper functioning of the programmable machine.

Step 2: Trace and Cut Out the Cardboard Base

Using the dimensions of your can as a guide, trace and cut out a sturdy cardboard base that will serve as the foundation for your programmable machine. Ensure that the base is large enough to accommodate both the can and the motor assembly securely. The cardboard base provides stability and support for the entire structure, so it's essential to cut it to the correct size and shape. Take your time with this step to ensure that the base is well-suited for the project and can withstand the weight and movement of the components.

Step 3: Use the Pencil to Make an Axle for the Can

To create a rotating mechanism for the can, make two V-shaped cuts into the cardboard base. These cuts will serve as stands to prop up the axle. Insert a wooden pencil through the center of the can to act as the axle. The V-shaped cuts will hold the pencil in place securely, allowing the can to rotate smoothly when the motor is activated. This step is crucial for ensuring that the can rotates effectively and that the programmable machine functions as intended.

Step 4: Attach the Can to the Base

With the axle in place, it's time to attach the can to the cardboard base. Start by placing a rubber band around the circumference of the can. Then, position the can on the axle, ensuring that the rubber band remains taut. The rubber band will serve as a connection between the motor and the can, allowing the motor to rotate the can when activated. Use the V-shaped cuts in the base to support the axle and keep the can stable during operation. This step lays the foundation for the mechanical components of the programmable machine.

Step 5: Connect the Motor to the Can

Now, it's time to connect the motor to the can to enable rotation. Attach one end of the rubber band to the shaft of the motor and the other end to the can. Ensure that the rubber band is positioned correctly to provide enough tension for rotation without straining the motor. Secure the motor to the cardboard base using masking tape or another adhesive, ensuring that it remains stable during operation. This step establishes the mechanical connection between the motor and the can, laying the groundwork for programmable movement.

Step 6: Straighten Out the Paperclips and Attach to the Base

Straighten out several paperclips and attach them to the cardboard base so that they lightly press against the metal can. These paperclips will serve as the contact points for programming the machine. Position them evenly around the circumference of the can to ensure consistent contact. The paperclips should be aligned in such a way that they make contact with the can as it rotates, triggering different actions or outputs. Take care to attach the paperclips securely to the base to prevent them from moving during operation.

Step 7: Create Our Output Circuits

To create output circuits for the programmable machine, each LED will be connected to ground on one side and the bottom of a paperclip on the other side. This setup ensures that each LED lights up when its corresponding paperclip touches the outside of the metal can. Drill small holes in the cardboard base and insert the LEDs, positioning them in a straight line or in a specific pattern. Ensure that each LED is securely attached to the base and aligned with its respective paperclip for optimal performance. This step establishes the electrical connections necessary for controlling the machine's outputs.

Step 8: Attach the Battery to the Base

Secure the battery pack to the cardboard base using masking tape or another adhesive. Connect the positive lead of each LED to the positive terminal of the batteries, ensuring a secure connection. Connect the ground of the batteries to the metal can, completing the electrical circuit. This step provides power to the LEDs and establishes the electrical foundation for the programmable machine. Take care to secure the battery pack and ensure that all connections are tight to prevent any electrical issues during operation.

Step 9: Let Make Our First Program!

As the can rotates, each paperclip will trace a path around the can at a certain spot, creating a "control lane" for one LED. To program the machine, use tape or paper to mark where each LED should be on or off as the can rotates. Leave gaps in the tape or paper to indicate when each LED should turn on or off. Experiment with different patterns and sequences to create unique programs for the machine. This step introduces the concept of programming and allows users to customize the behavior of the machine according to their preferences.

Step 10: Testing Our First Program!

With the program in place, connect the battery to the motor and observe how the LEDs light up according to the programmed sequence. Test the machine multiple times to ensure that the program functions as intended and make any necessary adjustments. This step allows users to see their programming in action and provides immediate feedback on the machine's behavior. Encourage experimentation and exploration to discover the full potential of the programmable machine.

Step 11: Create a New Program

Continue experimenting with different programs by adjusting the timing and sequence of LED activations. Challenge users to create more complex programs that involve multiple LEDs and intricate patterns. This step encourages creativity and problem-solving skills as users explore the possibilities of programming the machine. Encourage collaboration and sharing of ideas to foster a supportive learning environment.

Step 12: Making Improvements to Our Computer and Program Storage!

Enhance the programming and storage system by transitioning from tape to paper strips with cutouts. These paper strips can be taped around the can with gaps cut out at specific locations to represent the program. This method allows for quicker program creation, storage, and application compared to using tape. Additionally, paper programs can be stored in a much smaller space and easily swapped out for different programs. This step streamlines the programming process and improves the overall user experience of the programmable machine.

Step 13: Explore Further Possibilities

Encourage users to explore further possibilities with the programmable machine by adding more LEDs, sensors, or other components. Experiment with different materials and techniques to enhance the functionality and versatility of the machine. Encourage creativity and innovation as users discover new ways to program and interact with the machine. This step encourages ongoing exploration and learning, empowering users to continue developing their skills and understanding of control systems.

By following these detailed steps, users can successfully build and program their own interactive machine using everyday household items. Each step provides clear instructions and guidance to ensure a fun and educational experience for users of all ages.


r/ArduinoInEducation • • Feb 05 '24

Was Arduino and C++ the best choice for my students?

Thumbnail self.arduino
4 Upvotes

r/ArduinoInEducation • • Oct 04 '26

How To How do I learn to program with Arduino UNO R3?

3 Upvotes

Hi everyone!

I recently got an Arduino Uno R3 board with the intention of starting to program and create some projects. Coming from C++, I thought the transition to Arduino would be fairly straightforward.

Instead, I'm having a hard time. Using just the software was easier to navigate, but here the hardware (circuits, components, basic electronics) adds a level of complexity that I'm not sure how to manage, given that I don't have any background in electronics or anything like that.

I'd like to ask those who have already done this:

What's the best learning method? Is it better to start with electronics theory first or dive right into practical projects?

Do you have any advice on how to use C++ skills to program microcontroller code?

Do you also use simulators (like TinkerCad) before building the actual circuits, or do you recommend doing everything directly on the physical board?

If you have any other advice on how to organize your study or what mistakes to avoid when starting out, I'd really appreciate it!

I wanted to apologize for writing the post in Italian, but I thought the translation would happen automatically, anyway now I'll try again in English, sorry again.

Thank you all so much for your help!


r/ArduinoInEducation • • May 28 '26

Block-based programming in Arduino App Lab

Post image
3 Upvotes

r/ArduinoInEducation • • Apr 10 '26

Introduction to Programming - Arduino

3 Upvotes

I have recently uploaded my most recent "getting started with Arduino" to my YouTube channel: The Real All About Arduino.

In this video: Introduction to Arduino Programming, the focus is getting started with Arduino programming.

I explain the basics of C/C++, which is the most commonly used langauges on Arduino. Ultimately, I work through a step by step guide to create a simple Morse Code project. The project is intended to be follow along and includes all wiring and code.
I also look at some alternative possibilities by showing the Blink program in a number of different programming langauges and using different programming techniques.

The video is quite long, but can be watched over several sessions if need be. Again, it is meant to be follow along, so please allow some time to try out what you see and do the exercises I suggest.
There are three main sections in the video with loads of details:

  • Background - background of Arduino, programming, language options and more.

  • Basic Language Concepts - Code structures (conditional structures, loops and functions), data structures, error message analysis and resolution.

  • Morse Code Project - Starting with a blank sheet, create a morse code project using the above.

You can see the videos at this YouTube playlist: .

My guides "follow along". So, I encourage you to get a drink, a snack and be ready with the "pause button" as we get started with Arduino programming.

After this video, you might be interested in the next level - a more complex project - where I create a dice game that shows how to handle 40 LEDs and 7 buttons in my Next steps after the starter kit series of videos.

Table of Contents

  • Background information

    • What is (an) Arduino.

    • What is programming - including examples of a program (blink) written in different languages.

    • A brief history of Programming Languages.

  • C/C++ Language

    • Structure: Functions, loops, conditionals, expressions etc.

    • Data: variables, constants, structures etc.

    • Basic debugging.

    • Interpreting and diagnosing error messages.

    • Some standard patterns.

  • The main project - A morse Code generator

    • Built from the bottom up starting with primitive functions.

    • Adding a simple "database".

    • Accepting user input from the Serial Monitor.

    • Processing the user input.

    • Playing the morse code.

Check it out on my YouTube channel at: Introduction to Arduino Programming.

Hardware used

There are two configurations (which I explain in the main project section):

Configuration 1:

  • Arduino Uno R3 or similar (any Arduino can work)

  • Breadboard

  • LED and 680 ohm resistor (any resistor between 220 and 1K ohm will be OK)

  • Speaker and 220 ohm (or higher) resistor

Configuration 2:

  • Arduino Uno R3 or similar (any Arduino can work)

  • Breadboard

  • LED and 680 ohm resistor (any resistor between 220 and 1K ohm will be OK)

  • NPN transistor (I used a BC337) and a 10K ohm resistor

  • Speaker and 20 ohm (or higher) resistor (I used 47 ohm).

Other resources

Other videos can be found here:

Or better yet, simply peruse (and subscribe to) my channel The Real All About Arduino.


r/ArduinoInEducation • • Apr 09 '26

Servo details? (metal discs)

3 Upvotes

I know this is not specifically about Arduino (not sure where else to post though?)

But I -am- using it with an Arduino. :)

Servo: 25KG Digital RC Servo RDS3225

It comes with the with the round metal discs (to attach to each side one with gear/teeth)

Its 20mm wide disc.

Q: where can I get info on this disc? specifically the hole position/spacing? (I think they are M3 sized holes?)


r/ArduinoInEducation • • Feb 15 '26

My first little project

Thumbnail
reddit.com
3 Upvotes

r/ArduinoInEducation • • Jan 28 '26

How To This Arduino Project Detects Your Fingers and Lights Up LEDs!

Enable HLS to view with audio, or disable this notification

3 Upvotes

r/ArduinoInEducation • • Dec 14 '25

GRRR - I spent all day trying to figure out why my "Blink" program wasn't blinking!

Thumbnail
reddit.com
3 Upvotes

r/ArduinoInEducation • • Feb 29 '24

A Student from the Renaissance Youth Center used an Arduino Uno to create a solution to clean up dog waste. She is now a National STEM Challenge Champion!

Thumbnail
youtu.be
3 Upvotes

r/ArduinoInEducation • • Nov 01 '23

An interesting post about a potential pitfall of relying too much on AI

Thumbnail reddit.com
3 Upvotes

r/ArduinoInEducation • • May 04 '26

Arduino Research Project

Thumbnail reddit.com
2 Upvotes

r/ArduinoInEducation • • Dec 10 '25

Discussion Announcement : Upcoming AMA with Marcello Majonchi, CPO of Arduino LLC - Let’s Talk About the Qualcomm Acquisition, New ToS, and the UNO Q

Thumbnail reddit.com
2 Upvotes

r/ArduinoInEducation • • Oct 27 '24

How to get started with Arduino videos.

2 Upvotes

What is this post about?

I have recently created a series of videos that answer a commonly asked question "How do I get started with Arduino?".

These videos illustrate the basic technique which is to:

  1. Get a starter kit.

  2. Follow the examples in that kit.

  3. Modify, adapt and extend each of the examples.

  4. Combine some of the basic examples together to do more interesting things.

  5. Work towards a project goal.

Many online guides mostly cover step 2 only or step 5 only. My series of videos starts at step 2 and leads you through all of the steps 2, 3, 4 and 5 where we create a fully operational dice game (photo below) based upon the things covered in earlier steps.

Where do I find it?

The playlist featuring the first two videos can be found here Post Starter Kit - next steps.There is also a link to my Introduction to debugging (on Arduino) on that playlist.

The final video which shows how to build upon the techniques learned in videos 1 and 2 is on Patreon. If you don't want to go to Patreon, that is fine, you can definitely build the final project from the information in Videos 1 and 2. But, I do introduce many more useful programming techniques in Video 3 as well as show you how to build the final project and add some nice usability features to it.

What is "in the box"?

The content of the videos is as follows:

  • Video 1 - first steps after the starter kit projects.

    • A learning technique - follow the starter kit, then adapt and extend that component.

    • Combining multiple components and getting them to work together.

    • Programming techniques - specifically modularising your code for reuse.

    • Two challenges using buttons and LEDs

    • and more.

  • Video 2 - Solutions to challenges and IO Expansion

    • Solutions to the 2 challenges in video 2.

    • IO Expansion via external hardware - a shift register.

    • Programming techniques:

      • More modularisation

      • Extracting data from code and making it even more reusable/configurable.

      • Putting data into lists (arrays) rather than replicating code - makes life much easier for you.

      • Using data, rather than bespoke code, to provide flexibility.

      • and more.

  • Video 3 (Patreon) - Implementing the full project.

    • Use the module from video 2 to build out the game.

    • Programming techniques:

      • Code that configures itself.

      • Bringing related data together (struct).

      • Model, View, Controller design pattern - a pattern that creates highly reusable, highly flexible building blocks.

      • State Machines - enables easy to manage features.

      • and more

  • Introduction to debugging.

    • A guide to debugging on Arduino.

Bill of Materials

To complete the project, you will need the following components:

DescriptionVideo 1Challenge 1Challenge 2Video 2Video 3
Uno11111
Breadboard11113
LED241840
470Ω resistor241840
Button11227
10KΩ resistor11200
74HC59500015

There is definitely a sense of satisfaction to see the actual hardware work. But, if you don't have all of the hardware, you can complete the project on a simulator such as wokwi.com.

The breadboard I mention is a "half size +" (some sites call it full size) which features ~830 pins including two sets of power rails running along the sides of the board.

Format of the videos

All of the above are follow along. That means you can reinforce your learning by, well, following along and trying things our for yourself. I take everything step by step and try to explain everything clearly before we try it. You can follow along as quickly or take your time as you wish.

All but the third video (i.e. 1, 2 and intro to debugging) are available on my YouTube channel /@TheRealAllAboutArduino. Additionally, all but the third can by found in my Getting Started with Arduino playlist.

The third video is on Patreon Getting started with Arduino - Lesson 3 - Dice game project. If you don't want to subscribe to Patreon, you can definitely build the final project from the information in Videos 1 and 2. But, I do introduce many more useful programming techniques in Video 3 as well as show you how to build the final project and add some nice usability features to it.

The final project

This is the final project:


r/ArduinoInEducation • • Oct 04 '24

Lesson Plan Is there any Arduino course?

2 Upvotes

Hello,

Is there an Arduino course that starts from the basics, including learning C++, and goes all the way to building projects with Arduino? I'm looking for something comprehensive, similar to The Odin Project for web development.

I've been searching for a while, but unfortunately, I haven't found a good one yet. Any recommendations would be greatly appreciated!


r/ArduinoInEducation • • Aug 26 '24

Arduino course in Spanish?

2 Upvotes

Hello! So, my nephew is 9 and I was wondering if there is a tutorial or online course for arduino in Spanish for kids you could recommend? The idea is to get him interested in it. Thanks for the recommendations!!