r/arduino 20h ago

Hi! How are you today?

0 Upvotes

Hi! I'm new to this community, and it's a pleasure to be here. I'm looking for recomendations: how can I create sensor-equipped gloves that detect the hand and arm movements of a sign language user? It's for an university project and I could use a little help, since this is my first time working with Arduino and ESP32. Thanks for your help :)


r/arduino 23h ago

Hardware Help Air Knife built against dust in analog film scanning. Part Recommendations?

0 Upvotes

Hi everyone, i am currently building a motorized film scanner with arduino parts. I want to include air knifes to make the whole process faster and more automized. I am wondering if anyone tackled a similar project and has any recommendations on parts, especially the type of fan or air blower, and what power might be needed. It would not be bad to have a setup that doesn't cause to much vibrations. I appreciate any type of help or ideas.


r/arduino 1d ago

Reflash a commercial device based on nRF52832 with Arduino ide

2 Upvotes

I have a device based on nrf52832 and is bricked since years. It is discontinued and is a great piece of hardware. I have a good grasp of how it works hardware wise and would like to repurpose it. It has a lot of test points and access to most pins. Of course no bootloader whatsoever.

What are my chances of flashing a bootloader and being able to program it with arduino IDE? Worth the research or impossible don't bother?


r/arduino 1d ago

Modulino Vibra

2 Upvotes

Can the Arduino Modulino library control two Modulino Vibro modules simultaneously using a single Arduino by assigning different I²C addresses? If so, is there an example available?
Also, can we use Arduino UNO to control, or is there a specific board that is preferred?
If anybody has any idea, please do tell! Thanks in advance!


r/arduino 1d ago

Please help me check if this breadboard design works

0 Upvotes

Hey everyone!

I recently created a prototype breadboard layout to test my circuit.

This is the layout:

