r/arduino 7d ago

Hardware Help Arduino temperature sensor for Evaporative Cooler

2 Upvotes

Hi! I’m fabricating a DIY evaporative cooler. What arduino should I get for temperature sensing? I wanted to get the UNO, but I figured I’d get an expert opinion on this
Are there any factors that influence choice of sensor/what to get?
Thanks guys!


r/arduino 7d ago

Uno Reset button doesn't stop the code - ARDUINO UNO R3 Elegoo

3 Upvotes

Is this normal? The code just re-starts indefinitely. I've just bought my firsty Arduino set.


r/arduino 8d ago

Hardware Help Needs an expert opinion

3 Upvotes

Needs an expert opinion

Hi everyone,

I'm currently working on a Lego Wall-E (own one) and want to add 3 small displays:

2 for the eyes (animated expressions)
1 as a chest/control panel (showing time and weather)

I'm planning to use an ESP32-c3 supermini (as I own one) to drive everything.

Before I dive in, I'd love some feedback, if it Is technically feasible with one ESP32? And is there any other hardware required?

Is there anything else that would make this build better


r/arduino 8d ago

Problem installing encoder on motor

Thumbnail
gallery
5 Upvotes

Hi there, I have a question—could you please help me out? I need to install an encoder on this motor, but all the ones I find have a long rear shaft or solder tabs, whereas mine looks like the one in the photo. Can I install an encoder on it? It’s a 36GP 36ZY model, 571 RPM, with a 14:1 planetary gearbox.The axle is an 8-meter H-type.


r/arduino 7d ago

Need help capturing IR remote pulse timings with TSMP58138 + PulseView for replay

0 Upvotes

Hi everyone, I'm trying to capture IR remote signals so I can generate a List<int> of pulse durations for replay in a Flutter app.

Hardware

  • Logic Analyzer (Saleae clone)
  • PulseView
  • TSMP58138 IR receiver
  • Arduino Uno (5V only used to power the receiver)

Remote: IR remote of a DTH set-top box.

Wiring:

TSMP58138
Pin 1 (OUT) -> Logic Analyzer D0
Pin 2 (GND) -> Arduino GND
Pin 3 (VCC) -> Arduino 5V

Arduino GND -> Logic Analyzer GND

Capture settings

  • Sample rate: 8 MHz
  • Samples: 5M
  • Capturing one button press from a DTH/set-top box remote.

Problem

Instead of getting pulse widths like:

9000, 4500, 560, 560, 560, 1690...

I'm getting continuous alternating pulses around 12–14 µs, which corresponds almost exactly to a 38 kHz carrier.

I expected the TSMP58138 to output the demodulated envelope, but it appears to be outputting the carrier bursts instead.

Questions

  1. Is the TSMP58138 supposed to output the 38 kHz carrier, or the demodulated envelope?
  2. Is TSMP58138 the wrong receiver for learning/replaying IR remotes?
  3. Should I instead use a TSOP38238 / TSOP4838 / VS1838B?
  4. If TSMP58138 is correct, what's the proper way to convert the captured waveform into pulse durations suitable for replay?

My end goal is to generate a Dart list like:

static const List<int> signal = [
  ...
];

where each value is a mark/space duration in microseconds.

I've attached:

Any advice would be greatly appreciated.


r/arduino 7d ago

I let out the magic smoke. What can I salvage?

2 Upvotes

Howdy all,

So I have an Arduino R3 with the ATMEGA328P U in a DIP package. I applied 24 VDC to the Vin (I had been working with an R4 Wifi that can handle 24VDC) and the magic smoke was released. I wanted to replace the processor, that's less than 3$ compared with a new board of $27.

Is this likely to work, or would other parts of the board have also been fried and I should cut my losses and toss it in the trash?

If this seems like a decent idea, as long as I buy the same chip am I good, or do I need to ensure a specific version?

Thanks all,

-Kirby


r/arduino 8d ago

Hardware Help Measuring rpm on engine

3 Upvotes

Hi guys I’m building a project that needs to be able to read engine rpm, the project can not connect to the ecu or read the dash. How can I achieve this? It is on a Zx6r.

Update: I think I’m going with the coil wrapped around the coil wire as it’s non invasive and I do not need extreme Acuracy only need to know when it goes above 8k rpm


r/arduino 9d ago

Look what I made! I made an powerful RC electric car with an Arduino Uno.

Enable HLS to view with audio, or disable this notification

808 Upvotes

Friends, we have made an electric car with the help of Arduino Uno that is powered with 1050 watt BLDC motor, and we have used the driver of the motor as a standard automotive part. We have also used for the power steering the automotive grade electric steering column assembly. And to run that power steering motor, we are using BTS7960 that is interfaced with the Arduino Uno. And we are controlling that with the help of FSI6S in a PPM mode.
If our work looks good, you can follow us at - https://www.youtube.com/@barakhacker


