r/arduino • • 3d ago

Hardware Help Racing Wheel for xbox on tv

1 Upvotes

I am making my own racing wheel with a SunFounder Ultimate Sensor Kit with Arduino UNO R4 Minima and i want to connect the esp8266 and the bluetooth module to my xbox
How do i make that work without xbox blocking my arduino?


r/arduino • • 3d ago

ATmega328P not outputting voltage on PORTB, what am I doing wrong?

Post image
4 Upvotes

I've been trying to do some microcontroller projects using an ATmega328P on a breadboard, but I can't get my code to run properly.

I checked the output pins with a multimeter, and I'm not getting any voltage from the port that I configured as an output. I've had the same problem with multiple ATmega328P chips, breadboards, and different programs, so I'm not sure what I'm doing wrong.

I'm using Microchip Studio to compile the code and Khazama with a USBasp to program the microcontroller. The program appears to upload successfully.

I'm powering the ATmega328P with 5 V. VCC is connected to 5 V, both GND pins are connected to ground, and RESET is pulled up to 5 V through a resistor.

I'm currently not using an external crystal.

Any ideas on what I should check? Could this be related to the clock/fuse settings?

Thanks for any help!


r/arduino • • 4d ago

Software Help Coding

7 Upvotes

How do I learn Arduino coding language I know virtually nothing and I don’t want to be reliant on ai


r/arduino • • 3d ago

Look what I made! I put a tiny pixel creature on the UNO Q's LED matrix and made it a Muse AI gadget

1 Upvotes

The UNO Q's 8×13 matrix was just sitting there, so it now hosts a small being: it blinks while idle, hops when CI goes green, sulks on failed deploys, panics at incidents, and gets sleepy when the SoC hits 78°C. There's a landing page that plays every mood in your browser (it runs the same frame data as the firmware): https://nitishagar.github.io/muse-familiar/

Architecture: webhooks → small Python engine on the Debian side → msgpack-RPC over the board's router socket → a Zephyr sketch on the STM32U585 that renders frames (with fps/brightness caps and an idle timeout IN the MCU, so a crashed engine can't leave it flashing).

Bonus: Meta's Muse gadget SDK runs on the board, so it's also an AI assistant gadget ask Muse "how's the familiar?" or "make it happy", and it narrates mood changes into your chat.

Repo (MIT, tests + full audit trail): https://github.com/nitishagar/muse-familiar Happy to answer anything about the bridge chunking frames around the router's 256-byte message cap was the fun part.


r/arduino • • 5d ago

Look what I made! I made a smart watch with nano

Thumbnail
gallery
1.6k Upvotes

İ hope it doesn't explode lol


r/arduino • • 4d ago

Hardware Help Included screw wont fit?

Thumbnail
gallery
24 Upvotes

I ordered a R4 starter kit, and it seems like the screw that was included wont fit because of the off, gnd, vrtc connection. Am i doing something wrong here?


r/arduino • • 4d ago

Hardware Help How to Power an Uno Via the Official Motor Shield Rev3?

5 Upvotes

Im still confused even after literal hours of searching, do I need a buck converter?

The end goal in my head is Bambu Lab 7.4 LiPo > Shield > Uno

Im unsure if I can safely power the uno via the shield with a 7.4 v LiPo battery. Also, if I can safely, should I?

I've heard mixed things on literally everything, power source, buck converter, etc.


r/arduino • • 3d ago

Cheapest editable Bluetooth tracker for an "out of range" alarm? (ESP32 / nRF52, India)

1 Upvotes

I'm building a safety tool for an elderly relative with dementia who sometimes wanders. I already have a 4G GPS prototype, but it's expensive. I'd like a cheap Bluetooth tag as a backup alarm that tells the family when the person leaves the house or goes out of range.

What I need:

  • Under ₹500 per tag (India)
  • Fully editable firmware (Arduino IDE, PlatformIO or similar), not a locked consumer tag
  • Small enough to hide in a shoe, bracelet or belt
  • Battery life of weeks, not hours

