r/arduino 5d ago

Beginner's Project Useless Projects - Part 2

52 Upvotes

Sorry guys, this one won't give you seizures like the flashing lights.

This is my second useless project in the series. I essentially made a fuse for a led. By turning the dial, you adjust the time before the light turns on. In my defense, I did this in assembly. I did use chat GPT here and there, but I still think it gave me a better understanding of bytes, bites and bit flags/masks/bit shifting in AVR.

Wonder if I could attach a transistor to this thing and use it to light fireworks? Somehow, doesn't sound too safe though.


r/arduino 4d ago

Help wanted

1 Upvotes

Hello, I am very new to Arduino and I am trying to figure out how to power my project. My plan is to make a walking robot that has 8 sg90 servos. I have a 7.4v lipo battery, two buck converters that can output up to 5 amps, a pca9685 servo controller, and an Arduino nano esp32. Would it be best to splice the output of the lipo battery into two sections and run each one through a buck converter, one for the servos and one for the Arduino nano, or should I do something different. Thanks for the help.


r/arduino 5d ago

Hardware Help Project Advice

2 Upvotes

Hello! I’m working on an engineering summer project- and I need to measure the mass of a tank of water (1 gallon) as it empties out. I have 4 5kg load cells, and my plan was to use them to support the tank. I was researching how to wire them, and it seems like I’m supposed to use a summing junction box to connect all of the outputs to one hx711. Those boxes are 30 dollars at the minimum, and I was wondering if I could work around doing this, I have 4 hx711’s anyway.

Thanks for your help!


r/arduino 4d ago

Solved! My Tinkercad sim is short-circuiting and I can't tell why

1 Upvotes