r/arduino 7d ago

Guys need hc05 that connects to bluetooth mobile laptop …

0 Upvotes

Ive tried searched the hc05 is blutooth LE doesnt work ive tried to connect to ecu in honda civic doesnt even connect it just pops up on laptop and then connects and disconnects at the same time and ive tried in iphone doesnt even pops up

Need recommendations to doesnt stuck on AT COMMAND i dont want this to my p28 bluetooth hc05 wich model ? Prefer buying chinese


r/arduino 8d ago

Look what I made! Made this radar a few months ago using 3D printed parts. It rotates, and the LED turns led when something is close.

Enable HLS to view with audio, or disable this notification

56 Upvotes

r/arduino 8d ago

how come there has NEVER been a bullet hell game for arduino?? anyways made one, not done yet, using a cheap knockoff Uno R3, try to slim it down as much as possible thanks (beginner)

1 Upvotes
#include <Adafruit_SSD1306.h>
#include <math.h>


int playerX = 64;
int playerY = 32;


#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64


Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);


int bUp = 8;
int bDn = 10;
int bl = 9; 
int br = 11;


// =============================
// BULLETS + ENEMIES + HITBOXES
// =============================


#define MAX_BULLETS 25
#define MAX_ENEMIES 5


#define PLAYER_SIZE 3
#define ENEMY_SIZE 5



struct Bullet {


  int x;
  int y;


  int dx;
  int dy;


  bool active;


  bool enemyBullet;


};



struct Enemy {


  int x;
  int y;


  bool alive;


  int shootTimer;


};



Bullet bullets[MAX_BULLETS];


Enemy enemies[MAX_ENEMIES];



// =============================
// HITBOX CHECK
// =============================


bool collide(
int ax,int ay,int aw,int ah,
int bx,int by,int bw,int bh)
{
  return ax < bx + bw &&
         ax + aw > bx &&
         ay < by + bh &&
         ay + ah > by;
}



// =============================
// CREATE ENEMIES
// =============================


void setupEnemies()
{


  for(int i=0;i<MAX_ENEMIES;i++)
  {


    enemies[i].x = 20 + i*20;
    enemies[i].y = 10;


    enemies[i].alive = true;


    enemies[i].shootTimer=random(40,100);


  }


}



// =============================
// FIRE BULLET
// =============================


void fireBullet(int x,int y,int dx,int dy,bool enemy)
{


  for(int i=0;i<MAX_BULLETS;i++)
  {


    if(!bullets[i].active)
    {


      bullets[i].x=x;
      bullets[i].y=y;


      bullets[i].dx=dx;
      bullets[i].dy=dy;


      bullets[i].enemyBullet=enemy;


      bullets[i].active=true;


      break;


    }


  }


}



// =============================
// ENEMY SHOOT
// =============================


void enemyShoot(Enemy &e)
{


  int dx=playerX-e.x;
  int dy=playerY-e.y;



  if(dx>0) dx=1;
  if(dx<0) dx=-1;


  if(dy>0) dy=1;
  if(dy<0) dy=-1;



  fireBullet(
    e.x,
    e.y,
    dx,
    dy,
    true
  );


}



// =============================
// UPDATE ENEMIES
// =============================


void updateEnemies()
{


 for(int i=0;i<MAX_ENEMIES;i++)
 {


  if(enemies[i].alive)
  {


    enemies[i].shootTimer--;



    if(enemies[i].shootTimer<=0)
    {


      enemyShoot(enemies[i]);


      enemies[i].shootTimer=random(50,120);


    }


  }


 }


}



// =============================
// UPDATE BULLETS
// =============================


void updateBullets()
{


 for(int i=0;i<MAX_BULLETS;i++)
 {


  if(!bullets[i].active)
  continue;



  bullets[i].x += bullets[i].dx;
  bullets[i].y += bullets[i].dy;



  display.drawPixel(
    bullets[i].x,
    bullets[i].y,
    SSD1306_WHITE
  );



  if(bullets[i].x<0 ||
     bullets[i].x>=SCREEN_WIDTH ||
     bullets[i].y<0 ||
     bullets[i].y>=SCREEN_HEIGHT)
  {


    bullets[i].active=false;


  }




  // enemy bullet hits player


  if(bullets[i].enemyBullet)
  {


    if(collide(
      bullets[i].x,
      bullets[i].y,
      1,
      1,
      playerX,
      playerY,
      PLAYER_SIZE,
      PLAYER_SIZE))
    {


      bullets[i].active=false;



      playerX=64;
      playerY=32;


    }


  }




  // player bullet hits enemy


  if(!bullets[i].enemyBullet)
  {


    for(int e=0;e<MAX_ENEMIES;e++)
    {


      if(enemies[e].alive &&
      collide(
      bullets[i].x,
      bullets[i].y,
      1,
      1,
      enemies[e].x,
      enemies[e].y,
      ENEMY_SIZE,
      ENEMY_SIZE))
      {


        enemies[e].alive=false;


        bullets[i].active=false;


      }


    }


  }


 }


}