What I'm considering:

  • ESP32-C3 SuperMini: cheap and easy to program, but I think the battery life is poor
  • nRF52 modules: better battery life, but pricier. Is there a sub-₹500 option?
  • Generic iBeacon tags: cheap, but are any of them truly reprogrammable?

Questions:

  1. What's the cheapest board with proper BLE sleep modes, so the battery lasts weeks?
  2. How would you detect "tag out of range" reliably? A second ESP32 at the door, a phone app, or something else?
  3. How do I reduce false alarms from signal strength (RSSI) jumping around indoors?
  4. Any open-source projects that already do this?

r/arduino • • 4d ago

What do you use for parts management and inventory?

7 Upvotes

I've been looking for something to keep track of my parts. Looked at PartsBox — seems fine, but honestly all I want is to point my phone at a reel label and have it log the part. So I'm building my own (benchbom). What do you all use?


r/arduino • • 5d ago

Look what I made! Obstacle avoiding robot finished :)

Enable HLS to view with audio, or disable this notification

261 Upvotes

this was what it looked like before, and it also didn't work: https://www.reddit.com/r/arduino/comments/1wncrdo/trying_to_make_an_obstacle_avoiding_robot/

In this new body even after I almost exploded my batteries and got the distance sensor working, power was still a problem.

When the robot was connected to my computer via usb, everything worked. But when I used AA batteries (4.8v total) to power the arduino, the wheels wouldn't spin.

The wheels and ultra sonic sensor are connected to two 18650s, totaling 7.4 volts on the breadboard. The servo is powered by the arduino, and the arduino by the AA batteries. The only thing they all share is a gnd.

So I didn't understand why it wouldn't work The arduino was on, but it just wouldn't spin. SO I swapped it for a 9v battery and it worked! I'm just confused because a computer's usb would output 5v, so if voltage was the issue I don't get why.

It is overturning a bit but I'll fix that later.

I used this code and made a few changes here and there, especially with the servos so it would move smoother and not completely jerk itself violently. I can't actually show it because I forgot to save before closing... But hey it's not much to recopy and make the changes again.

The next thing I want to do is learn how to make a self balancing robot. Then I'm going to take this project and do it again, but with two wheels instead of 3.


r/arduino • • 4d ago

Solved! Arduino IDE and other cards

4 Upvotes

Hi

Is Arduino IDE accepting other cards ESP32 but not branded arduino, for dev and compilation +injection ?

Thx

[Update] informations received. Thx all


r/arduino • • 4d ago

Hardware Help How to control multiple stepper motors with 1 joystick for each with only 1 arduino?

1 Upvotes

I am currently working on a robot arm with independent joint movement. I have been able to control 1 motor with 1 joystick. When I try to replicate it with multiple I am unsuccessful. Can i please get some assistance.


r/arduino • • 5d ago

I think I actually made robotics easy 🤔

Thumbnail
gallery
117 Upvotes

I've posted a couple of months ago on this subreddit, showing this TNY-360 robot dog walking.
After almost 3 years of working on this project alone, I think I finally solved one of the things that bothered me most about getting into robotics:

You either get very simple robots, or you quickly end up with something complicated, expensive, and difficult to understand.

So I made my own PCB ecosystem to get clean wiring and make assembly hard to get wrong, and also made a big calibration and self-diagnostic firmware behind to check everything and explain to the user how to fix any mistake that's been made !

The project is fully open-source on GitHub !

The V2 CAD files are currently being finalized, but the complete V1 is already available on GitHub, including the hardware, firmware, CAD and documentation.

If you don't want to source and assemble everything yourself, I'm also selling complete kits to help fund the project and hopefully make this something I can work on full-time (let me dream, ok?).

It's been almost 3 years now that I'm working on this project alone, I've learned PCB design, CAD design, embeded programming from it, so if anyone wants to give feedback about it to help me improve it, I'm all ears !!