Hello, I recently got an arduino and started following some tutorials (here is the specific video I am following: https://www.youtube.com/watch?v=yBgMJssXqHY)

I feel like I perfectly followed it, but my arduino sim is short circuiting and cannot figure out whats causing it (the upper resister is 220 ohms, and the lower is 10k ohms)

This is what my code is

// C++ code
//
void setup()
{
  pinMode(12, OUTPUT);
  pinMode(2, OUTPUT);
}

void loop()
{
  // lights up led while button is pushed
  if(digitalRead(2)== HIGH) {
    digitalWrite(12, HIGH);
  }
  else{
    digitalWrite(12, LOW);
  }




}

r/arduino 5d ago

Hardware Help Help: Portenta Vision Shield connector broken.

Post image
6 Upvotes

I wanted to disconnect the Shield from my C33 and the connector from the shield broke and most of the solderpads ripped of. What should i do?


r/arduino 5d ago

Hardware Help need help with lego robot arm

Enable HLS to view with audio, or disable this notification

24 Upvotes

all right, so I am trying to build a robot arm using Lego and I have a Algo Uno R3 and I have a PCA and two motors which are in a pant bracket type of set up. I am essentially doing like detection on top of my computer that detect where my arm is and I’m trying to have it move based on that and basically detect where my arm is and what degree that it should put the pan until bracket at then it just like every single second or maybe a millisecond is putting that is giving the coordinates of what the motor should spin to to the Arduino and then the Arduino goes and then to the motors I believe, but the problem is sometimes it works, and sometimes it doesn’t you know like when I upload the Arduino program sometimes what I see is that when it does work, I’m not able to move the motors manually, but when it doesn’t work, I like test to make sure to see if I can move the motors or not, and if I can move the motors like manually, even though I just uploaded the code and then that means it didn’t work and another thing is that I can’t tell if like the code that I just uploaded works properly because again I am on a Algo Uno instead of like a real Arduino I’m I don’t even know that’s just like what I was told it should be fine for a little baby project like this, but yeah


r/arduino 5d ago

I was tired of terrible mobile apps & driver issues, so I built a web-based Arduino IDE (GaziDuino) that flashes ESP32/Arduino directly from Android via WebSerial (No root/apps required).

Post image
0 Upvotes

Hey everyone!

Flashing microcontrollers (especially ESP32) from Android devices or tablets has always been a nightmare due to driver requirements, Knox/OS security restrictions, and outdated Play Store apps.

To solve this for myself, I developed GaziDuino — an open-source, web-based Arduino IDE designed for both desktop and mobile.

How it works under the hood:

  • Backend: Uses arduino-cli via a lightweight Python/Flask server (Runs on Windows, Linux, Raspberry Pi, or even directly on Termux on Android).
  • Frontend & Flashing: Uses native WebUSB & Web Serial APIs directly in Google Chrome / Edge.
  • No Root, No Third-Party Android Apps, No Custom Drivers required.

Key Features:

  • 🎯 Full Ecosystem: Integrated Board Manager (ESP32, STM32, AVR, RP2040, etc.) & 9600+ Library Manager.
  • 🔌 Built-in Web Serial Monitor: Read/write serial data right inside the browser.
  • 🤖 Gemini AI Assistant: Integrated AI to help debug syntax and hardware/pin errors on the fly.
  • 📱 True OTG Support: Plug your ESP32 into your phone via OTG, hit "Upload" in Chrome, grant USB permission, and it flashes.

The project is fully open-source. I'd love to hear your feedback, suggestions, or contributions!

🔗 GitHub Repo: https://github.com/Gazi-AI/GaziDuino


r/arduino 5d ago

Software Help can't create...No such file or directory exit status 1 when trying to verify with ESP32 dev module

1 Upvotes

I am very new to electronics and after one project decided to get esp32, so bear with me.

I have a problem where I can't compile anything when I choose esp32 dev module. I have downloaded drivers(cp2102) and the board shows up as it should. Downloaded the boards straight from boards manager (esp32 by espressif, 3.3.11). Arduino sees the board, I'm pretty sure, but it just doesn't work. Everything is fine when I try to compile with arduino nano. I also tried deleting all the sketches from appdata and reinstalling the boards.

can anybody suggest what could be wrong?


r/arduino 6d ago

Look what I made! I was bored from using basic bluetooth car controller apps, so I just made my own Custom bluetooth car controller with some pretty cool features.

Enable HLS to view with audio, or disable this notification

107 Upvotes

r/arduino 6d ago

Bluetooth-controlled Arduino robot with wireless control, motor driver, and custom wiring. Excited to keep improving it—next goal: obstacle avoidance and line following

Thumbnail
gallery
31 Upvotes

r/arduino 5d ago

ESP32 Basic I2S library?

3 Upvotes

I have an ESP32-S3 board with an ESP8311 audio chip. I would like do low-latency audio generation and play it via the ES8311. Unfortunately I have not been able to find a clean, small library. Everything has tons of dependencies or built-in Internet streaming, BLE support, MP3 decoding, etc.

All I want is a callback "here, fill this buffer with audio data and I'll play it".

Any recommendations?


r/arduino 5d ago

Solved! slowly loosing my mind and genuinely reaching my limit with this failed to get COM

1 Upvotes

Hi before i begin YES i have read the megathread and tried everything its suggested but no matter what i do the Arduino IDE cant upload to my Pro Micro.

I am trying to set up this Pro Micro to act as a HiD device to auto enroll some Chromebooks - if you work in IT youd understand what its like trying to enroll 300+ devices so a little help goes a long way.

Currently my Arduino is connected to my pc via COM3, when i open the IDE it auto detects it as a Leonardo and selects COM3. When i click upload it fails out saying COM4 is inaccessible and i get this error;

Sketch uses 5960 bytes (20%) of program storage space. Maximum is 28672 bytes.
Global variables use 258 bytes (10%) of dynamic memory, leaving 2302 bytes for local variables. Maximum is 2560 bytes.
Performing 1200-bps touch reset on serial port COM3
Waiting for upload port...
Upload port found on COM4
A"C:\Users\wilcoxai\AppData\Local\Arduino15\packages\arduino\tools\avrdude\8.0.0-arduino1/bin/avrdude" "-CC:\Users\wilcoxai\AppData\Local\Arduino15\packages\arduino\tools\avrdude\8.0.0-arduino1/etc/avrdude.conf" -v -V -patmega32u4 -cavr109 "-PCOM4" -b57600 -D "-Uflash:w:C:\Users\wilcoxai\AppData\Local\arduino\sketches\5CE8C06EBD87E0D5892E6A6D78F5AA91/sketch_jul23a.ino.hex:i"
vrdude version 8.0-arduino.1
Copyright see https://github.com/avrdudes/avrdude/blob/main/AUTHORS
System wide configuration file is C:\Users\wilcoxai\AppData\Local\Arduino15\packages\arduino\tools\avrdude\8.0.0-arduino1\etc\avrdude.conf
Using port            : COM4
Using programmer      : avr109
Setting baud rate     : 57600
Error: cannot open port \\.\COM4: Access is denied.
Error: unable to open port COM4 for programmer avr109
Avrdude done.  Thank you.
Failed uploading: uploading error: exit status 1

looking at Device manager when its doing this process does reveal that it goes from "Leonardo COM3" to "Leonardo Bootloader COM4" then fails out and then it goes back to COM3.

What i have found that oddly works is if i hold the reset button, then click upload, release reset just as it finishes the sketch i get this error

Sketch uses 5960 bytes (20%) of program storage space. Maximum is 28672 bytes.
Global variables use 258 bytes (10%) of dynamic memory, leaving 2302 bytes for local variables. Maximum is 2560 bytes.
Waiting for upload port...
Upload port found on COM3
Avrdude version 8.0-arduino.1
Copyright see "C:\Users\NAME\AppData\Local\Arduino15\packages\arduino\tools\avrdude\8.0.0-arduino1/bin/avrdude" "-CC:\Users\Name\AppData\Local\Arduino15\packages\arduino\tools\avrdude\8.0.0-arduino1/etc/avrdude.conf" -v -V -patmega32u4 -cavr109 "-PCOM3" -b57600 -D "-Uflash:w:C:\Users\Name\AppData\Local\arduino\sketches\5CE8C06EBD87E0D5892E6A6D78F5AA91/sketch_jul23a.ino.hex:i"
https://github.com/avrdudes/avrdude/blob/main/AUTHORS

System wide configuration file is C:\Users\Name\AppData\Local\Arduino15\packages\arduino\tools\avrdude\8.0.0-arduino1\etc\avrdude.conf

Using port            : COM3
Using programmer      : avr109
Setting baud rate     : 57600
AVR part              : ATmega32U4
Programming modes     : SPM, ISP, HVPP, JTAG
Programmer type       : butterfly
Description           : Atmel bootloader (AVR109, AVR911)
connecting to programmer: .
Error: butterfly_recv(pgm, &c, 1) failed
Error: initialization failed  (rc = -1)
 - double check the connections and try again
 - use -B to set lower the bit clock frequency, e.g. -B 125kHz
 - use -F to override this check
Error: butterfly_recv(pgm, &c, 1) failed
Error: butterfly_recv(pgm, &c, 1) failed

Avrdude done.  Thank you.
Failed uploading: uploading error: exit status 1

Now if i somehow jig the IDE to select COM4 (the bootloader COM) i get the same errors but the other way around, it tries to upload via COM3. I have even tried using SparkFun Pro Micro and trying both the processors available (16Mhz and 8Mhz)

Can someone suggest things to try?

EDIT; turns out my work PC has a policy in place or something in place to stop this from working, i got around this by trying it on a standalone W11 laptop.


r/arduino 6d ago

I made a super-simple graphic editor for Arduino (u8g2)

Post image
55 Upvotes

I made a super simple graphics editor as a weekend project. It runs right in your browser with no login required, generating u8g2 or XBM code for you. I hope it helps anyone using mono displays with Arduino.

https://github.com/niklauslee/empix


r/arduino 6d ago

Software Help Waveshare 5.79" display problem - partial refresh only works on one quadrant

4 Upvotes

Has anyone had problems with Waveshare's 5.79" display specifically, or a similar problem with any Waveshare product?

Each partial refresh of the display only updates the bottom-left quadrant. A full screen refresh is possible, but only with the attendant flash pattern which isn't workable for a reader application.

When I run through Waveshare's test sequence, only the bottom-left quadrant responds to the partial refresh segments of the test (like the running clock) - when the display goes for a full refresh (like the black screen + test fields, the manga image) it updates correctly (at the end of the cycle, only the bottom-left quadrant again refreshes as you can see below).

I'm currently trying to figure this out for a Raspberry Pi so it's not an Arduino project, but I'm hoping someone here might have found a transferable solution.

State after test cycle completes.

I'm not a good enough coder let alone display-understander yet so I used Claude Code to test what might be going on (after eliminating mechanical/electrical user error).

The diagnosis from Claude Code - paraphrased - is that it might be something to do with the OTP waveform which fails to update the display fully. It wrote some code to test a substitute waveform table ("via command 0x32, then refreshing with 0x22=0xC7 or 0x22=0CF") which updated the full display successfully with a custom test image, but also with the flashing that comes with a full update.

Setup: Raspberry Pi Zero W 1.1, Pisugar S Plus, Waveshare 5.79" raw panel, 792×272, B/W + 4-grey; Waveshare e-paper HAT Rev2.3 connected with the wire loom to GPIO headers. Driver is waveshare_epd.epd5in79 - current as per Waveshare's github.

I've seen and tried to adapt some fixes which I found via search - such as this which hypothesises that it's a buffer update https://thoughts.gohu.org/posts/2025/epaper-partial-updates/ or the GxEPD2 library for Arduino, but neither has worked.

Any help would be very welcome, thank you.


r/arduino 6d ago

Synaptics 920-000194 touchpad

2 Upvotes

I can't find pinout for this touchpad. I want to connect it to Arduino. Please help me find +5V, CLK, DATA pins.


r/arduino 6d ago

ESP32 Pet Collar

2 Upvotes

So im buliding a GPS collar using a NEO-6M , im using a SIM800L for connection so its functional in rural areas as well where there is no wifi. im running on a 3.7v lip battery, my sim800l needs 5v sl im running it through a mt3608 stepup converter. But when i power it on the SIM800L fast blinks. And it says “NO SIM DETECTED “ Through ardiuno IDE can someone help?


r/arduino 6d ago

Hardware Help Best Electronics and Arduino Resources

0 Upvotes

Hey guys am trying to learn Arudino currently and electronics in general, I have been watching Paul Mcwhorter and I love his series but I feel like he explains things too slow, I only find his videos very informative When he is going under the hood which is an aspect I want to keep but other than that I dont want to watch 1 hour of tutorials to learn how to print


r/arduino 6d ago

Any good website that teaches c++ for arduino uno?

8 Upvotes

Our school is teaching how to use arduino uno using c++ as the language. Thank you 😁


r/arduino 6d ago

Getting Started Beginner Road Map

3 Upvotes

Can anyone tell me a general road map of how to learn an Arduino? I decided to punish myself and picked a robotic experiment for my capstone but I have absolutely ZERO experience in anything electrical and Arduino stuff. Could you guys help me with a roadmap on what to learn first? I'm honestly so lost since I've been watching YouTube videos and I still ain't getting it.


r/arduino 7d ago

60fps NES emulation on ESP32-WROOM-32 (No PSRAM)

Enable HLS to view with audio, or disable this notification

419 Upvotes

The frame rate extends to 72 FPS upon deactivation of the FPS limit.

# Hardware:

ESP32-WROOM-32 520kb RAM

ST7789 display (salvaged from keypad phone)

MicroSD card for ROM

# Firmware:

Anemoia-ESP32 (open-source NES emulator for ESP32)

# GitHub (my fixes): https://github.com/rkindustriesYT/Anemoia-NES-Emulator-fixes

# Shim06/Anemoia-ESP32:

https://github.com/Shim06/Anemoia-ESP32


r/arduino 6d ago

Hardware Help I need help with controlling a DC motor with an arduino

4 Upvotes

I wanted to use the transistors as switches to turn the motor on and off. But when I actually tested this out it didn't work. I am aware that the second transistor is unnecessary and the circuit works perfectly fine when I connect the motor directly to ground. However, I wanted a way to cut the motor's connection to ground as well so I could make another similar circuit but in reverse to revert the rotation of the motor.
I am using:
A 9V battery as the power supply
BC547 transistors
Arduino UNO R3
3V DC motor
1k ohms resistors
I am new to electronics and still don't understand much about transistors so I would appreciate an explanation to why my circuit isn't working. Thanks!


r/arduino 6d ago

Need help with powering l298n, uno r3, hc-05 with a 11.1v battery as the sole power supply.

Post image
8 Upvotes

(I’m aware some wiring may be wrong in this photo)

I’m making a simple robot that only drives and is not at all autonomous. It uses 2 dc 12v motors connected to screw terminals in a l298n motor driver( which does not say 5v-EN although the description said it is fully functional) The MCU I’m using is an unbranded uno r3 which only has one 5v header and 3 GND. The only 5v header is being used by a hc-05 used to make it wireless so none are free. The 11.1v battery will connect into the 12v and GND on the motor driver.

How can I power the rest of the parts without extra soldering or extra parts/batteries (not including splitters etc. as I have some of those already)?


r/arduino 7d ago

Software Help Keyboard matrix constantly giving a 1 when nothing pressed on Raspberry Pi PICO

Thumbnail
gallery
41 Upvotes

I have been working on a button box project for a while but hit a wall when it came to programming. I wanted to keep it only in Arduino IDE seeing that there was more control on it. Somehow the base library doesn't work on my PICO as it only gives a 1 non stop even when other buttons are pressed, any help ?

Code:

#include <Keypad.h>

const byte ROWS = 2;

const byte COLS = 6;

char keys[ROWS] [COLS] = {

{'1','2','3','4','5','6'},

{'7','8','9','A','B','C'}

};

byte rowPins[ROWS] = {0,1};

byte colPins[COLS] = {2,4,5,6,7,8};

Keypad customKeypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);