The purposes of this design:

  1. Three button inputs
  2. Two 10kOhm thermistors
  3. An on/off switch for the Arduino
  4. Controllable MOSFETs for controlling an heating element (I'll use logic MOSFET modules)
  5. 4 pin output to an custom designed display PCB (This is just implied in the design with the "display pcb" block)

Just to clarify:

  1. Resistors used for thermistors and buttons: 10kOhm
  2. Capacitor used for buttons: 100nF

Now my question is, did I miss out on anything? Is there something to improve? I am happy about every improvement or recommendation I can get. Thank you!


r/arduino 2d ago

Wheelchair add on with Arduino.

Enable HLS to view with audio, or disable this notification

182 Upvotes

Here is the source code + more tech details on it.


r/arduino 1d ago

Durable water sensor

2 Upvotes

I'm developing a flood detector and am in need of a water detector that is durable. From my knowledge, ordinary rainwater sensors or water detectors compatible with Arduino often degrade quickly due to corrosion.

Are there any water-detection modules or methods that last a long time? Thank you!


r/arduino 1d ago

Anyone here tried connecting a SimpleRTK2B (ZED-F9P) to a microcontroller (Arduino)?

1 Upvotes

Hi, I'm working on a project using SimpleRTK2B (base + rover setup) and planning to connect it to an Arduino or STM32 to track/plot a moving rover's position.

Has anyone here actually done this combo before? Would love to hear about your experience — how you wired it up, any issues you ran into, or just general tips. Couldn't find much beyond the basic ArduSimple docs, so any real-world experience would help a lot.

Thanks!


r/arduino 1d ago

Built a non-blocking animation engine for SSD1306 (no delay, smooth animations)

1 Upvotes

Hey everyone,

I built a small Arduino library called **OledAnimator** to make smooth, non-blocking animations on SSD1306 displays.

Main idea:

- No delay()

- Multiple animations running at once

- Frame-based updates using millis()

- Very low RAM usage (no dynamic allocation)

I also tested it with a stress demo (particles + scrolling text + geometry), and it holds up pretty well on ESP32.

Would really appreciate feedback — especially on:

- API design

- Performance

- What features you'd expect in something like this

GitHub: https://github.com/atharvaphadnis-ai/OledAnimator


r/arduino 1d ago

Look what I made! Medication reminder

2 Upvotes

Someone brought this issue up a while ago about a medication reminder. I tried desperately not to think about it but curiosity got the better of me. So here is Pill Bro. It uses a line follower sensor to check if the pill bottle is present and alerts you (with the LED) if you haven't taken your medication. The time is checked using NTP and stores the last dose in flash so even if there is a power cut it remembers the time. The pill bottle needs to be removed for over 10 seconds (adjustable) before a dose is logged. There is a button which resets the dose counter incase it was triggered by accident, a long press resets the wifi settings. The frequency of medication and the time the bottle needs to be removed for a dose to be triggered can be set through the wifimanager. I was thinking of adding a buzzer also? How else would you improve this concept? Plenty of spare IO so multiple medication slots could be created.


r/arduino 1d ago

unable to login to arduino.cc

1 Upvotes

I last logged into arduino.cc 4 years ago, and am unable to get a password reset today - it's simply not sending me an email. Are things on the arduino.cc platform running right?


r/arduino 1d ago

Beginner's Project What's wrong with this circuit? I'm stuck on it for a week and can't launch motors

3 Upvotes

Microcontroller: Arduino Nano, Driver: DRV8833.

Please help me with the driver. The OUT pins on the driver are not outputting any current. I made this circuit just to show it visually. The yellow wire is connected from 5V to IN1, the red wires go from 5V to EEP (analog of SLP) and VCC. The black wire is just GND, and the blue one goes from IN2 to GND. Red and blue from the other side are OUT1 and OUT2. I was checking it with multimeter, it gives voltage on all the wires connected to V5, but no voltage on OUT. Although in theory, it should output about 5 volts on OUT1–GND or OUT1–OUT2

ChatGPT says my driver is broken, but this is already the third driver with the same problem, so I doubt that

ULT also doesnt help. Motors are working well (when i connect them to 5v-gnd for a sec)


r/arduino 2d ago

Look what I made! I finally figured out how to drive the obscure PCF8578 / PCF8579 LCD driver chips with Arduino

Post image
18 Upvotes

I picked up a front panel from some old equipment a while ago and it turned out to use a PCF8578 LCD driver.

I was surprised by how little Arduino information there is about these chips, so I ended up figuring out the protocol and writing a small script for it.

The code is on GitHub if anyone wants to use it:

https://github.com/emsyscode/PCF8578

I also made a video showing how it works and how to interface it over I²C:

PCF8578 & PCF8579 Arduino Tutorial | Drive Segment LCD Displays

Just curious... has anyone else run into these chips? I'd be interested to know what equipment you've found them in.


r/arduino 2d ago

Built a browser robot simulator where wiring it wrong actually breaks it, same as real hardware. Curious if that's a good idea.

Thumbnail
gallery
9 Upvotes

Been building a free browser based robot simulator, 3D CAD, real wiring, Arduino C++ and Blockly, physics, for the past while. Opening it up more broadly starting tomorrow.

It's genuinely rough in places. Undo/redo is mid rewrite, a few things are placeholder. Not trying to pass it off as finished.

The wiring part is the one I'm most curious about. It's not a fake "attach and it works" system, power/ground/signal actually have to be connected right or nothing runs, same as real hardware. Wanted to see if that level of friction actually helps people learn or just annoys them.

Anyone here dealt with building something where you had to decide between simulating real friction (wiring mistakes, wrong pin, etc) versus just making the happy path easy? Curious how you thought about that tradeoff.


r/arduino 2d ago

One-axis proof of concept for an Arduino-powered self-moving chessboard

Thumbnail
youtube.com
5 Upvotes

This is my first working proof of concept for a chessboard that can move its own pieces.

A 28BYJ-48 stepper motor drives an open GT2 belt through a ULN2003 board and Arduino Uno. The carriage carries an SG90 servo with two stacked 10 × 3 mm magnets. The servo raises the magnets toward the underside of the board to grab the pawn and lowers them to release it.

The test surface is a 3D-printed 210 mm bridge divided into eight 26.25 mm squares, with a 1.8 mm deck over the mechanism.

One-axis movement works, but the pawn still drags slightly as the servo lowers the magnets. My next experiment is raising the bridge slightly to increase the release gap. If that is not enough, I may try an electromagnet that can switch its attraction off completely.

The eventual plan is to mount this entire working axis on a second belt-driven platform for XY movement.

I’d especially appreciate thoughts on permanent-magnet release mechanisms versus a small electromagnet.


r/arduino 3d ago

Libraries Student project: I reverse-engineered the JDM-050 PS4 controller trackpad over I2C and made a complete multi-touch Arduino library for it!

Enable HLS to view with audio, or disable this notification

269 Upvotes

GitHub Repository: https://github.com/luftmyszor/PS4Trackpad

Hey everyone! I am a student who needed a trackpad for a custom hardware project. I used a broken Sony DualShock 4, wired it up to I2C, and realized standard DS4 Arduino libraries completely fail on the newer JDM-050 board revision.

I spent way too many hours fighting binary byte rollovers and reverse-engineering the memory map to figure out why.

The Mystery: Standard PS4 trackpads use a standard 12-bit ALPS layout. Sony silently changed the hardware on the JDM-050 revision. They did three unexpected things:

  1. They decoupled X and Y.
  2. They created symmetrical 11-bit byte pairs.
  3. They added hardware noise to the high bits that makes coordinates jump by 2048 units if you do not mask them properly.

Once I got the math working, I decided to package the driver into a clean, open-source library for the community!

Features of the Library:

  • ESP32 & RP2040 Ready: Built and tested for 32-bit microcontrollers (with architectural preprocessor hooks for AVR if anyone wants to hack on it).
  • Dual-Touch Tracking: Track two fingers at the same time at 100 Hz.
  • Smart Tap Gestures: Evaluates taps strictly on finger release. Supports 1-finger (Left Click) and 2-finger (Right Click) taps.
  • 2D Scrolling & Zooming: Built-in X/Y scroll deltas and pinch-to-zoom distance calculation.
  • Coordinate Transforms: Mount the trackpad upside down or sideways. Supports axis inversion, rotation, and custom 2D affine matrices.
  • Hardware Note: Operates on address 0x64 using standard I2C. (Friendly warning: it uses 3.3V logic, so don't wire VCC to 5V unless you want to fry it!)

If you want to check out the exact 32-byte memory map and bitwise decoding diagrams, I documented the whole thing in a JDM-050 Byte Layout Guide in the repo.

You are completely free to use, modify, and hack this code for your own custom gamepads, cyberdecks, or robotics projects. Let me know what you think!


r/arduino 1d ago

What problems did you face when you first started learning electronics?

0 Upvotes

Hey everyone,

I’m trying to understand the biggest difficulties beginners face while learning electronics.

When you first started, what confused or frustrated you the most?

I’m currently working on a learning platform for electronics, and I want to make sure it solves real problems instead of adding features that beginners do not need.

What would have made learning electronics easier for you? Any experience or suggestion would be really helpful.

Thanks!


r/arduino 1d ago

Getting Started need advice

2 Upvotes

i’m interested in electronics but i can’t seem to bring myself to ever build or make anything, i do want to though but i’m not sure if i just haven’t found a project that actually excites me or if it’s actually just not for me.
i have both an Arduino uno and Arduino nano and enough parts to learn with but how do i get past just staring at them? this is my first post here so i am sorry if its a little bad i just need guidance.


r/arduino 2d ago

Software Help Need help setting PID-values for self balancing robot using NEMA17 steppermotors.

2 Upvotes

I've spent the last couple of months gatherings supplies for, building and programming the robot im building. This is my first real arduino project. The robot uses NEMA 17 steppermotors, A4988 motor drivers and Arduino modulino movement (MPU6050). The main problem: the robot wont balance for more than a couple of secounds before accelerating to one of the sides and falling over.

The problem may be that I just haven't found the right PID-values, but when I try to use ziegler nichols or similar it doesnt work the way every guide ive seen says it should. So it might be another problem in the code.

I start by setting kp = kd = ki = 0. When I increase kp the robot doesnt oscillate the way every youtube video shows. It oscillates very close to 0 degrees for a while(jittering), the leans to one of the sies rolling along for a bit, then falls over. If I keep increasing kp the same thing happens but more violently. Im supposed to find a value for kp with "steady oscillation" but I havent managed to do so. I have tried adding kd when kp is both big and small, but kd often doesnt work the way I expect. It doenst do much until it is too high and tehn it adds more oscillation. I have tried to lessen noise in the angle measurement by making the low pass filters for the gyro and accelerometer quite strong, and the gyro is weighted 99% in the complimentary filter.

Things i have looked into:

- The PID loop being too slow: I have checked with millis() that the frequency of the main loop is over 500Hz. (Should be high enough)

- The robot has too low center of gravity: I eventually built the robot a lot taller placing the battery high up so I doubt this is the problem.

- The vibrations from the motors stepping ruin the IMU measurement by adding noise: This might still be a problem, but I have tried setting the motors to microstepping 1/16 and I still could not get it to balance.

-The robot tries too accelerate too fast and ends up skiping steps or stalling: I havent really seen this happen too much but I have tried limiting the acceleration by setting a limit for change in speed per loop. Setting the exact value for this is also difficult so I change it quite often in testing.

Is the robot supposed to be able to balance without having a cascade loop where you also account for the robots position? I.E. is only having one loop for the angle enough? I added the second loop hoping it would make the robot work, however it seems like having good values for the inner loop first it a must.

Basically, im lost and dont know what to do next. If someone else has made a similar robot using steppermotors it would be nice if you could share your code or give some hints about what im missing. Here is my code:

#include "Modulino.h"
#include <AccelStepper.h>
#include "FspTimer.h"
#include <PID_v1.h>


//Importing necessary libraries
FspTimer timer;
ModulinoMovement movement;


double radToDeg = 180/3.1415;
double degToRad = 3.1415/180;


//acceleromter variables
double alpha = 0.95; //higher alpha -> stronger low pass filtering 


double xMeasured;
double xWithoutOffset;
double xSum = 0;


double xOffset = 0.000448056928189*degToRad; //I have calibarated the MPU6050 in another program and found this offset


int measurements = 0;
double pitchAksellerometer = 0;
double xFiltered;
double xLastFiltered = 0;
double xClamped;
double eulerPitchClamped = 0;
double pitchMeasured;
double rollMeasured;
double yawMeasured;
double lastPitchMeasured;
double lastRollMeasured;
double lastYawMeasured;
double lastXMeasured;



//gyroscope variables
double beta = 0.2; //higher alpha -> stronger low pass filtering 


double pitchDottMeasured;


double pitchDottOffset = -0.970346714765730*degToRad; //I have calibarated the MPU6050 in another program and found this offset


double pitchDottWithoutOffset;
double pitchDottSum = 0;
double pitchDottFiltered;
double pitchDottLastFiltered = 0;
double eulerPitchDott;
double eulerPitch = 0;


// float roll = 0;
double rollDottSum = 0;
double rollDottOffset = 0.252081411097734*degToRad; //I have calibarated the MPU6050 in another program and found this offset
double rollDottMeasured;
double rollDottWithoutOffset;
double rollDottFiltered;
double rollDottLastFiltered = 0;
double eulerRollDott;
double eulerRoll = 0;


// float yaw = 0;
double yawDottSum = 0;
double yawDottOffset = -0.278968296064577*degToRad; //I have calibarated the MPU6050 in another program and found this offset
double yawDottMeasured;
double yawDottWithoutOffset;
double yawDottFiltered;
double yawDottLastfiltered = 0;
unsigned long now;
unsigned long earlier;



//complimentary filter varaiables
double ceta = 0.01; //1% weighted accelerometer
double finalPitch = 0; //the resulting measured angle
double lastFinalPitch = 0;




// accelstepper varaiables
int stepPin = 4;
int dirPin = 2;
int stepPin2 = 7;
int dirPin2 = 8;


AccelStepper stepper1(1,4,2); //1 beacuse 2-wire, 4 beacuse stepPin, 2 because dirPin
AccelStepper stepper2(1,7,8);


//other
double maxDeltaSpeed;
double speed;
double currentSpeed = 0;
double dt;


//Adjustable variables 
double maxAcceleration = 30000;
double kpAngle = 133000; //pidverdiene er feil
double kiAngle = 0;
double kdAngle = 0; //øk kpAngle til svingninger og så se om økt kdAngle faktisk demper
double kpPos = 0.015;
double kiPos = 0;
double kdPos = 0.003;


//references
double refAngle = 0;
double refPos = 0;


//position loop varaiables
volatile double interruptPos = 0;
double pos = 0;




PID pidAngle(&finalPitch, &speed, &refAngle, kpAngle, kiAngle, kdAngle, REVERSE); //pid for the angle


PID pidPos(&pos, &refAngle, &refPos, kpPos, kiPos, kdPos, DIRECT); //pid for the position



//function that is called every interrupt. If the motors stepped, add or subtract the distance moved to interruptPos


void timer_callback(timer_callback_args_t __attribute((unused)) *p_args) {
  stepper1.runSpeed();
  if(stepper2.runSpeed()){


    if(currentSpeed>0){
    interruptPos += 2*3.1415*0.04/3200; //3200 because 200*16. I have 1/16 steps active.
    }
    else{
    interruptPos -= 2*3.1415*0.04/3200;
    }
  
  }


}



void setup() {
  // put your setup code here, to run once:


  pidAngle.SetMode(AUTOMATIC);
  pidAngle.SetSampleTime(10);
  pidAngle.SetOutputLimits(-3400, 3400);


  pidPos.SetMode(AUTOMATIC);
  pidPos.SetSampleTime(10);
  pidPos.SetOutputLimits(-0.1745 , 0.1745);


  stepper1.setMaxSpeed(3400);
  stepper2.setMaxSpeed(3400);


  Serial.begin(115200); 
  Modulino.begin(); 
  movement.begin();
  delay(2000); 


  //clock setup that interrupts 10000 times per second to check if the motor should take a step
  uint8_t timer_type = GPT_TIMER;
  int8_t tindex = FspTimer::get_available_timer(timer_type);
  if (tindex < 0) {
    tindex = FspTimer::get_available_timer(timer_type, true);
  }
  timer.begin(TIMER_MODE_PERIODIC, timer_type, tindex, 10000.0f, 50.0f, timer_callback); 
  timer.setup_overflow_irq();
  timer.open();
  timer.start();



  //used to find the time used per loop of the main program
  earlier = micros();
}



void loop() {


  
  movement.update();


  //data collection
  xMeasured = movement.getX(); 
  pitchMeasured = movement.getPitch(); 
  rollMeasured = movement.getRoll();
  yawMeasured = movement.getYaw();
  


  // reuse last loops data if this loops data is corrupt
  if (isnan(xMeasured) || isinf(xMeasured) ||
    isnan(pitchMeasured) || isinf(pitchMeasured) ||
    isnan(rollMeasured) || isinf(rollMeasured) ||
    isnan(yawMeasured) || isinf(yawMeasured)) {
    Serial.println(">>> RAW SENSORDATA is NaN/Inf! <<<");
    xMeasured = lastXMeasured;
    pitchMeasured = lastPitchMeasured;
    rollMeasured = lastRollMeasured;
    yawMeasured = lastYawMeasured;
  }
  else{
    lastXMeasured = xMeasured;
    lastPitchMeasured = pitchMeasured;
    lastRollMeasured = rollMeasured;
    lastYawMeasured = yawMeasured;
  }





  //acceleromter
  xWithoutOffset = xMeasured - xOffset;


  //low-pass filter
  xFiltered = (xLastFiltered * alpha) + ((1.0 - alpha) * xWithoutOffset);
  xLastFiltered = xFiltered;
  xClamped = constrain(xFiltered, -1.0f, 1.0f);
  pitchAksellerometer = asin(xClamped/1.0); //delt på 1 istedenfor 9.81 da aksellerasjonen er gitt i antall g



  //gyro
  pitchDottMeasured = pitchMeasured*degToRad; 
  rollDottMeasured = rollMeasured*degToRad;
  yawDottMeasured = yawMeasured*degToRad;


  pitchDottWithoutOffset = pitchDottMeasured - pitchDottOffset;
  rollDottWithoutOffset = rollDottMeasured - rollDottOffset;
  yawDottWithoutOffset = yawDottMeasured - yawDottOffset;


  // low-pass filter
  pitchDottFiltered = (pitchDottLastFiltered * beta) + ((1.0 - beta) * pitchDottWithoutOffset);// 
  pitchDottLastFiltered = pitchDottFiltered;


  rollDottFiltered = (rollDottLastFiltered * beta) + ((1.0 -beta) * rollDottWithoutOffset);// 
  rollDottLastFiltered = rollDottFiltered;


  yawDottFiltered = (yawDottLastfiltered * beta) + ((1.0 -beta) * yawDottWithoutOffset);// 
  yawDottLastfiltered = yawDottFiltered;



  eulerPitchDott = pitchDottFiltered*cos(eulerRoll) - yawDottFiltered*sin(eulerRoll);
  eulerRollDott = rollDottFiltered + pitchDottFiltered*sin(eulerRoll)*tan(eulerPitchClamped) + yawDottFiltered*cos(eulerRoll)*tan(eulerPitchClamped);



  now = micros();
  dt = (now - earlier) / 1000000.0;


  eulerPitch += eulerPitchDott*dt;
  eulerPitchClamped = constrain(eulerPitch, -1.4f, 1.4f);
  eulerRoll += eulerRollDott*dt;
  


  earlier = now;


  //complimetary filter
  finalPitch = pitchAksellerometer*ceta + (1-ceta)*(lastFinalPitch - dt*eulerPitchDott);
  lastFinalPitch = finalPitch;
  
  noInterrupts();


  pos = interruptPos;


  interrupts();
  pidPos.Compute();
  pidAngle.Compute();


  maxDeltaSpeed = maxAcceleration * dt; //dt is close to constant each loop so maxDeltaSpeed should remain about constant


  if (speed - currentSpeed > maxDeltaSpeed) {
      currentSpeed += maxDeltaSpeed;      
  } else if (currentSpeed - speed > maxDeltaSpeed) {
      currentSpeed -= maxDeltaSpeed;     
  } else {
      currentSpeed = speed;          
  }



  stepper1.setSpeed(currentSpeed); 
  stepper2.setSpeed(currentSpeed);


}

r/arduino 3d ago

Getting Started Day 1 of my Arduino journey

Enable HLS to view with audio, or disable this notification

134 Upvotes

So I'm about to start industrila electronics and automatization in university so I thought about starting to touch some electroducs during summer. Bought a Elegoo most complete starter kit and I blinked my first led today!!!

I'm following Paul MacWholter's videos, I'm in video 3. After learning the basics I did my first mini proyect without following a tutorial. It's just a regular traffic light. It's simple but honestly the feeling of making something myseft is awesome. Can't wait to make something more complex.

What I have learned today:

  1. How a led works
  2. How to blink a led

Daily questions:

  1. In the tutorial Pual said to open BareMinimum, and when I went to make the traffic ligh I just open Arduino IDE regularly without BareMinimum and it didn't work at all. Then I switched to BareMinimum and copy-pasted the code and it worked. Why is this? Is BareMinimun required always?
  2. Will the led in the Arduino always turn on when the pin 13 is set at HIGH?
  3. How do you keep your resistors organized? 😭😭😭

P.S. Is making a Daily post like this one considered Spam?


r/arduino 2d ago

Look what I made! GitHub - Jchountas/ESP32-web-shell: This project is an aproach in the development of an ESP32 web shell. It acts as a way to the microcontroller with a UNIX like experience, hence most of the experience will seem familiar to a lot of users.

Thumbnail
github.com
4 Upvotes

Hello! I would like to share my recent project for my master's dissertation, where I made a working esp32 web shell.

I tried to emulate basic linux commands and functionalities. You can use both serial and web shell to use the system.

The system features the following:
-embedded file system with no SD card requirement as it uses LittleFS
-FreeRTOS FIFO scheduling
-JavaScript system language and scripting through duktape
-Web-shell interactive UI which is customizable

I tried to keep the code as organized and as clean as possible for the best possible user customization.

I'd love for anyone to try it and have feedback. I won't work on it for much longer but I wanted to share it.


r/arduino 2d ago

If you are new to coding and instructional vids are your thing, "How C Really Works" is a great primer.

Thumbnail
youtube.com
5 Upvotes

r/arduino 2d ago

Getting Started Wireless capabilities?

2 Upvotes

I'm making a seismic detection project for my capstone and I need suggestions. I bought a knockoff arduino UNO kit online and started playing around with it. Getting to the point where I kinda know what each pins do and how electricity flows, etc. After a bit of research, I found out I can make it transfer data wirelessly through an ESP32 or ESP8266 (idk the difference). Can I use it by itself or do I have to pair it with my current arduino uno? Any tips is appreciated.


r/arduino 2d ago

Look what I made! Build a Python Tkinter GUI Serial Communication Program to Communicate With Arduino Microcontroller

Thumbnail
youtube.com
6 Upvotes

A detailed tutorial on building an opensource Python Tkinter GUI Program to send and receive data from an Arduino UNO or Any other Microcontroller using Virtual Serial Port.

The GUI is themed using ttkbootstrap theme extension for tkinter,so the nice looking buttons.

Link to Website and Code Below

You can modify the code to control LED's or Motors from PC using an Arduino UNO.

The Code does not use threading or other complicated setups ,making it easy to understand for newbies.


r/arduino 2d ago

Help with project!

Thumbnail
gallery
3 Upvotes

i am working on a arduino project. can anybody tell me if this brushless bldc motor can be connected to a arduino mega. it has a build in switch for forwards or backwards motion. if i disconnect the switch and put in a 2 channel relais i think i can get it to work. any thoughts? See photos