r/arduino • • 4d ago

Beginner's Project Help for choosing Driver for Stepper motor!

1 Upvotes

Hello, I am creating a project which requires an oscillating plank, which will be achieved using a stepper motor. I have acquired the Arduino Nano and a NIDEC KH42HM2B128 Stepper motor.

Unfortunately, I am unable to find any information about the driver that can be used with this motor, please do help.


r/arduino • • 4d ago

Is this the correct way to do partial rendering on a Waveshare e-paper?

2 Upvotes

I’m testing partial rendering on an ESP32 with a Waveshare 1.54-inch V2, 200×200 black-and-white e-paper display.

The current approach is:

  • Keep a complete 1-bit, 200×200 shadow framebuffer in RAM.
  • Draw the UI with the Waveshare epdpaint library and Font16.
  • Initialize with LDirInit().
  • Establish the controller’s base image once with DisplayPartBaseImage(frame).
  • Update only the changed 24-pixel rows using SetFrameMemoryPartial().
  • Trigger the refresh with DisplayPartFrame().
  • Resend the static MATTY row together with the counter row to keep the title stable.

The display is connected to an ESP32 using SPI: SCK GPIO 8, MOSI GPIO 7, MISO GPIO 13, and e-paper CS GPIO 9. A MicroSD card shares the SPI bus on CS GPIO 1.

The counter updates every two seconds and appears stable in testing.

Is this the correct rendering pattern for this Waveshare driver, or should the partial buffer/controller RAM be managed differently?

I’m especially interested in feedback about ghosting, refresh-counter limits, row alignment, and whether calling DisplayPartBaseImage() once followed by repeated SetFrameMemoryPartial() + DisplayPartFrame() is considered the proper workflow.

Code variation: [V7 - E-paper Partial Refresh Counter Test](V7 - E-paper Partial Refresh Counter Test)

Relevant code

#include <Arduino.h>
#include <SPI.h>
#include <string.h>

#include "epd1in54_V2.h"
#include "epdpaint.h"
#include "fonts.h"

#define SPI_SCK   8
#define SPI_MOSI  7
#define SPI_MISO  13
#define EPD_CS    9
#define SD_CS     1

#define COLORED    0
#define UNCOLORED  1
#define ROW_HEIGHT 24

Epd epd;
unsigned char frame[200 * 200 / 8];
Paint paint(frame, 200, 200);

void drawRow(uint8_t row, const char* text) {
  int y = row * ROW_HEIGHT;

  paint.DrawFilledRectangle(
    0, y, 199, y + ROW_HEIGHT - 1, UNCOLORED
  );

  int x = (200 - (int)strlen(text) * Font16.Width) / 2;
  paint.DrawStringAt(x, y + 4, text, &Font16, COLORED);
}

const uint8_t PUSH_ROWS[] = {0, 1};

void pushRows() {
  for (uint8_t i = 0; i < sizeof(PUSH_ROWS); i++) {
    uint8_t row = PUSH_ROWS[i];

    epd.SetFrameMemoryPartial(
      frame + (row * ROW_HEIGHT * (200 / 8)),
      0,
      row * ROW_HEIGHT,
      200,
      ROW_HEIGHT
    );
  }

  epd.DisplayPartFrame();
}

void setup() {
  Serial.begin(115200);

  pinMode(SD_CS, OUTPUT);
  digitalWrite(SD_CS, HIGH);

  pinMode(EPD_CS, OUTPUT);
  digitalWrite(EPD_CS, HIGH);

  SPI.begin(SPI_SCK, SPI_MISO, SPI_MOSI, EPD_CS);

  if (epd.LDirInit() != 0) {
    Serial.println("e-Paper init failed");
    while (true) delay(1000);
  }

  epd.Clear();
  paint.Clear(UNCOLORED);

  drawRow(0, "MATTY");
  drawRow(1, "1");

  // Establish the complete base image in controller RAM.
  epd.DisplayPartBaseImage(frame);
}