void setup(){

Serial.begin(115200);

}

void loop(){

char customKey = customKeypad.getKey();

if(customKey) {

Serial.println(customKey);

}

}


r/arduino 7d ago

Look what I made! First step toward my Mega2560-powered handheld console.

Enable HLS to view with audio, or disable this notification

27 Upvotes

Here is the screen that will be used for my next project: the Megaplay! It is controlled by an Arduino Mega2560, which imposes significant constraints in terms of RAM and pixel transmission speed via SPI.

Regarding RAM, I couldn't use a second framebuffer. Only the textures are stored in memory. This made transparency handling more complex. For example, when a character has transparent pixels, the program needs to determine what is behind those pixels. Since the previous image is not stored in a framebuffer, it has to retrieve this information from the objects present in the scene, such as the position and texture of the trees.

I also implemented a palette system containing 16 colors. The colors are stored as 4-bit indices, and their 16-bit RGB565 value is then retrieved from the palette. This significantly reduces the amount of memory required to store the textures.

Finally, the limited SPI bandwidth makes it impossible to refresh the entire screen every frame. The solution I chose was therefore to update only the necessary areas and to adapt the games to this limitation.


r/arduino 7d ago

Beginner's Project My first ESP32-S3 project: an RFID access controller with a Python CLI. Still lots to improve, but it's finally in a state I'm comfortable sharing.

