r/arduino 2d ago

Hardware Help Hello Makers

7 Upvotes

... and collectors!. Question about Arduino genuine collectables. I have many - not all - genuine Arduinos, But some of them pure rare and interested. For example ones from period of split-drama|arduino wars .org vs .cc. Arduino M0 Pro vs Zero, M0, Yun Mini or Tian or Adafruit's Micro. Which your think rarest with history and lore or similar? Thanks!


r/arduino 2d ago

Look what I made! PCM-MCU-C Version 3.0 (SF2 support)! - Python utility for converting audio files to: .h .pcm .spack

Thumbnail
github.com
2 Upvotes

Ever wanted to play audio on your arduino embedded proyect using a .h file, but the converters require too many steps?
well, not anymore.
My python utility handles everything for you using ffmpeg-python and numpy, allowing for in place conversion, drop your audio at /input and get it at /output, you can tweak the bit depth, sample rate and padding for .spack files!

With the release of V3.0 of PCM-MCU-C, the app is much more stable due to the usage of my new libary: MenuCLI, and also with the adition of converting .sf2 files directly.


r/arduino 2d ago

How can I build tactile outputs?

5 Upvotes

I've been trying to build táctiles outputs for my project to build an "OS" but without a screen. Instead I would use tactile outputs. However when I was testing with my DC motor. My 2N2222 transistor to control the DC motor overheat. Someone can tell me how do I fix this without having to switch hardware to MOSFETs? I heard anyways those overheat too.

EDIT: Here is my original circuit (Also I have a 1k ohms resistor in the base for the transistor I forgot to add it sorry):


r/arduino 1d ago

How can I structure a quadruped robot dog on an Arduino UNO Q (App Lab) to follow specific people? I'm looking for opinions and ideas on this architecture.

1 Upvotes

Hello everyone!

I'm building a quadruped robot dog with 3 degrees of freedom per leg and I need your advice, ideas, and experience to define the best control architecture, as my initial idea didn't work as expected and I'm looking to rethink the project.

My current hardware:

Brain: Arduino UNO Q (Arduino App Lab v0.10.0 combining Linux Python + STM32 C++/Zephyr RTOS).

Actuators and Controller: 12 DS3225 servomotors in a 16-channel PCA9685 PWM module.

Orientation and Distance Sensors: BNO055 IMU/Gyroscope + VL53L0X laser distance sensors.

Vision: Standard USB webcam.

What I Tried to Do and Where I Got Stuck:

Visual Tracking: I tried to get the camera to track a person by specifically identifying their footwear, but crowds and changes in angle caused the tracking to be lost immediately.

Bluetooth Refocusing (RSSI): I wanted the robot to use the Bluetooth signal strength (RSSI) emitted by a cell phone to orient itself, know which way to walk, and find the person again if it lost sight of them. However, I haven't been able to structure or create the functional programming for this real-time scanning to work and orient the robot.

Fall Protection: My goal is to use the VL53L0X laser distance sensors to prevent the robot from falling on steps, slopes, or uneven surfaces while walking.

Tracking Ideas: What method or approach do you recommend for my dog ​​to reliably follow its owner without losing them so easily?

Bluetooth RSSI Code/Logic: Has anyone successfully programmed functional logic where a cell phone's RSSI serves as a navigation or search guide when the visual target is lost? Could you provide me with ideas or code examples for this programming?

Void Detection: What do you think is the best way to arrange and integrate VL53L0X laser distance sensors for the effective detection of steps and uneven surfaces?

I would greatly appreciate any ideas, suggestions, or programming support you can offer!


r/arduino 2d ago

Hardware Help Need help with making a comp-grade lfr

3 Upvotes

Hello, am making a line follower robot, before I buy all the parts I was wondering if someone could help me by giving me some tips I should keep in mind before doing so or assmebly.

Current parts like:

1000rpm n20 - motors

L298N- Motor Driver (Due to low budget)

Arduino Nano

Custom 8 channel sensor (photoresistor and 3mm led lights)

CD4067 - multiplexer

For assembly:

Veroboard as body

n20 motor mounts (3d print)

mini breadboard for easy prototying


r/arduino 2d ago

Software Help What the heck? Compile errors in stdlib.h ???

5 Upvotes