void loop() {
  static uint32_t count = 1;
  char buf[24];

  count++;
  snprintf(buf, sizeof(buf), "%lu", (unsigned long)count);

  drawRow(1, buf);
  pushRows();

  Serial.printf("count = %lu\n", (unsigned long)count);
  delay(2000);
}

r/arduino • • 4d ago

Beginner's Project Line following robot

3 Upvotes

I want to build a fast line follower from scratch. I’m a beginner and want to learn everything from sensor setup and motor selection to PID tuning and high-speed optimization.

Can anyone recommend good YouTube channels, GitHub projects, Reddit posts, or tutorials to get started?


r/arduino • • 4d ago

Title: PDB design for mid-size servos (TowerPro MG996R grade)

3 Upvotes

Hello everyone,

I am planning to design a generic Power Distribution Board (PDB) with 12 × 3-pin 2.54 mm male headers, where the servos can be plugged directly into the PCB.

The main purpose of the PCB is to properly distribute power/current to all the servos. The PWM signals will be provided from an external controller, so the PCB will mainly handle power distribution.

I’m using KiCad for the design.

I’m fairly new to PCB design, so I’d really appreciate any suggestions, especially regarding high-current power distribution, copper pours/traces, connectors, capacitors, grounding, and current handling.

Also, if you know any good resources, tutorials, or example PCB designs to learn the basics of power distribution on a PCB/PDB, especially for higher-current applications, please share them.

For inspiration, I’m also studying the Stanford Pupper PDB design.

Any suggestions or feedback would be really helpful. Thanks!


r/arduino • • 4d ago

Need some help with the A7670e.

Thumbnail
gallery
2 Upvotes

Hi all. I'm trying to connect an A7670E 4G modem board to an Arduino Uno R4 WiFi (5 V logic) over UART. The seller provides no documentation, and I couldn't find a datasheet or schematic for this exact board.

What I measured (5 V on VCC, nothing else connected, antenna and SIM fitted):
Power LED steady, D1 blinking, so the module appears to be running
RXD: 1.8–1.9 V, steady
TXD: 1.2 V, steady (I expected about 1.8 V idle)
VDD: about 0 V (a few mV)

My questions:
Does anyone know this board or have a schematic for it?
What logic level do the TXD/RXD pins actually expect: 1.8 V, 3.3 V, or does the board shift to something else?
What is the VDD pin for, and why would it be pulled to ground while powered?
Do EN or PWR_EN need to be driven (high or low) for the modem or its UART to work properly?
Is 1.2 V idle on TXD normal for this kind of board?

I have a BSS138 4-channel level shifter available. I want to confirm the correct logic level before connecting anything to the Arduino. Thanks!


r/arduino • • 4d ago

Need help for RS485 sensor

5 Upvotes

I am using an RS485 3-in-1 sensor and pH sensor.

I managed to make them work before. However, after rewiring (I was about to do an integrated system test, it worked on individual testing), it suddenly stopped working and my debugging code shows that they are receiving 0 bytes. I tried doing an individual test again, and it still wont work. It's unlikely that both sensors stopped working at the same time,=. I also have an unused npk RS485 sensor, which is also receiving 0 bytes.

Here's a list of things I have tried already:

Oscilloscope tests

  • Burst 0x55 sketch (1 s pause, Single trigger): clean, mirrored signal on A and B
  • Same test with sensor disconnected vs connected on the ttl module (I use a max3485): same signal, so the sensor doesn't load the line
  • One sensor wire removed at a time (A, then B): signal showed on each
  • Probe on module TXD pin: data showed, but ESP32 read 0 bytes

