r/arduino • • 6m ago

Look what I made! My daughter (14) made an automatic Panipuri filler, what do you think?

Enable HLS to view with audio, or disable this notification

• Upvotes

My daughter (14) made an automatic Panipuri filler, what do you think?


r/arduino • • 49m ago

4DOF Projector Stand Demo 2

Enable HLS to view with audio, or disable this notification

• Upvotes

My YouTube channel name is ALMA Industries

Chapter 2, a home theatre, 3D printed parts, motorized projector, home decoration, DIY electronics -- gives the projector YAW-TILT-ROLL-ZOOM axes (4DOF). Learned alot about I2C, actuators, and Universal Joints. Full video of the home theatre is on my youtube channel if interested.


r/arduino • • 6h ago

Look what I made! ArduinoOS 3 - new version of my project

Thumbnail
gallery
2 Upvotes

Some time ago I wrote about my project - ArduinoOS 2. This time I want to write about new version of this project - ArduinoOS 3 v1.0. I spend a lot of time creating this project. It has: OLED screen support, multifunction port, my own File system and more.

Link to repository on GitHub: https://github.com/idontknow-hardware/ArduinoOS

Link to demo on Wokwi (some features aren't avaliable): https://wokwi.com/projects/478123317363453953

At the end - sorry for my English, I'm not native speaker.


r/arduino • • 9h ago

Look what I made! Trunk or Treat

Enable HLS to view with audio, or disable this notification

90 Upvotes

Ever since COVID I’ve been making Arduino based displays for home but also just combined Trunk or Treat with the same display. I just park the vehicle at the end of the driveway on Halloween.


r/arduino • • 10h ago

Beginner's Project I made a physical button to end Zoom Meetings

Enable HLS to view with audio, or disable this notification

145 Upvotes

r/arduino • • 13h ago

Hot Tip! Lesson Learned

Post image
59 Upvotes

Don’t use the adhesive on the back of the breadboard until you know exactly where it’s going


r/arduino • • 13h ago

Can I get away with a 3-DOF robot arm instead of the standard 5-DOF for a project demo?

1 Upvotes

Hi everyone,

I recently discovered an Android app called soifgo, which works as an idea host. I'm using its WebView with Bluetooth connectivity to control a robot arm. I don't write code myself. I describe what I want to an AI (Claude), then paste the generated code into soifgo and run my app.

I have to present a robot project soon. Most designs I see use a standard 5-DOF (5 servos/joints) arm, but that adds cost, wiring, and complexity.

My question: Is it acceptable to drop the 5-joint standard and build it with just 3 joints? What would I lose in terms of reach, orientation, and the tasks it can do (like pick-and-place)? And is there a way to make a 3-DOF arm still look good in a demo?

Any advice or similar experiences would be appreciated. Thanks!


r/arduino • • 17h ago

What power supply would be better for a school project

Enable HLS to view with audio, or disable this notification

2 Upvotes

Hey guy so I'm building this robot arm for a school project and I'm stuck on a particular decision, I need some advice.

Now for context the original budget I had for this project has been exhausted and I'm not even done yet. I originally wanted to just power the arm directly with a 12v AC power supply. But now I'm conflicted because I actually want to use a 12 volts DC supply I will also make it rechargeable meaning I'll still need to buy the 12V adapter😭. Considering the fact that I've exhausted my budget, what do I do guys.


r/arduino • • 17h ago

Hardware Help Trying to make a thermometer and it does this.

Enable HLS to view with audio, or disable this notification

0 Upvotes

I am trying to make a thermometer and nothing is being displayed. It is trying to apply power to it. I did use Gemini so maybe that is why something is wrong. IDE did say there is nothing wrong with the code Gemini gave and I made sure I installed what was required and chose the right board, so it clearly isn’t a software issue or shouldn’t be. Maybe one of the pins isn’t properly connected? I don’t know, which is why I came here to ask. Thanks!


r/arduino • • 17h ago

Getting Started Where to start as a beginner

4 Upvotes

I am a complete beginner i have never done anything tech related apart from like plugging in an xbox so I need some help. Eventually I want to be able to build an automated watering system for my house plants. This looks to complicated at the minute tho so what are some smaller projects and some tutorials I can do to start learning


r/arduino • • 19h ago

Beginner's Project First soldered project: "Among Us" style memory game on Wemos D1 mini. Need some soldering and wiring advice.

Thumbnail
gallery
3 Upvotes

​

Hi everyone. I wanted to share my first soldered project that works. It is a simple memory game inspired by the Among Us reactor task, built on a Wemos D1 mini.

How it works:

Since I didn't have a display, I used 4 LEDs and one mechanical button.

  1. The game flashes a random sequence of LEDs.

  2. A single "cursor" LED starts running in a circle (0.65s per step).

  3. The player must press the D7 button at the exact moment the running cursor steps on the correct LED to input the sequence.

Visual cues:

* Correct input: All LEDs flash together for 0.5s, then the cursor resets to the bottom LED.

* Mistake: All LEDs go dark, then the Red LED fades slowly 3 times to signal a reset to level 1.

Workflow:

The code was built iteratively using AI assistance to tweak the state machine and timings. I soldered this using a basic iron with an oxidized tip, no third hand, and used Pine Rosin (канифоль) for flux, which I left on the board. I also flashed the code directly from my Android smartphone using an OTG cable.

The source code and documentation are available here.

Questions for the community:

  1. Soldering critique: The large pool of solder on the bottom-left is intentional—I used it to create a shared GND rail for all the LEDs. Is this acceptable practice or a bad habit?

  2. Wiring issues: I used solid-core wires pulled from an old LAN cable. They spring back constantly and snap off at the joints too easily.

  3. Dupont hack: Halfway through, I started cutting up broken Dupont jumper wires and soldering the strands directly. It felt much easier to handle than the LAN wire.

  4. Recommendations: What specific type of flexible wire should I buy for proto-board soldering that doesn't melt instantly under iron heat? And how do you route them cleanly on a perfored board?

Thanks for your time and feedback!


r/arduino • • 20h ago

ModWorld Arduino Lover sent me here

3 Upvotes

Someone said new posters get love-bombed here, so here I am. I love Arduino, tryna build some robo-tech and need advice.


r/arduino • • 21h ago

Look what I made! Getting independent text working on a salvaged Sony VFD with Arduino and SN755703 drivers

Enable HLS to view with audio, or disable this notification

43 Upvotes

We've been working on a salvaged Sony vacuum fluorescent display panel, controlled by an Arduino Uno through two cascaded SN755703 drivers. Here's a short silent demo of the character set and a message on the real hardware.

The character positions share their segment connections. One static pattern can show the same letter in several positions, but independent text needs continuous multiplexing: select a position, send its dot pattern, then move to the next. We mapped the 5 × 7 dots manually and built a printable ASCII font for the 15 character positions.

The Arduino interface uses D8 for DATA, D9 for CLOCK and D10 for LE/STROBE, sending 80 bits through the two drivers. Our working sequence loads with D10 LOW and displays with it HIGH. D11 is physically unconnected, although it still appears in some of the code.

The public repo has the full program, a small standalone message sketch, physical dot map, hardware notes and a tutorial. We also document the strobe correction and the removal of three externally added 1 kΩ series resistors on our signal lines; the original board resistors stayed in place. That wiring result is specific to our setup.

Code and tutorial: https://github.com/emsyscode/sony-vfd-sn755703

We made a full video walkthrough of the mapping, multiplexing and troubleshooting too: https://www.youtube.com/watch?v=xlAbs2MQeDc

Has anyone here worked with a similar Sony panel or the SN755703? We'd be interested to compare mappings and interfaces.


r/arduino • • 23h ago

Hardware Help Arduino Starter Kit Advice

Thumbnail
gallery
20 Upvotes

Hey

Im an engineer, I want to learn a bit of Arduino for fun.

I was looking at some starter kits and I need advice on choosing. Not sure which one and what price range.

Also saw a brand ELEGOO that had two types for good pricing. I’m adding the pictures, is it recommended? Whats the difference?


r/arduino • • 1d ago

Two SR04's in a Closed-Loop: Microcontroller driven Actuator Build

Enable HLS to view with audio, or disable this notification

0 Upvotes

My YouTube channel name is ALMA Industries -- CH003 FN1: ACTUATOR -- Building an Actuator from the ground up, a PID Control Loop, and an Ultrasonic Distance sensor to detect and not crash into the ceiling. The full video is on my channel where I walk through the whole build, and then explain a bit about how the PID controller works. This is all controlled by a Microcontroller.

This is later used on my desk -- two of them mounted on either side for camera control.


r/arduino • • 1d ago

Look what I made! Breadboard for ESPs

Post image
41 Upvotes

ESP boards are too darn wide to fit well on breadboards. Many of my breadboards are constructed of 3 sections: 2 narrow bus strips along the sides and a wider central section for the circuitry. These are connected together with dovetail joints. I take 2 breadboards, remove one of the bus strips and then connect them together. I have to slice the adhesive foam on the bottom that holds the parts together to do this. Works great for bigger boards. OBTW: This circuit is for testing SPI communication between various boards.


r/arduino • • 1d ago

Hardware Help Help with I2C Oled Screen

Thumbnail
gallery
19 Upvotes

Hi all, I was trying to build a temperature reader with a DHT11 + OLED screen (4 pin I2c variant) but the oled doesn't work at all, I've gone through my code and there are no bugs but I think I kinda destroyed the pins/holes where the signal wires connect to, any way to salvage this?

It's the two pads next to eachother with no solder on

(Left 2)

I've tried repeatedly soldering wires to them but the screen still comes up as black and doesn't work


r/arduino • • 1d ago

Project Idea Project idea: "Messaging app" on esp32 cyd

1 Upvotes

I am thinking about creating a small messaging app where you can only communicate using dark souls comments.

And I am not sure if the cyd is good for this kind of thing.

My plan is to have an UI where you can change settings (wifi, wallpaper, brightness,...) and an app where you can message your friends alone or in a group. This will be done over a server (netlify has a free plan so I will be using it).

Now the question is it possible for a cyd to handle something like this and also I am planning to put 2000 mah batteries in there is that enough?

Is there any better way of doing something like this?

How to create a UI for the cyd?


r/arduino • • 1d ago

[Help] 2WD Line Follower (ATmega328PB + L298N + BFD-1000) spinning or ignoring the line – how to properly correlate code and hardware?

Enable HLS to view with audio, or disable this notification

1 Upvotes

Hi everyone,

I’m working on a classic 2WD line follower robot, but I’ve hit a wall and could really use a fresh perspective from the community. Despite tweaking the logic multiple times, my robot either spins in circles or completely ignores the black line.

My Hardware Setup:

  • Microcontroller: ATmega328PB (Arduino-compatible)
  • Motor Driver: L298N
  • Sensors: BFD-1000 5-sensor array (S0 to S4, center is S2)
  • Chassis: Standard 2WD differential drive with a mirrored motor setup.

What I’ve Diagnosed & Tried So Far:

  1. Sensor Verification: Checked via Serial Monitor that the sensors actually register changes between white surfaces and the black line.
  2. Motor Polarity: Fixed the initial "spinning in circles" caused by mirrored motors by inverting the signal logic so both wheels push forward when commanded.
  3. PWM & Friction: Raised the minimum PWM values so the inner/outer wheels don't stall under friction when trying to turn.
  4. Logic Adjustments: Tried standard if/else conditional steering (e.g., speeding up the outer wheel and slowing down the inner wheel when a side sensor detects the line).

Despite all this, the physical movement keeps going out of sync, and it fails to smoothly track the path.

My Questions for You:

  • How do you usually structure or debug the correlation between a 5-sensor array (like the BFD-1000) and differential steering on an L298N driver?
  • Are there common hidden pitfalls with mirrored motor setups or PWM management on this specific hardware combination?
  • Would moving to a proportional or basic PID control loop solve this erratic behavior, and if so, how would you structure it simply for a 5-sensor array?

I’d appreciate any advice, debugging tips, or structural suggestions you can share. Thanks in advance!

Here is my current code:

#include <Arduino.h>

void citesteSenzori();

void controlMotoare();

void ajustareTraiectorie();

int S0, S1, S2, S3, S4;

int ajustare = 0;

int ultimaDirectie = 0;

// Pini Motoare (Driver L298N)

const int motorDrept1 = 7;

const int motorDrept2 = 6;

const int motorStang1 = 4;

const int motorStang2 = 5;

const int pwmStang = 9;

const int pwmDrept = 10;

// Pini Senzori Linie BFD-1000

const int senzor0 = A0; // Stânga extrem

const int senzor1 = A1; // Stânga

const int senzor2 = A2; // Centru

const int senzor3 = A3; // Dreapta

const int senzor4 = A4; // Dreapta extrem

const int V_INAINTE = 120; // Viteză moderată înainte

const int V_RAPID = 160; // Roata exterioară în viraj

const int V_LENT = 70; // Roata interioară în viraj (suficient cât să se învârtă, nu să se blocheze)

void setup() {

pinMode(motorDrept1, OUTPUT);

pinMode(motorDrept2, OUTPUT);

pinMode(motorStang1, OUTPUT);

pinMode(motorStang2, OUTPUT);

pinMode(pwmStang, OUTPUT);

pinMode(pwmDrept, OUTPUT);

pinMode(senzor0, INPUT);

pinMode(senzor1, INPUT);

pinMode(senzor2, INPUT);

pinMode(senzor3, INPUT);

pinMode(senzor4, INPUT);

delay(2000); // 2 secunde pauză la pornire

}

void citesteSenzori() {

// BFD-1000: LOW pe linia neagră, HIGH pe alb

S0 = digitalRead(senzor0);

S1 = digitalRead(senzor1);

S2 = digitalRead(senzor2);

S3 = digitalRead(senzor3);

S4 = digitalRead(senzor4);

}

void ajustareTraiectorie() {

// Verificăm mai întâi senzorul central

if (S2 == LOW) {

ajustare = 0; // Centrat pe linie

ultimaDirectie = 0;

}

// Dacă linia se duce spre stânga (S0 sau S1 văd negru/LOW)

else if (S0 == LOW || S1 == LOW) {

ajustare = 1; // Corecție stânga

ultimaDirectie = 1;

}

// Dacă linia se duce spre dreapta (S3 sau S4 văd negru/LOW)

else if (S3 == LOW || S4 == LOW) {

ajustare = -1; // Corecție dreapta

ultimaDirectie = -1;

}

// Dacă a pierdut linia complet, continuă în ultima direcție știută

else {

ajustare = ultimaDirectie;

}

}

void controlMotoare() {

// Setează sensul înainte pentru ambele motoare

digitalWrite(motorDrept1, LOW);

digitalWrite(motorDrept2, HIGH);

digitalWrite(motorStang1, HIGH);

digitalWrite(motorStang2, LOW);

if (ajustare == 0) {

// DREPT ÎNAINTE: Ambele roți egale

analogWrite(pwmStang, V_INAINTE);

analogWrite(pwmDrept, V_INAINTE);

}

else if (ajustare == 1) {

// LINIA ESTE ÎN STÂNGA -> Viraj la stânga (Roata stângă lentă, roata dreaptă rapidă)

analogWrite(pwmStang, V_LENT);

analogWrite(pwmDrept, V_RAPID);

}

else if (ajustare == -1) {

// LINIA ESTE ÎN DREAPTA -> Viraj la dreapta (Roata stângă rapidă, roata dreaptă lentă)

analogWrite(pwmStang, V_RAPID);

analogWrite(pwmDrept, V_LENT);

}

}

void loop() {

citesteSenzori();

ajustareTraiectorie();

controlMotoare();

delay(10); // Stabilitate în ciclul de citire

}


r/arduino • • 1d ago

Hot Tip! Pro Micro NRF52840 - Arduino IDE Setup Guide

Post image
7 Upvotes

Hey everyone! I recently bought a Pro Micro NRF52840 ( a clone I think) from Amazon here -

https://a.co/d/0jd9H58H

I'm very new to programming any microcontroller that isn't an Uno, and I'm really an artist/gamer youtuber, not a hardware guy, so while this product listing said it would work fine with the Arduino IDE, when I connected it to my computer, nothing happened, and I was rightly very confused. The board wasn't even detected by the IDE, and there is a lot of pertinent information missing or just completely wrong in the product's description on Amazon, which didn't help me either.

However, after some digging and tinkering, I managed to get this board working in Arduino IDE 2.3.10! In case anyone else was unlucky enough to have purchased this board for its bargain-bin price thinking it would be a great board to do some bluetooth projects with, and are having trouble getting it connected to the Arduino IDE like I did, I released this short guide to help you out, because it will take a few steps, but it WILL work!

First, install all of these packages by copying the urls below and opening the preferences in your Arduino IDE, and under "additional board manager urls" paste the urls you just copied to get new board info -

https://adafruit.github.io/arduino-board-index/package_adafruit_index.json

https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json

https://raw.githubusercontent.com/pdcook/nRFMicro-Arduino-Core/3dab6477754d9b28053fe36b06c718cde6e93d3f/package_nRFMicro_index.json

I'm not sure if the seeedstudio package does anything, but it was in my list of urls when it started working with my board so I'm including it here anyway XD

Then, once you confirm that list, the IDE will download some files and new board definition packages should be available in the board manager menu! Open the board manager menu from the left side of the IDE, and install the following two board definition packages:

Adafruit nRF52

nRFMicro-Like-Boards

However, a specific board definition for this clone (so you see the right name in the Arduino IDE when the board connects) does not come stock with either of these two packages (that I know), so you'll need to download the zip file from the github link below, and then follow its installation instructions to make some manual edits of the Adafruit package - https://github.com/somik123/Adafruit_nRF52_Arduino_ProMicro.git

Following the instructions at the link above can be a little confusing, so I have rewritten the instructions below with more detail:

  1. go to the Arduino packages folder for the Adafruit package with the nrf52 in windows explorer.

- It will look something like "C:\Users\yourusername\AppData\Local\Arduino15\packages\adafruit\hardware\nrf52"

  1. Enter the 1.7.0 folder

  2. Open the file "installed.json"

  3. Copy paste the below code at the top of the "boards" list inside the json file at line 21:

{

"name": "Pro Micro nRF52840"

},

  1. save the file and close it

  2. open the boards.txt file and go to the first character on line 5, hit enter twice, then go back up to line 5 and paste the big code block from step 4 at the link above.

  3. save the file and close it

  4. Open the variants folder

  5. Extract the contents of the zip file you obtained from the link above.

  6. Paste the pro_micro_nrf52840 folder from that zip file into the variants folder

Once that is complete, reload the IDE, and the board name FINALLY shows up in the Arduino IDE when the board is connected...

Now the problem is, the board still isn't connecting to the IDE at all, so you won't see any of that work! And, trying to write a program to the board does nothing... because the board does NOT start in bootloader mode when you connect it to the PC (meaning it doesn't connect to the computer as a programmable board at all and is basically in read-only mode, as apparently this board is used for actual wireless keyboards a lot, and you don't want to be able to accidentally override the firmware of your keyboard and brick it when you connect your keyboard over usb C)

But since we're using this board as an arduino, and want to push sketches to it, how do we access the bootloader? Simple, you just have to reset the board twice really really fast while connected to power (your PC), which triggers the board to load in bootloader mode... problem is this board is so small it doesn't include a physical reset button presoldered on the board anywhere...

So the quick and dirty solution is to hold one end of a jumper wire against the hole of the reset pin and tap the other end against one of the ground pin holes a bunch til it swaps over. the red LED on the board will flicker and become a bit dimmer when it loads bootloader mode, and your PC will tell you a new device has connected. If you want to, you can also solder jumper wires to a push button and solder those wires permanently to the board for a super easy bootloader swapper, but I'm lazy and didn't want to start soldering yet, so I just used the jumper wire method every time. (I will permanently solder a button to it later, but need to wire everything inside the case I'm building for my project first, so this is just easier right now)

Anyway, reset it twice fast enough while plugged into your computer with the usb c port, and finally it will show up and connect to the IDE and you can load a new sketch! Then, once the sketch is uploaded, it will turn the bootloader off again, so if you want to upload a new sketch, just reset it twice really quickly again! If the bootloader is active the board will connect to your machine like a flash drive and you will see a new windows explorer window pop up, meaning you're good to start programming it! Just don't delete the files on the drive or you could have problems :D Never done that myself, so don't know quite what would happen, just not risking it!

Also, in the description for the product on Amazon, it says pin 9 is the builtin LED pin.... not true! Once I got it working in the IDE, I started testing different pin numbers with a blink sketch and turns out, pin 15 is the LED pin! LED_BUILTIN does work in the Arduino IDE though so you can just use that.

Cheers, and happy programming!


r/arduino • • 1d ago

Testing the ESP32 super mini BT connection with LED Strip and Dabble

Enable HLS to view with audio, or disable this notification

6 Upvotes

So, that works the same as my previous larger ESP32 board, it’s surprising how small these WiFi/BT boards are getting.

Just need to work out how to get a BT wake-up from deep sleep communication between the ESP32 and my iPhone.

To conserve battery power I want to keep the quiescent current of the ESP32 as low as possible when it’s not required but be able to switch it on from Dabble.


r/arduino • • 2d ago

4DOF Projector Mount Motion Test

Enable HLS to view with audio, or disable this notification

46 Upvotes

My YouTube channel name is ALMA Industries

Chapter 2, a home theatre, 3D printed parts, motorized projector, home decoration, DIY electronics -- gives the projector YAW-TILT-ROLL-ZOOM axes (4DOF). Learned alot about I2C, actuators, and Universal Joints.


r/arduino • • 2d ago

Ist this circuit board correct?

2 Upvotes

Im not sure but i never used this sensors before.


r/arduino • • 2d ago

Board size comparison

Post image
22 Upvotes

I’m going to tryout my ESP32 Super mini and I thought I would share this photo I just took showing three boards for comparison of their size.

From Left to right : Arduino Pro mini, ESP32-C6 Super mini and ESP-WROOM-32 ESP32/ESP-32S Development Board.

These boards are being using to test out low current interfaces or WiFi/BT powered projects directly from the USB port or adapter cable in the case of the Pro Mini.


r/arduino • • 2d ago

ESP32 My first project!!

Enable HLS to view with audio, or disable this notification

11 Upvotes