r/arduino • • 11h ago

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

0 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 • • 14h ago

What do you use for parts management and inventory?

6 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 • • 7h ago

First hard project possibly product!

Post image
38 Upvotes

As a type 1 diabetic, I tend to struggle waking up at night, so to combat that i built this (not very close to being finished) a alarm that will set off in the middle of the night to wake me up if my blood sugar is low. It does this by connecting to the dexcom servers (legally) and then typing in my dexcom username and password. Afterwards, it request my blood glucose, it then checks to see if it is under 75 (in the product i will make this adjustable and add a high alarm) if so then it sets off an alarm to wake me. If i want to stop said alarm i push that button and it starts a 15 minute timer (only if im low otherwise it wont do anything) at the end of that timer it will resume the alarm (if im still low) until it is either pressed again and start the 15 minute timer again or if i am no longer low.

I am planning to make a buisness out of selling diabetic electronics similar to this one. If anyone wants to share ideas feel free to do so.

I am still 14 so i have alot to learn and hope to do so by helping others.

edit:if anyone is wondering i was diagnosed at the age of 3

!DISCLAIMER!:

THIS IS NOT TO BE RELIED AS A MEDICAL DEVICE, THIS PRODUCT IS PURELY CREATED FOR EDUCATIONAL PURPOSES.


r/arduino • • 12h ago

Solved! Arduino IDE and other cards

5 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 • • 8h ago

Software Help Coding

4 Upvotes

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


r/arduino • • 15h ago

Look what I made! My small orientation device

58 Upvotes

Shows: Hight (meters over sea), a artificial horizon, the movements in degree, the compass direction and the coordinates accurate to within 30 cm (dont try to find me i was there in holiday its in Switzerland tessin)


r/arduino • • 19h ago

Hardware Help Included screw wont fit?

Thumbnail
gallery
15 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 • • 20h 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 • • 20h ago

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

2 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 • • 11h ago

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

3 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 • • 21h ago

Need some help with the A7670e.

Thumbnail
gallery
1 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 • • 12h 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 • • 17h 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);
}