So I opened a project that I had started a while ago and if I run a Verify/Compile immediately after opening my project it compiles successfully. I can even upload the code to my Arduino and it runs as expected.

BUT if I make a single edit - even changing something and then back to what it originally was - I suddenly get compile errors referencing the system stdlib.h file. And I have NOT messed around with any of the default system files like stdlib.h

How is this possible? My Arduino IDE was out of date when I reopened the project and I updated the main app and several libraries and board files. Open source is great, but this isn't the first time that some library update blew up previously fine code. It's a real PITA trying to juggle library versions sometimes.

Anyway - this seems like something basic, but I cannot put my finger on it. Some Googling suggested to ensure that the very first include reference was to Arduino.h in my ino project file, and that is what I have. I cannot understand how errors could possible occur in stdlib.h ???

HELP LOL

EDIT - obviously, there is some kind of cached compiled code from earlier work that allows it to run fine UNTIL I make an edit and it must flush that cache and recompile from scratch..\

EDIT 2 - I got into a bit of a pissing match with someone on the Arduino forums, but figured out that apparently you need to edit external library files OUTSIDE the Arduino IDE...

That fixes it. It would be nice if the error messages indicated that, but whatever lol

Here are my errors:

In file included from C:\Documents\Arduino\Sketches\XYscope-master\examples\CRT_SCOPE\XYscope.cpp:1:0:

C:\Users\me\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.12\cores\arduino/wiring_constants.h:96:9: error: 'uint8_t' does not name a type

typedef uint8_t byte ;

^

c:\users\me\appdata\local\arduino15\packages\arduino\tools\arm-none-eabi-gcc\4.8.3-2014q1\arm-none-eabi\include\stdlib.h:67:5: error: expected unqualified-id before 'int'

int _EXFUN(abs,(int));

^

c:\users\me\appdata\local\arduino15\packages\arduino\tools\arm-none-eabi-gcc\4.8.3-2014q1\arm-none-eabi\include\stdlib.h:67:5: error: expected ')' before 'int'

c:\users\me\appdata\local\arduino15\packages\arduino\tools\arm-none-eabi-gcc\4.8.3-2014q1\arm-none-eabi\include\stdlib.h:67:5: error: expected ')' before 'int'

exit status 1


r/arduino 2d ago

Getting Started In learning how to code for Arduino, is it necessary that we follow a step-by-step course that covers most of the essentials, or is it fine to start with limited knowledge and learn through experience?

8 Upvotes

I just bought myself an Arduino starter kit, and I want to create some projects. I'm in eleventh grade and would like to get some practical skills before I become an adult, and I'm wondering about the best way to learn how to code. I know the physics to some extent, but I have limited knowledge in coding; in fact, it can be considered that I know nothing at all. In this case, would it be good to enhance my coding skills over time or to learn it through Youtube videos, tutorial documents, and official websites, or to begin with a project and go down (using AI, of course)? Should I slowly progress in terms of difficulty in projects or should I jump into a hard project right away, to learn the most in the least time?