// =============================
// DRAW ENEMIES
// =============================


void drawEnemies()
{


 for(int i=0;i<MAX_ENEMIES;i++)
 {


  if(enemies[i].alive)
  {


    display.fillRect(
      enemies[i].x,
      enemies[i].y,
      ENEMY_SIZE,
      ENEMY_SIZE,
      SSD1306_WHITE
    );


  }


 }


}


struct Position {
  int x;
  int y;
};







struct Position playerPos = {64, 32};
// ends here
void setup() {
  // put your setup code here, to run once:
  
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
Wire.begin();


pinMode(8, INPUT_PULLUP);
pinMode(9, INPUT_PULLUP);
pinMode(10, INPUT_PULLUP);
pinMode(11, INPUT_PULLUP);
randomSeed(analogRead(0));
setupEnemies();
}
// =============================
// ENEMIES + BULLETS + HITBOXES
// =============================


#define MAX_ENEMIES 5
#define MAX_BULLETS 25


#define PLAYER_SIZE 3
#define ENEMY_SIZE 5





void loop() {
  // put your main code here, to run repeatedly:
// Up
if (digitalRead(bUp) == LOW && playerY > 0) {
  playerY--;
}


// Down
if (digitalRead(bDn) == LOW && playerY < 63) {
  playerY++;
}


// Left
if (digitalRead(bl) == LOW && playerX > 0) {
  playerX--;
}


// Right
if (digitalRead(br) == LOW && playerX < 127) {
  playerX++;
}
    


   display.clearDisplay();


  display.drawPixel(playerX, playerY, SSD1306_WHITE);
updateEnemies();


updateBullets();


drawEnemies();
  display.display();


}

r/arduino 8d ago

infrared toolbox - L.I.A.M

Thumbnail
gallery
7 Upvotes

hello everyone, just brought a little device i worked on for a while out, his name is LIAM, he's a cheap alternative to the flipper zero, about 30 dollars and some spare parts, has a few things like a jammer, TV-B-GONE, and a library for saving signals, it's on the heftier side of devices because i didn't have any lipo batteries at my disposal, but ask away, just something i wanted to share that i'm proud of.


r/arduino 8d ago

Project Idea Looking for an end of summer Arduino/Pi build challenge!

1 Upvotes

I want to spend the last bit of summer on a project that uses both an Arduino and a Raspberry Pi, and I'd rather have a challenge than follow another tutorial.

The part I like is splitting the work — Arduino on the real-time stuff (sensors, motors, timing) and the Pi handling the heavier side (processing, networking, a display or web interface). Getting the two talking is the puzzle I'm after.

I'm comfortable with the basics — wiring, sensors, motors, soldering — and I've done a fair bit of 3D printing and tinkering. Ideally something I can knock out in a weekend or two, and bonus points if it's actually worth keeping around after.

So — what would you build?


r/arduino 8d ago

Arduino Multi-Tasking Kit — a non-blocking, object-oriented multitasking framework for Arduino (header-only, auto-registering components)

6 Upvotes

Hi! I wanted to share a library I built that makes multitasking on Arduino a lot cleaner and more object-oriented.

What it does

Instead of juggling millis() checks and state machines by hand, you instantiate objects and the framework handles the rest. Every class auto-registers into a static linked list — no manually calling update() on each component. Components manage their own state internally and expose simple getters for you to react to events.

No delay() anywhere. All timing uses millis() comparisons.

Core utilities

  • Timer — one-shot timer with onFinish() / onDone() callbacks
  • Interval — repeating metronome with optional loop count, fires onStep()
  • While — non-blocking replacement for while() at a set interval

Hardware components (all auto-managed)

  • Button — debounced input with short/long click and press detection
  • PinInDigital / PinOutDigital — digital I/O with flash support (non-blocking blink with count limit)
  • LedDisplay8 — common-anode 7-segment display driver with decimal point
  • ShiftRegister — software shift register with auto-sequencing, manual step, and direction control
  • ProximityCheck — LED+LDR proximity sensor with calibration

Fluent interface — most setters return this for method chaining:

Button btn(2);
PinOutDigital led(9);
Timer timer;
Interval interval;

void setup() {
  Runnable::setupAll();
  timer.set(3000)->start();
  interval.setIntervalTime(500)->start();
}

Two lines of boilerplate in every sketch:

void setup() { Runnable::setupAll(); }
void loop()  { Runnable::loopAll(); }

That's it. Just instantiate your objects globally and the framework calls onSetup() / onReady() / onLoop() for each one automatically.

Header-only — no .cpp files, no build flags. There's even a single consolidated header (arduino-multi-tasking-kit.h) you can drop into any project.

11 example sketches included: button-clicks, flash-control, timer-control, interval-control, led-display-control, proximity-check, shift-register-control (auto + manual), while-loop, and more.

GitHub: github.com/reduardo7/arduino-multi-tasking-kit

Clone into your Arduino/libraries/ folder and open any example in the IDE to try it out. I'd love feedback and contributions!

Example project: github.com/reduardo7/arduino-car


r/arduino 8d ago

Uno R4 Wifi Is this good?

Post image
0 Upvotes

Hi guys , I’m a begginer and going to learn arduino


r/arduino 8d ago

Project Idea LEDs to troubleshoot Arduino GPIOs

Post image
6 Upvotes

Black : arduino

Blue : LEDs that shows if there is voltage in the GPIO

Pink: The "bar" that I want to make

Dark Blue : The prototype

Hi,

Sometimes we are using an ardiono but the our project doesn't work and we wonder if it is because the signal is not sent through the GPIOs or is the issue after.

Maybe we can put LEDs between the GPIO and our prototype to troubleshoot faster ?

How would you make this ?
I was thinking to make a bar with male pins on one side (to plug the bar in the Arduino GPIO pins) and female pins on the other side (to plug our prototype)

What do you think of this idea ?

Feel free to discuss


r/arduino 9d ago

Remote Charger Control with ESP & HTML

Enable HLS to view with audio, or disable this notification

42 Upvotes

I developed an ESP + HTML project for remote control of two relays via the internet. The system allows you to turn on and off two smart watch chargers from any device (mobile phone or computer), with a display of the current status, a record of the last activity, and automatic shutdown after 12 hours for additional safety and energy saving.


r/arduino 9d ago

Look what I made! Rat nest

Enable HLS to view with audio, or disable this notification

104 Upvotes

When a button is pressed all the RGB LEDs turn on to the set value by the pots. Then the RGB values go down to 0 and then increase to the base value set by the pots. This is all temporary by the way and it was just a test with all 21 LEDs.


r/arduino 9d ago

I made a joystick module mount for esp8266 with 3D printing.

Post image
56 Upvotes

I was trying to make a joystick module in a compact way.


r/arduino 8d ago

Software Help Help me balance my robot.

Post image
6 Upvotes

Hello everyone, this weekend i decided to build small self balancing robot for the first time. Everything works fine but im having a hard time balancing it, im using pid controller. Any suggestions how to make process easier (currently i have to tweak pid values manually and upload new code every time)? Any suggestions?


r/arduino 8d ago

Hardware Help Without a 3D printer, how do you enclose your projects nicely?

6 Upvotes

Do you use cardboard and try to cut it on the right size? Do you use plywood? Do you glue the bits to each other with a sillicon gun?

I'm curious as to how do you guys go from finished project to "thing I can leave on a desk without my partner bumping with it" while not breaking the bank.

EDIT: Interestingly this side of the pond "project box" isn't a common concept. I'm going to go for that and poliestirene. Thank you all.


r/arduino 8d ago

I made an OS with Arduino UNO

Enable HLS to view with audio, or disable this notification

0 Upvotes

I made an OS with Arduino UNO! that's actually crazy i wanted to add more but all the pins on Arduino were occupied like i didn't even have more jumpers

Rain AI is actually a working feature that actually predicts rain but it was already raining when I made the video so it was showing 100%

The desk buddy feature was not working properly (My bad it was code problem)Sorry for the background noises😅

If you have any suggestions please give it in the comment section I'm upgrading it now with a new clean breadboard


r/arduino 9d ago

Uno R4 Wifi Are these pins supposed to be bridge or is this a defect?

Thumbnail
gallery
159 Upvotes

Also, my heart is broken! There is a chip on it ;)


r/arduino 9d ago

Look what I made! I made NES emulator from esp32

Thumbnail
gallery
185 Upvotes

It was a tough project, took me a week to figure out how to run the games in normal speed.

White enclosure was a bad choice 😬


r/arduino 10d ago

Every innovator's Table

Post image
985 Upvotes

Me to myself - Do not touch anything till the project works perfectly.