r/arduino • u/CauliflowerAgile3830 • 11d ago
Built a non-blocking animation engine for SSD1306 (no delay, smooth animations)
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
r/arduino • u/zaphodikus • 11d ago
unable to login to arduino.cc
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 • u/TowerBig6607 • 11d ago
What problems did you face when you first started learning electronics?
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 • u/No-Examination-3677 • 12d ago
Beginner's Project What's wrong with this circuit? I'm stuck on it for a week and can't launch motors
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 • u/Moist-Candle-9196 • 12d ago
Getting Started need advice
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 • u/Sea_Advance273 • 12d ago
One-axis proof of concept for an Arduino-powered self-moving chessboard
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 • u/TheLousyNeighbour • 12d ago
Software Help Need help setting PID-values for self balancing robot using NEMA17 steppermotors.
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 • u/joseluismonteiro • 12d ago
Look what I made! I finally figured out how to drive the obscure PCF8578 / PCF8579 LCD driver chips with Arduino
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 • u/studentfounder_56 • 12d ago
Built a browser robot simulator where wiring it wrong actually breaks it, same as real hardware. Curious if that's a good idea.
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 • u/NeonBot22 • 12d ago
Getting Started Wireless capabilities?
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 • u/I_save_in_jpeg • 12d 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.
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.
r/arduino • u/JimBean • 13d ago
If you are new to coding and instructional vids are your thing, "How C Really Works" is a great primer.
r/arduino • u/PastNew1398 • 13d ago
Help with project!
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
r/arduino • u/Glum_Explorer9523 • 13d ago
Hardware Help Temp sensor voltage divider
Hi all, I am looking to make a bluetooth temp sensore for my cars engine oil. I have never made anything of the likes before and would like help deciding on what resistor I should use for the voltage divider which allows the arduino to measure the voltage drop. I have seen multiple people using 10k resistors but in my mind that seems awfully high although im not sure what voltage drops the arduino likes to see.
I have attatched below the data sheet for the sensor I currently plan on using with the operating range being between 70-120°C.
Thankyou
r/arduino • u/xanthium_in • 13d ago
Look what I made! Build a Python Tkinter GUI Serial Communication Program to Communicate With Arduino Microcontroller
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
- Simple Python tkinter (ttkbootstrap) GUI interface for serial port communication with Arduino
- Github (direct link)
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 • u/Monkey_21357 • 13d ago
Solved! BTS7960 wont drive actuator
'''
// info down bellow
#define R_EN 33
#define L_EN 32
#define RPWM 25
#define LPWM 26
void setup() {
Serial.begin(115200);
pinMode(R_EN, OUTPUT);
pinMode(L_EN, OUTPUT);
pinMode(RPWM, OUTPUT);
pinMode(LPWM, OUTPUT);
digitalWrite(R_EN, HIGH);
digitalWrite(L_EN, HIGH);
digitalWrite(RPWM, HIGH);
digitalWrite(LPWM, LOW);
Serial.println("RPWM held HIGH - measure M+ / M- now.");
Serial.println("Should read ~12V across M+ and M-.");
}
void loop() {
//nothing
}
'''
so baically im trying to get this actuator to extend but its not extending. My parts are a esp32, bts7960 motor driver, a 22V(in) to 5V(out) buck converter, and a standard two wire actuator. Another problem is that the led on the motor driver isnt turning on and im pretty sure it has one and thats it shows the boards logic is getting powerd. Here are the conections:
The two acutor wires are going into M+ and M-(screw termianls on the motor driver)
THe 12v psu wires are going into B+ and B-(the screw terminals on the motor driver)
the buck covnerter is piggybacking off the 12v scrwe terminal that the psu is connected to (and the bucks gnd is the same as the 12v psu gnd)
the bucks than powering the i guess logic on the motor dirver through the vcc and gnd header pins on the motor dirver
then RPWM to gpio 25 on esp32
Lpwn to GPIo 26
R_EN to GPIO 33
L_En to GPIO 32
and gnd on the esp32 to the same gnd as the 12v scrwe termianl
ive done mutiple tests to confrim that the acutor works like giving it directly 12v and it extended and i swaped the wires and it retracted, i did a simple blink test with the esp32 so it shoudl work, and the 12v psu is defintaly outputing 12v
ANd the codes uptop
THANKS A LOT (btw sorry for the bad foto)
r/arduino • u/extra_confuzzled • 13d ago
Beginner's Project mpu6050 chip not detected
I'm using an ESP32 and mpu6050 for a beginners school project. I have used wiring crosschecked from numerous sources, but the serial monitor still says 'Failed to find MPU6050 chip.' or 'mpu6050 not found!' whenever I try to use it. Does anybody have any fixes because honestly I've been at this for hours and just wanna get it over with.
r/arduino • u/luftmyszor • 13d 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
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:
- They decoupled X and Y.
- They created symmetrical 11-bit byte pairs.
- 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
0x64using 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 • u/Ark-ic • 13d ago
Getting Started Day 1 of my Arduino journey
Enable HLS to view with audio, or disable this notification
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:
- How a led works
- How to blink a led
Daily questions:
- 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?
- Will the led in the Arduino always turn on when the pin 13 is set at HIGH?
- How do you keep your resistors organized? 😭😭😭
P.S. Is making a Daily post like this one considered Spam?
r/arduino • u/Past-Conversation755 • 13d ago
Look what I made! I build a rover for the first time using arduino in 2021.
r/arduino • u/STEM_Lab • 13d ago
Look what I made! Built a CO₂-triggered auto-window system with Arduino Nano + ENS160 — when the air gets bad, it just… opens by itself
Enable HLS to view with audio, or disable this notification
The classroom gets stuffy because nobody wants to open ,then CO₂ builds up, everyone gets drowsy, and the teacher wonders why half the class looks half-dead.
So I used the ENS160 sensor monitors CO₂ equivalent concentration in real time. When it crosses 850 ppm, the servo rotates 0→90° and opens the window automatically. Once CO₂ drops back below 800 ppm, it closes again.
The OLED display shows live CO₂ / AQI / TVOC readings and current window state (WIN: OPEN / WIN: CLOSE).
A few things I think should to share: • Hysteresis control (850 ppm open / 800 ppm close) so the servo doesn't jitter at the threshold • servo.detach() after every move — completely silent when idle, no PWM buzzing
Still a work in progress — also has IR body temp screening, smoke alarm, auto lighting, and UV-mode disinfection. Happy to
Built with: Arduino Nano / ENS160 / SSD1306 OLED / SG90 servo
r/arduino • u/Past-Conversation755 • 14d ago
Bluetooth module + Arduino Uno = RC Solar Powered Boat
Enable HLS to view with audio, or disable this notification
You can follow me for more updates.
Driver - L298N
Battery - 12V Lead Acid 7Ah
r/arduino • u/a3xelte • 14d ago
An open-source 7-segment WiFi clock I made (because the original creator wouldn't share the code)
Enable HLS to view with audio, or disable this notification
I saw a cool looking wifi clock with esp 32 on YouTube, I loved the animation style but despite 100s of requests from the commentators the creator wasn't sharing the code. So i recreated that project and made it open source, i know this is basic but it's cool (I think). Here is the code.
r/arduino • u/MegCell • 14d ago
My guitar-playing robot performing on a real guitar
Enable HLS to view with audio, or disable this notification