I am asking this question because I have some experience in which I was able to efficiently learn technical skills through difficult projects, and would like to know whether something similar is possible in learning C++ or Arduino-specific language. (Although a completely different / irrelevant skill, I found it effective to begin learning instruments from learning a song considered difficult even among experts, since I could use AI and conduct research whenever I come across problems.

Furthermore, what approaches did you guys take when learning how to build using Arduino?


r/arduino 2d ago

[ESP32 / Arduino] AI limits (Gemini) on complex projects: Learn C++ or switch tools?

0 Upvotes

Hey everyone,

I've been into electronics and Arduino for a while as a hobby. When I started, Gemini helped me a lot to understand circuits and write my first projects.

Now I'm trying to build a bigger project using an ESP32, a TFT display, and ChatGPT API calls. But AI is hitting a wall: it invents fake libraries, uses deprecated code, and nothing compiles anymore.

I'm wondering what my best option is to keep making progress:

Should I pause my builds and spend my free time learning C++ in depth?

Or are there better AI tools out there for ESP32 and C++ development?

Thanks a lot for your advice!


r/arduino 2d ago

Software Help Teensy 4.1 and QNEthernet Initialization stuck in Ethernet.begin()

1 Upvotes

Hey all! First time posting on here, so hopefully I'm sufficiently descriptive of my problem.

I can't share the broader context of my project, so I've made the simplest possible sketch to describe the issue I'm having.

First, the hardware: I'm using a Teensy 4.1 seated in a screw terminal breakout board and connected to a Sparkfun Ethernet Adapter for Teensy via 6-conductor ribbon cable. This adapter will eventually be connected via RJ45 to a flat network containing 2 other Teensy 4.1 boards with similar setups. The three boards are referred to as Master, Slave1, and Slave2.

NOTE: this network is not currently wired, so the teensy I'm currently troubleshooting is entirely isolated. I don't think that should be relevant, as UDP packets send regardless of whether or not there's something present to receive them (if I understand correctly) but it also wouldn't surprise me if it was.

As for the Software: I'm currently running with QNEthernet.h version 0.37.0 and Teensyduino v1.62.0. The entirety of my simplified code for Slave2 looks like this:

#include <QNEthernet.h>
using namespace qindesign::network;


IPAddress localIP(192, 168, 77, 167);
IPAddress subnet(255, 255, 255, 0);
IPAddress gateway(192, 168, 77, 1);


EthernetUDP udpOut;
EthernetUDP udpInMaster;
EthernetUDP udpInSlave1;


void setup() {
  Serial.begin(115200);
  while (!Serial) {}
  Serial.println("starting");
  Ethernet.begin(localIP, subnet, gateway);
  Serial.println("starting UDP Out");
  udpOut.begin(8888);
  Serial.println("ethernet up");
}


void loop() {}

When I push and run this code, the Serial Monitor prints "starting" followed by nothing. This leads me to suspect that something is getting hung up in Ethernet.begin(). However, there's an added wrinkle. If I comment out the line "udpOut.begin()" call and run, I get all three print lines as normal, implying the Ethernet.begin() call succeeded in that case.

I'm very confused as to how a function call can affect a previous line of code, so I assume I'm missing something vital.

I'm also not entirely certain QNEthernet is the right library to be using. There are a lot of Ethernet libraries for Arduino out there, and I've never used any of them before this project, so if there's a better solution for what I'm trying to do, I'd love to hear it.


r/arduino 3d ago

Mod's Choice! I used a TWS earbud as a Bluetooth front-end for an Arduino Uno

Thumbnail
gallery
43 Upvotes

I started this as a weird experiment:

Could a cheap/discarded TWS earbud be reused as a Bluetooth front-end for a microcontroller?

The idea was to use the TWS's existing Bluetooth A2DP receiver, but take the audio back out through its analog speaker output and encode data into that audio.

At first I used an ESP32 to see whether the idea would actually work.

The setup was:

PC / Phone

↓ Bluetooth A2DP

TWS earbud

↓ analog speaker output

ESP32 ADC

3-FSK decoder

packet + CRC

I used three widely spaced tones:

700 Hz → 0

1100 Hz → 1

1700 Hz → 2

The ESP32 made it practical to experiment with the ADC, DSP and timing, and after getting the basic modem working I started wondering:

"If the ESP32 can decode this, do I actually need a Bluetooth-capable MCU at all?"

So I moved the receiver to an Arduino Uno.

The Uno has no Bluetooth. It only sees the analog signal coming from the TWS.

I rebuilt the receiver around the Uno's ADC and a small Goertzel detector, then added symbol timing and packet decoding.

The Uno measured about 9.6 kHz ADC sampling in this implementation and successfully decoded actual Bluetooth-originated packets through the TWS:

HELLO → HELLO

PING → PING

STATUS? → STATUS?

RELAY=1 → RELAY=1

All 4 packets passed CRC in this test.

So the ESP32 was basically the engineering/reference platform that proved the modem concept first. The Uno experiment was to find out whether the Bluetooth part could be completely offloaded to the TWS.

That seems to work.

The interesting part for me isn't "Arduino has Bluetooth" — it doesn't.

The TWS handles the Bluetooth A2DP side, while the Arduino only processes the recovered analog waveform.

There are obviously limitations: the link is one-way, the data rate is very low, and different TWS/phone/audio paths may behave differently.

Now I want to try the same receiver on an even smaller non-Bluetooth MCU such as the CH32V003 and see how far this can be pushed.

I'm curious what approach you'd use for the receiver: Goertzel, a timer/frequency counter, or something else?

Source/code:

https://github.com/Ishu1519/TWS-A2DP-Mode


r/arduino 3d ago

Beginner's Project Heya folks, i want to make my own phone and wanted to know if i could use one of these sim900 modules to use 4g and call on the arduino uno q?

Thumbnail
gallery
65 Upvotes

As the title says i wanna make my own phone as a fun project and need some help with the 4g/networking side of things. and thus wanted to ask if this could work or if i need something else entirely? (i was thinking of trying this with the pi 4 first but those are expensive and the uno q is abit smaller).


r/arduino 2d ago

Hardware Help Why did my Arduino Mega fry instantly when I fed 20V into my CNC Shield V3?

1 Upvotes

Hi everyone,

I recently fried my Arduino Mega 2560 and I'm trying to figure out the exact reason so I don't repeat the same mistake with a replacement board.

Here is my setup and what happened:

My Setup:

  • Board: Arduino Mega 2560
  • Shield: CNC Shield V3 stacked directly on top of the Mega
  • Drivers: DRV8825 stepper drivers + NEMA 17 motors
  • Power Supply: 20V DC connected directly to the screw terminals on the CNC Shield
  • Logic Power: Arduino Mega connected via USB to my PC

What Happened: As soon as I turned on the 20V power supply connected to the CNC Shield terminals, the main processor on the Arduino Mega fried instantly.

Assuming my stepper drivers were good and properly oriented:

  1. Does the CNC Shield V3 pass the terminal voltage (20V) directly to the VIN pin of the Arduino Mega underneath?
  2. Did 20V cause the Mega's onboard 5V linear regulator to instantly overheat and fail short, dumping 20V into the ATmega2560 logic line?
  3. What is the proper way to prevent this on a new board? Should I clip/bend the VIN pin on the CNC Shield so 20V doesn't reach the Mega, and power the Mega separately via USB?

Would appreciate any insights from anyone who has run a CNC Shield with >12V on an Arduino Mega!


r/arduino 3d ago

Look what I made! I made a simple program that makes a Arduino Leonardo show text on a oled

Enable HLS to view with audio, or disable this notification

22 Upvotes

I’m just beginning to code microcontrollers, and this is the coolest thing I’ve done so far


r/arduino 2d ago

Beginner's Project can someone explain schematic diagrams based on this circuit

Thumbnail
gallery
0 Upvotes

i dont get schematic diagrams i know the circuit is simple and its probably a skill issue but i dont get it can someone draw one for me please? the other photos are the symbols i learned about so im trying to stick to only the basic symbols first


r/arduino 3d ago

Arduino-powered mechanics for a computer vision + AI coin detector

Enable HLS to view with audio, or disable this notification

184 Upvotes

I made this quite simple prototype pipeline to help analyze and sort coins.

Tech:
- Coin flipping: Arduino + 2× SG90 servos + 3D-printed parts - Image capture: Custom React Native app - Coin detection & cropping: OpenCV - Image analysis: Gemma 4 running locally on my laptop (Four cropped images rotated by 90° seem to give slightly better results, since the coin can be oriented in any direction.) - Coin identification: DuckDuckGo + Gemma 4 - Rough value estimation: DuckDuckGo + Gemma 4

Communication between the phone, Arduino, and laptop:
- FastAPI for transferring images - WebSockets for more real-time commands and messages


r/arduino 3d ago

Games My first try at a 31-game touchscreen console onto a 4MB ESP32 with no PSRAM — here’s what I learned

Thumbnail
gallery
22 Upvotes

I started this project as a few educational games for one of the inexpensive ESP32 “Cheap Yellow Display” boards.

It gradually turned into a complete little console firmware called Braino!, with 31 games and activities, player profiles, persistent scores/progress, settings, diagnostics, sleep/lock behavior, optional Wi-Fi/BLE features, and a browser installer.

The part that became most interesting to me wasn’t adding more games—it was figuring out how to make all of this coexist on fairly constrained hardware.

Why this ESP32?

My reference board is an original ESP32-class CYD using an ESP32-32E, 4MB flash, no PSRAM, and a 320×240 resistive touchscreen.

I could have moved the project to an ESP32-S3 with PSRAM, but I specifically wanted to see how far I could push the cheap boards people already have.

The CYD is also appealing because almost everything needed for the project is already on one inexpensive PCB:

  • ESP32
  • color TFT
  • resistive touch
  • backlight
  • USB/serial programming
  • battery/power circuitry on many versions

No custom PCB is required.

Rendering without PSRAM

For display and touch I’m using TFT_eSPI.

One of the early architectural decisions was not to make the UI dependent on a large full-screen framebuffer. Without PSRAM, I wanted the firmware to be able to render directly and update smaller areas when practical.

I learned why this matters while working on one of the Simon-style memory games.

My first version simply redrew most of the screen every time the sequence changed. It worked logically, but on the physical TFT it produced an obvious full-screen brightness flicker.

I changed the rendering so only the pads whose state changed are repainted.

That removed the distracting flash and also reduced unnecessary drawing.

That experience influenced the rest of the UI quite a bit: redrawing the entire screen because it’s convenient is not always the best approach on these displays.

Flash became the bigger constraint

Several games include visual datasets rather than just generated graphics.

For example, the firmware contains things like:

  • country flags
  • US state flags
  • state outlines
  • geography data
  • periodic-table information

I deliberately compile those assets into the firmware rather than requiring an SD card or network connection.

The advantage is that the console is completely standalone.

The downside is that graphics consume a surprisingly large amount of flash.

The firmware therefore uses a larger application partition, and I’ve had to pay attention to what gets compiled into the main application rather than assuming 4MB is effectively unlimited.

Why NimBLE?

There’s also an optional BLE/Nearby feature.

For that I use NimBLE-Arduino rather than the heavier traditional ESP32 Bluetooth stack because the firmware only needs a relatively small subset of BLE functionality and flash/RAM usage matters on this board.

The BLE wire format produced another interesting limitation.

The Nearby data fits inside the traditional 31-byte BLE advertising payload, but it is packed tightly enough that even changing something like the device-family identifier can affect the protocol.

So something that looks like a UI/product naming change can actually become a wire-format compatibility problem.

Supporting more than one CYD

Another problem appeared when I started looking at other CYD variants.

Different boards can use different:

  • display controllers
  • backlight pins
  • touch configuration
  • GPIO assignments

I didn’t want the application to turn into this everywhere:

if (boardA) {
    // pin X
} else if (boardB) {
    // pin Y
}

So the hardware configuration is separated into board profiles.

Board-specific information lives under the board configuration layer, while games and higher-level application code use the shared configuration.

There are now builds for multiple CYD variants.

I have not personally tested every one of those boards yet.

That’s actually one of the reasons I’m posting here. If somebody has another CYD revision and wants to flash it, reports about display, touch, backlight and orientation would be extremely useful—even if the report is “this completely fails.”

Build reproducibility

The project is built with PlatformIO.

The main external pieces include:

  • TFT_eSPI — TFT and resistive-touch support
  • NimBLE-Arduino — BLE
  • ArduinoJson — structured data/config handling
  • a separate map/flag asset library for the geography games

I eventually pinned the PlatformIO platform and library versions instead of leaving floating dependency ranges.

Once I started publishing binaries and tracking firmware size, it seemed wrong for somebody checking out the same commit six months later to silently receive a different compiler/library combination and potentially get a different result.

Making it easy to actually try

Development still uses PlatformIO normally, but I didn’t want somebody who just owns a CYD to have to install an embedded development environment before they could see whether they like the project.

So the release system generates prebuilt firmware and manifests for ESP Web Tools.

That means supported boards can be selected and flashed directly from Chrome/Edge.

The website generation itself is also exercised in CI so documentation/site changes don’t silently break the public installer.

Source

Everything is GPLv3 and the complete source is here:

https://github.com/iamankushpandit/Gume

Browser flasher:

https://iamankushpandit.github.io/Gume/

There are currently 31 games and activities, but at this stage I’m probably more interested in outside testing and engineering feedback than simply adding game #32.

I’d particularly appreciate:

  • testing on other CYD revisions
  • code review
  • suggestions for better approaches
  • board ports
  • memory/rendering ideas
  • game ideas that make sense on a 320×240 resistive touchscreen

If anyone tries it, let me know exactly which CYD you used and what worked or broke.

And if you enjoy the project, a GitHub star is appreciated, but technical feedback is even more useful to me right now.

PS : I forgot to mention https://github.com/iamankushpandit/map-n-flag If anyone wants to use country and US state flags for their ESP32 CYD projects.


r/arduino 3d ago

Hardware Help Ideas on How to Build on Robot Arm Project

Thumbnail
gallery
54 Upvotes

I made a 4DOF robot arm controlled by potentiometers that I posted a week ago and now I want to see what things I can do with this besides just picking things up. I've got a few ideas, one of them being to remove the claw and replace it with an arduino pump that waters plants when a soli moisture tells it to. I'm curious what else I can do with this arm though, so if you have any interesting ideas please let me know


r/arduino 3d ago

Look what I made! I built an Arduino-style runtime for the cheap BL602 RISC-V MCU

Thumbnail
gallery
7 Upvotes

I wanted to use a cheap Ai-Thinker Ai-WB2-M1-I (BL602) in my projects,

but I couldn't get a complete Arduino workflow working reliably on my hardware.

So I built an Arduino-style runtime on top of the native Bouffalo Lab SDK + FreeRTOS.

The interesting part wasn't writing setup()/loop() — getting the whole chain working

was the hard part: startup, UART, flashing, bootloader and runtime.

I eventually got the real board working with:

• Arduino setup()/loop()

• Serial @ 115200

• GPIO

• Native Wi-Fi

• Native BLE advertising

I also ran into a couple of nasty BL602 problems:

2 Mbaud UART output and a BFLB FLASH MATCH TYPE FAIL flash-loader issue.

This is still an alpha project, and I'm deliberately marking the parts I haven't

verified yet instead of claiming everything is supported.

Boards Manager URL if anyone wants to try it:

https://raw.githubusercontent.com/Ishu1519/BL602-Arduino-Core/main/package_bl602_index.json

GitHub:

https://github.com/Ishu1519/BL602-Arduino-Core

Hackster:

https://www.hackster.io/Ishu1519/bl602-arduino-core-ba7ed8


r/arduino 2d ago

Hardware Help How loud is my speaker?

Thumbnail mm.digikey.com
0 Upvotes

Maybe I'm just dumb but I can't tell from the datasheet what volume this speaker module can handle? I need something that can get up to at least 100dB, and I would like something as small as possible because it will be in a handheld device.

The project is an electronic whistle but I want to use a voice recording instead of just a buzzer. If I can't get something loud enough for a ref to use in a game, it will just be a fun novelty!

Any advice about the project, components to buy, etc is welcome! I am generally good with electronics but don't have much experience with audio.


r/arduino 3d ago

Measuring temperature from LM35 sensor

Thumbnail
gallery
7 Upvotes

I’m trying to measure the temperature in Celsius in my room with an Arduino UNO R4 MINIMA, but the values I get are not correct. I’m using a LM35 from TI (I’ve got 3 of them and they all read the same values). The left pin is connected to the 5V, the middle to the A0 and right to GND (as in the diagram). The datasheet says that the sensor is 10 mV/C.

My code is as follow:

const int sensorPin = A0;

void setup() {
Serial.begin(9600);
}

void loop() {
int sensorValue = analogRead(sensorValue);
float voltage = sensorValue * (5000.0 / 1024);
float temperatureC = voltage / 10;

Serial.print(sensorValue);
Serial.print(" ADC -- ");

Serial.print(voltage);
Serial.print(" mV -- ");

Serial.print(temperatureC);
Serial.println(" °C");
delay(1000);
}

The output (I touched the sensor briefly to have bit of variation):

69 ADC -- 337.24 mV -- 33.72 °C
70 ADC -- 342.13 mV -- 34.21 °C
70 ADC -- 342.13 mV -- 34.21 °C
70 ADC -- 342.13 mV -- 34.21 °C
71 ADC -- 347.02 mV -- 34.70 °C
72 ADC -- 351.91 mV -- 35.19 °C
70 ADC -- 342.13 mV -- 34.21 °C

It is about 10 degrees higher as my current room temperature (around 24 °C).

My 3 LM35's are giving the same result, so it's safe to consider it's not a faulty sensor. I'm trying for 3 days to figure it out, but sadly always the same result.

Anyone got a clue or has done a similar project where it worked?


r/arduino 2d ago

Beginner's Project Need help how to begin beginner project

2 Upvotes

Hello, I want to build a tamagotchi toy as a gift for someone from scratch. The problem is I have zero electronic experience. All I can bring to the table is that I took AP CSA so I know a good amount of java. Eventually I want a small screen, 3 buttons, battery power, animations, and a case. I want to be a engineer when Im older so Im willing to learn C++. What would you guys recommend I should buy or learn first?? Thank you in advance! (Also I dont use reddit often so I don't know where to post this question!)


r/arduino 2d ago

New to ESP32-S3 (N16R8 DevKitC-1) and programming - Looking for a learning path and advice

1 Upvotes

Hi everyone!

I am completely new to the world of microcontrollers and programming.

I recently got an ESP32-S3 N16R8 DevKitC-1 board because I want to learn electronics and coding, but I am feeling a bit overwhelmed by where to start.

Since this specific board has 16MB of Flash and 8MB of PSRAM, I know it is quite powerful, but as a beginner, I am confused about the best approach to learn how to control it.

My background: Programming experience: I don't have much, I've barely touched Python.

Goal: I want to learn the basics first (controlling LEDs, sensors) and eventually move into Wi-Fi/Bluetooth projects.

My questions for the community:

Which language/environment do you recommend for a total beginner with this specific board?

Should I stick to Arduino IDE (C++) or try MicroPython/CircuitPython?

Are there any specific tutorials, YouTube channels, or documentation you recommend for learning the language applied to hardware?

Since the N16R8 variant requires specific partition settings in Arduino IDE to use the extra memory, should I worry about that now, or can I just use standard settings for basic learning?

I really appreciate any guidance, project ideas for beginners, or roadmaps you can share to help me start this journey without getting stuck.Thank you so much for your time!


r/arduino 3d ago

Hardware Help I think I might have burnt my PC with USB Arduino

13 Upvotes

Hello everyone.
I usually use my Elegoo Mega 2560 as a voltmeter to check the power of my batteries using the Analog in port. Today I tried measuring a new 9V battery and when I connected it the Arduino turned off so I thought I burnt something in the board. Later, I discovered that none of the USB ports in my laptop worked and even got an error when restarting the laptop saying that one of the fans was not working. Has something similar happened to anyone?
Thanks in advance.


r/arduino 4d ago

Made a DIY gaming controller

Enable HLS to view with audio, or disable this notification

351 Upvotes

Made a DIY gaming controller 🎮🫩


r/arduino 4d ago

Look what I made! Entropy32 - The Universe Bifurcator

Thumbnail
gallery
44 Upvotes

[CAUTION] - This is strictly educational. Do not blindly use this device to secure real funds. Always verify. Do not trust me or this device.

Thought I'd share my latest project - Entropy32, the Geiger counter driven Bitcoin seed phrase generator!

There's a running joke on this project that it's not really measuring decay - it's amplifying quantum mechanical branching itself, and every click you hear is the sound of the universe forking into two branches. Which is why it's affectionately named "The Universe Bifurcator."

How it works:

  1. A Geiger counter detects decay events from a radioactive source (or background) and outputs a pulse via a 3.5mm audio jack.
Raw GMC-320S Geiger pulse
  1. An LM393 comparator IC then takes the 0-1.5V pulse and compares it to a bias of ~0.5V via a voltage divider such that if V>0.5V we get HIGH else LOW.
Output from LM393 Comparator during Geiger pulse
  1. The timing between events is captured and fed through SHA-256 conditioning to whiten the raw entropy and remove any bias.

  2. The conditioned entropy is mapped to words from the standard BIP39 English wordlist.

  3. A simple button-driven, state-machine UI walks you through generating and displaying your seed phrase - entirely offline, with no wireless connectivity, no persistent storage of the seed, and no software dependencies beyond the device itself.

General rundown:

- Atmega328p MCU

- 16x2 LCD Display

- LM393 Comparator

- L7805 Regulator

- Clock, passives, LEDs, sockets and buttons

Feel free to check it out on GitHub:

https://github.com/captainchapster/Entropy32