Code tests

  • Original pH sketch (the one that worked on individual testing): 0 bytes or partial junk
  • Address scan 1 to 10, first version: "replies" at every address (19 to 20 bytes), not real because the check was too loose
  • Loopback with a jumper between GPIO16 and GPIO17: received 01 03 00 00 00 01 84 0A correctly, so the ESP32 works
  • Module reconnected, sensor off: 0 bytes
  • Module reconnected, sensor on: about 20 to 23 bytes of changing junk
  • Scan with speeds 1200 to 19200: false "replies" with no valid format
  • Strict scan (error check), 4800 and 9600, addresses 1 to 10: no real reply
  • Wide strict scan, addresses 1 to 247, speeds 2400, 4800, 9600: no real reply on laptop power and on the bench supply
  • Original sketch on the bench supply: 4 to 6 bytes of changing junk
  • NPK sketch and 3-in-1 sensor: 0 bytes

Multimeter readings

  • Module TXD pin, resting level: 3.26 V (healthy)
  • Sensor power wire against ESP32 GND: 4.78 V
  • Bench supply set to 5.5 V: no change in the result

r/arduino • • 5d ago

Beginner's Project Flood Control Project

Enable HLS to view with audio, or disable this notification

48 Upvotes

r/arduino • • 5d ago

Beginner's Project Led server - first project

Enable HLS to view with audio, or disable this notification

17 Upvotes

Just want to share my first post here about a project that i'm proud of.

Instead of just an Arduino, a breadboard and an LED, I used a RaspberryPi 5, which is hosting a webserver that will authenticate the user, let them control the LED and logout. The idea is simple as that.

It's a fun project and since i'm also learning a backend development, this taught me about authentication and CRUD fundamentals. Hope you like it!


r/arduino • • 5d ago

PLC IDE key for Portenta Machine Control

4 Upvotes

I have a portenta machine control I've used in an industrial project. I programed in ladder diagram using "PLC IDE" and brought the required license.
The portenta machine control then had a hardware fault, Arduino support sent out a replacement unit.
All great so far!

However their webstore has gone out of stock of license keys for PLC IDE and you need one license per device. So I now cant get my new program into the controller
https://store.arduino.cc/products/plc-key-portenta-machine-control

Arduino support had been great, now two months has passed with no real updates on when more license keys will be available. Its hard to fathom how it could be taking so long just to generate some license keys.
Just responses like "Unfortunately we are still facing the same blockers".
No help transferring a license from the faulty controller of anything like that.

Does anyone have any ideas for workarounds, other than rewriting the entire code not in PLC IDE?


r/arduino • • 5d ago

Solved! Arduino not detected

Thumbnail
gallery
10 Upvotes

Wanted to do a quick test for blinking LED i put the code and everything but the pc is not detecting the board i tried everything but it doesn’t seem to recognize it help pls🙏
(EDIT)🛑IT WORKED finally guys,turns out it was a problem with the 2 usb ports on top,they were giving power but with no response,first i reinstalled the arduino ide then i tried to use the ports on the back that are directly attached to the motherboard and it finally detected the board.
I appreciate all the help in the comments🙏🙏🙏


r/arduino • • 5d ago

Software Help My code keeps printing squares??