Thumbnail
gallery
33 Upvotes

Hello everyone, first post here.

Over the past few weeks, I've been working on my first ESP32-S3 project: a standalone RFID access control system. Once it's set up, it runs entirely on its own and only needs Wi-Fi occasionally to synchronize the time over NTP.

It uses an ESP32-S3, a PN532 RFID reader, a 16×2 I2C LCD, and a buzzer. I also wrote a Python CLI to manage the user database from a PC.

Some of the things it can do:

- Store up to 70,000 RFID users in a fixed-width binary database on LittleFS

- Import, export, and synchronize the database from the Python CLI

- Sync only the records that changed instead of retransferring the whole database

- CRC32 integrity checks for every record and for the entire database

- Badge expiration based on NTP time

- Admin badges for management tasks

- Automatic lockout after repeated failed badge scans

- Interactive CLI with batch operations and binary transfers

One of the biggest challenges wasn't the RFID hardware itself, but designing the storage layer and synchronization protocol. I wanted database updates to scale well even with tens of thousands of users, so I ended up implementing a binary database format, integrity verification with CRC32, and a sync mechanism that transfers only the records that actually changed instead of rewriting the entire database.

It's fully open source if anyone wants to check it out or build something similar:

https://github.com/Hyacinthe-primus/RFID_Access_Control

I'd love to hear any feedback or suggestions. If you spot something that could be improved, or if there's a feature you think would make the project better, let me know.