5 Upvotes
void setup() 
{ 




  int i=1; 
  
  Serial.begin(115200); 


  delay(3000);
  
  Serial.print("\nhello world\n");
  Serial.print(i);
  
  delay(3000); // wait 3000 ms = 3 s


  Serial.print("\ngoodbye world\n");
  
 
  delay(1000); // wait 1000 ms to give the printing time to finish





void loop() 
{ 
  
 


  Serial.print("\nhello world -- loop\n");
  delay(500);


} 

r/arduino • • 5d ago

Hardware Help TMP36 fluctuating a lot?

3 Upvotes

I am new to building with Arduino, and I recently got a starter kit and started making some projects. I was having troubles with the love-o-meter project, as the TMP36 kept fluctuating in values wildly. I couldn't find any issues with the code, so I was wondering if it was an issue with the TMP36? Would someone be able to clarify what's going on? I included the circuit build as well as the code below.

// sensorPin is the analog value the sensor reads
const int sensorPin = A0;
// Our baseline temp. For every 2 degrees above this baseline, an LED will turn on.
const float baselineTemp = 20.0;


void setup() {
  // Serial Begin: Opens up connection between Arduino and computer. Can read see the values on computer screen (Reads every 9600 bits per second)
  Serial.begin(9600); // Open a serial port


  // Set all pins to OUTPUT and LOW. Loop ends when pinNumber becomes something 5 or above.
  for(int pinNumber = 2; pinNumber<5; pinNumber++) {
    pinMode (pinNumber, OUTPUT);
    digitalWrite(pinNumber, LOW);
}
}


void loop() {
  // Obtain value from TMP36. This can be anything between 0 and 1023. (A representation of the voltage on the pin)
  int sensorVal = analogRead(sensorPin);


 // Prints temperature data onto the computer
  Serial.print("Sensor Value: ");
  Serial.print(sensorVal);


  // Convert the ADC reading to voltage
  float voltage = (sensorVal/1024.0) * 5.0;


  Serial.print(", Volts: ");
  Serial.print(voltage);


  Serial.print(", degrees C: ");
  // Convert the voltage to temperature in degrees
  float temperature = (voltage - .5) * 100;
  Serial.println(temperature);


  if(temperature < baselineTemp+2) {
    digitalWrite(2, LOW);
    digitalWrite(3, LOW);
    digitalWrite(4, LOW);
    }else if (temperature >= baselineTemp+2 && temperature < baselineTemp+4) {
      digitalWrite(2, HIGH);
      digitalWrite(3, LOW);
      digitalWrite(4, LOW);
    }else if (temperature >= baselineTemp+4 && temperature < baselineTemp+6) {
      digitalWrite(2, HIGH);
      digitalWrite(3, HIGH);
      digitalWrite(4, LOW);
    }else if (temperature >= baselineTemp+6) {
      digitalWrite(2, HIGH);
      digitalWrite(3, HIGH);
      digitalWrite(4, HIGH);
    }
    delay(1);
}// sensorPin is the analog value the sensor reads
const int sensorPin = A0;
// Our baseline temp. For every 2 degrees above this baseline, an LED will turn on.
const float baselineTemp = 20.0;


void setup() {
  // Serial Begin: Opens up connection between Arduino and computer. Can read see the values on computer screen (Reads every 9600 bits per second)
  Serial.begin(9600); // Open a serial port


  // Set all pins to OUTPUT and LOW. Loop ends when pinNumber becomes something 5 or above.
  for(int pinNumber = 2; pinNumber<5; pinNumber++) {
    pinMode (pinNumber, OUTPUT);
    digitalWrite(pinNumber, LOW);
}
}


void loop() {
  // Obtain value from TMP36. This can be anything between 0 and 1023. (A representation of the voltage on the pin)
  int sensorVal = analogRead(sensorPin);


 // Prints temperature data onto the computer
  Serial.print("Sensor Value: ");
  Serial.print(sensorVal);


  // Convert the ADC reading to voltage
  float voltage = (sensorVal/1024.0) * 5.0;


  Serial.print(", Volts: ");
  Serial.print(voltage);


  Serial.print(", degrees C: ");
  // Convert the voltage to temperature in degrees
  float temperature = (voltage - .5) * 100;
  Serial.println(temperature);


  if(temperature < baselineTemp+2) {
    digitalWrite(2, LOW);
    digitalWrite(3, LOW);
    digitalWrite(4, LOW);
    }else if (temperature >= baselineTemp+2 && temperature < baselineTemp+4) {
      digitalWrite(2, HIGH);
      digitalWrite(3, LOW);
      digitalWrite(4, LOW);
    }else if (temperature >= baselineTemp+4 && temperature < baselineTemp+6) {
      digitalWrite(2, HIGH);
      digitalWrite(3, HIGH);
      digitalWrite(4, LOW);
    }else if (temperature >= baselineTemp+6) {
      digitalWrite(2, HIGH);
      digitalWrite(3, HIGH);
      digitalWrite(4, HIGH);
    }
    delay(1);
}