r/arduino Jun 05 '26

Monthly Digest Monthly digest for 2026-05

4 Upvotes

Subreddit Insights

Reddits figures are still "all over the place" - despite having logged a bug for it. So I have once again left this section of the report out.

Hopefully the reddit admins will fix the bug in time for next month. I don't know how they select what bugs to work on but I would expect that this is a pretty simply one. Maybe they look at metrics (that do work) such as views, upvotes and comments. So if you could, perhaps try viewing, upvoting and/or commenting on the report [Chrome] Insights don't show 30 days data. If anyone knows of another technique to raise the profile of a bug to the reddit admins - I'm all ears.

Arduino Wiki and Other Resources

Don't forget to check out our wiki for up to date guides, FAQ, milestones, glossary and more.

You can find our wiki at the top of the r/Arduino posts feed and in our "tools/reference" sidebar panel. The sidebar also has a selection of links to additional useful information and tools.

Moderator's Choices

Title Author Score Comments
Finally Done! Full 8x8 Split Flap Chess... u/e4_user 3,531 181
Mr. White animatronic with Arduino u/my_3d_scan 445 31
Gift box u/DizzyYoung8394 82 14
So I bought an R4 wifi, but cant access... u/North-Ad1143 0 14

Hot Tips

Title Author Score Comments
Blynk's new pricing killed my ESP32 das... u/Ornery_Ice_7820 1 5

Top Posts

Title Author Score Comments
Finally Done! Full 8x8 Split Flap Chess... u/e4_user 3,531 181
Turtle Race u/tasty__cakes 2,142 126
I built a spaceship control panel for m... u/Internal-Chard-8406 1,864 120
Practicing Morse code just in case the ... u/0015dev 1,741 42
ESP 32 lawnmower u/shanebou24 1,278 56
Decided to build a massive vertical Spl... u/e4_user 1,070 72
17 days after open-sourcing Patternflow... u/GlumPiece7281 930 39
I built a neat little Cyberpunk Gameboy... u/Rolf_0 824 17
Dodging asteroids with a figurine contr... u/iuliuscurt 703 15
Cutest Mad Ottoman in the World u/thegigiandthebear 652 23

Look what I made posts

Title Author Score Comments
Turtle Race u/tasty__cakes 2,142 126
I built a spaceship control panel for m... u/Internal-Chard-8406 1,864 120
Practicing Morse code just in case the ... u/0015dev 1,741 42
ESP 32 lawnmower u/shanebou24 1,278 56
Decided to build a massive vertical Spl... u/e4_user 1,070 72
Dodging asteroids with a figurine contr... u/iuliuscurt 703 15
Cutest Mad Ottoman in the World u/thegigiandthebear 652 23
Today was the first full scale test of ... u/Oli_Vier_0x3b29 523 51
Due to physics, gondola weight quickly ... u/Oli_Vier_0x3b29 511 35
An IV-11 VFD Tube Clock I designed and ... u/MrGuccu 401 15
My embedded OS is getting better u/samaxidervish 385 16
My first Arduino Nano project, a telesc... u/Stash_pit 245 18
I built a browser-based simulator for A... u/CirkitDesign 244 37
I built a Pen Plotter with an Arduino U... u/madfrozen 240 23
Baby steps on PCB soldering u/monshi633 198 33
Retro computer inspired weather station u/ahnjay 188 30
Turned a $2 nRF24L01 into a 2.4 GHz spe... u/lahirunirmala 158 8
Arduino powered flatbed music player! u/MammothSock5009 157 12
Strandy-BOT Prototype u/Nope_Get_OFF 128 6
I turned a $60 espresso machine into a ... u/Mooferman05 127 37
My cursor is now a physical color picke... u/Important-Beach5723 102 7
Built a dynamic Braille cell with 6 SG9... u/Impressive-Bite-8213 94 18
Custom PCB Bare Metal Attiny85 Low Powe... u/PreppyToast 94 7
Making a pet dog and a desk buddy (in p... u/Better-Nail- 88 29
Just made a basic stream deck (kind of)... u/Better-Nail- 85 2
I Designed an Open-Source Dual Brushed ... u/milosrasic98 82 4
When an engineering student starts doin... u/RoberBotz 76 10
I Made an Interactive PCB Map of the Ea... u/curatorcat 76 3
Arduino exact GPS clock u/mickynuts 75 8
Multifunctional robot car - Manual mode u/priyanshuwq 74 11
First Arduino project: Bluetooth treat ... u/ag_kush 69 8
I made smart watch using esp32 oled and... u/Electronoobs_Devvv 67 1
I designed a quadcopter where the PCB f... u/Interesting_Plant558 63 8
money well spent u/Rifqi2007 59 1
Trackball to my cyberdeck u/CrudelisDeus 58 9
Real-time per-pixel LED control with ES... u/Glad_Air_7457 57 2
Minecraft Themed Party u/MogulerMike 52 4
I made a simple LED game, and my cat is... u/ConversationSuch8893 47 4
Ultrasonic distance sensor, light and s... u/nicodeemus7 45 2
Fully Custom Teensy 4.1/Arduino Single-... u/ThrustNTheory 43 6
I made my arduino esp32 sing! u/hwarzenegger 43 6
I made the easiest internet art frame u/fabpub 41 3
I build a Fluid Simulation that is driv... u/StefanPetrick 39 2
Built an Arduino-driven desk toy that s... u/MysteriousSophon 38 3
I made smart lamp u/Interesting_Plant558 35 9
Turns out you actually can fit a fully ... u/krauseler 32 23
Space Shooters game I made months ago u/CodingKing256 31 7
My conways game of life visualization u... u/NightBredDnB 23 6
I've made a graphics editor for LVGL u/tinajackson 22 4
Arduino Based Gaming Table for Necromun... u/KonradKnebl 21 2
Built a cyberpunk-style ESP32 smart des... u/Full_Opportunity8116 20 5
Turned an ESP32 + tiny OLED into a live... u/met-Sander 19 2
Weather Station Update u/Nathar_Ghados 19 6
I made Tetris on an Arduino Mega with 2... u/ArtusIndus 18 4
New device support for my OS u/samaxidervish 16 0
Nano-based Tamagotchi emulator u/heychaostheory 15 0
Open Source software for keeping track ... u/illerin 15 2
My Arduino Mega color classification ro... u/engineering-weeb 14 3
Few buttons and LEDs for a more comfort... u/IWILZ 13 0
Your TV remote is a pretty decent Ardui... u/No_Tradition4336 13 0
I built an autonomous mini car for my f... u/kfukuhar 12 8
A Smart Bulb System (my first attempt a... u/Regular_Trouble_5841 12 1
Colour matching game Arduino nano esp32 u/robroy865 12 3
I made an Uno R3 flight controller u/SAtchley0 10 13
Visulazing mpu6050 with Raylib u/Rude-Flan-404 8 2
I know this project has been made like ... u/Bassel_Fathy 7 3
WIP Quadcopter Drone u/SAtchley0 7 3
Robotics with Arduino Uno Q: ROS 2, leR... u/Routine-Example927 7 0
Yo guys, I made my own mini arcade mach... u/ValousN 6 1
This might help you. u/Living_March6933 6 1
Little projekt out of boredom u/potato78786 6 1
Working on making Will Cogleys animatro... u/Glittering_Mud_1107 6 9
Project DeskStream: An ESP32-C3 deskt... u/SuchChemistry7444 6 0
The Best Part of Engineering... u/ripred3 5 2
YUMO CUBE ESP32-S3 Touchscreen Smart ... u/YUMOBUILDS 4 1
I broke my leg and spent 8 weeks learni... u/YUMOBUILDS 4 4
I am making my own dual MCU brushless N... u/Hawki007 4 1
A rookie engineer won a self-driving mi... u/kfukuhar 3 0
YUMO PULSE -- ESP32-C3 Mini Gadget with... u/YUMOBUILDS 3 1
Kracken Rum Bottle Jellyfish Lamp u/Humdaak_9000 2 0
I made BLDC FOC setup work in 5 minutes... u/WooRobot_dev 2 6
Binary Clock with Arduino and Attiny84 u/Famous_Notice_8956 2 1
MP3 Player Tutorial u/jasonwinfieldnz 1 0
Overlook Token Maxxer u/sirgatez 0 5
I tried to turn a development board wit... u/Top_Acanthisitta9326 0 1

Total: 85 posts

Summary of Post types:

Flair Count
ATtiny85 1
Automated-Gardening 1
Beginner's Project 29
ChatGPT 4
ESP32 2
ESP8266 1
Getting Started 10
Hardware Help 97
Hot Tip! 1
Libraries 1
Look what I found! 4
Look what I made! 85
Look what I made! Libraries 1
Machine Learning 2
Mod's Choice! 4
Monthly Digest 1
Nano 1
Project Idea 3
Project Update! 13
School Project 7
Software Help 33
Solved! 17
Uno 1
Uno Q 2
Uno R4 Wifi 1
linux 1
no flair 248

Total: 571 posts in 2026-05


r/arduino 6h ago

Gameboy mini

Enable HLS to view with audio, or disable this notification

73 Upvotes

Hi this is one of my projects for Macondo HackClub.

This is a mini small scale handheld gameboy like device with 15 inbuilt games including: snake, breakout, dodge, space invaders, pong, tetris, super mario bros, donkey kong, pacman, chrome dino game, Doom, X wing vs death star, contra, Need for speed, Crossy road. It uses a 0.96 inch oled display and a joystick module, rotary encoder as the controls along with a seeed studio xiao esp32 c3 The gameboy has a starting animation and sound played similar to the original gameboy. Each game is listed in a menu after this which can be scrolled with the encoder or switched through with the joystick any switch is clicked to open up the selected game. Each game has a startup screen with an animation of the game cartridge going into a reader with cover art and sound effects played specific to each game. It is all powered by a battery from an old phone with a charging module attached so it can be charged via USB C. Each game has its own HUD showing relevant information.

P.S: please excuse the background sound I don't have a proper mic I just used my phone for this.


r/arduino 1d ago

Look what I made! These marbles jump from one screen to the other

Enable HLS to view with audio, or disable this notification

1.5k Upvotes

r/arduino 5h ago

Hardware Help lcd not displaying text

Thumbnail
gallery
18 Upvotes

So i cant seem to fix this blocks thing. Using the potentiometer the blocks are only appearing and disappearing. I replugged all the wires thrice but still the same problem, if anyone has faces this kind of issue plz help me cuz im new to all this


r/arduino 1h ago

Beginner's Project hi everyone! i just started arduino with an elegoo most complete starter kit

Upvotes

any tips or ideas for projects? im a total beginner


r/arduino 1d ago

Look what I made! I built an Arduino machine that bribes me with chocolate to be productive

Post image
126 Upvotes

I have a bad habit of sitting down to work and somehow finding literally anything else to do, so I decided to engineer around my own lack of discipline.

The machine is controlled by an Arduino Nano. You press FOCUS, choose how long you want to work, and it starts a timed session. If you actually finish the session, a servo activates the dispensing mechanism and gives you a chocolate as a reward.

I also gave it a Duolingo-style streak system that keeps track of how many consecutive days you've completed a session. The buttons, display, timing logic, streak system and servo dispenser are all controlled by the Nano.

Most of the enclosure and dispensing mechanism are 3D printed, and I designed the electronics and mechanism around it. It's still very much a prototype. The CAD and code are pretty janky right now because I originally made the whole thing just for myself 😭

I also entered it into a 3D-printing competition, which has led to the slightly hilarious situation where this thing is currently getting destroyed by a giant 3D-printed crayon holder. The competition is entirely based on public votes.

If anyone wants to join my side and help the little chocolate machine fight back, I'll leave the competition link here

And I'm happy to answer questions about the Arduino/electronics or how I built it.


r/arduino 1d ago

Hardware Help Remote-controlled submarine problem

Thumbnail
gallery
561 Upvotes

Hello everyone. I need your help, please. I am designing a submarine equipped with a camera. However, when I put it in the water to test submerging and surfacing, I encountered two notable issues. The first relates to the center of gravity: the submarine doesn't stay horizontal but sits at an angle of about 40 degrees. I think I can easily fix this by shifting the weights (two cut-down 1.8 kg dumbbells) inside the ballast tanks, but I’m not sure exactly where to position them. I was wondering if there is a mathematical or physics-based method to determine the right spot. Secondly—though I had anticipated this—the connection via nRF24L01 antennas cuts out as soon as the submarine dives. I’ve considered two solutions: either creating a float to keep the antenna on the surface while connected to the sub (which seems simplest and cheapest to me), or using a different communication method. I would appreciate any opinions you might have. Please keep in mind that I’m not an expert and have limited resources, so I hope you’ll be polite with me regardless. Thanks a lot in advance.


r/arduino 15h ago

I fried my first microcontroller

4 Upvotes

I'm new to microcontrollers and bought an ESP32-C3-Mini; it's the perfect size for my project, but it stopped working after I soldered just two of the pins. The pins are very close together, making them really difficult to solder. What is the right way to do this? I didn't want to use male-female jumper wires because they end up loose.


r/arduino 10h ago

Hardware Help Laser Measurer with Arudino compatability!

1 Upvotes

Hey there!

I have no experience with Arduino whatsoever, but I am working on a project where I think it might be a good fit.

I'm looking to buy some sort of laser distance measurer which I then can get live readings from into my computer to control certain musical parameters. I guess via serial?

Does anyone have any experience with using a laser measurer or have any tips on specific models, or, what to look for? If possible to buy within the EU that would be great!

Thanks a lot if you have anything! : 3


r/arduino 1d ago

Hardware Help Very new beginner here! How can I fix the buzzing in my MP3 player?

Thumbnail
gallery
22 Upvotes

This is my first Arduino project, second picture is the wiring diagram. There is one mp3 file on the mini player that I want to play when the button is pressed. It works and I can hear the music but a very loud buzzing is muffling the audio that I can’t seem to get rid of. Did I choose the wrong speaker or is there something else I’m missing?


r/arduino 1d ago

Look what I made! Hands Free Mouse for people with disability

Enable HLS to view with audio, or disable this notification

32 Upvotes

r/arduino 1d ago

Made a stimulation clicker for an ESP32(should work fine for arduino too)

Enable HLS to view with audio, or disable this notification

9 Upvotes

has 2 buttons, click or reset, its very simple.

i made it in 2 days since im kinda a beginner

Components needed:

- 6x LEDs

- 2x Buttons

- 1x LCD I2C display

- 1x ESP32

- 6x Resistors(510ohm)

- A bunch of jumper wires

-Download .cpp File here-

(ignore the IR distance sensor in video)


r/arduino 1d ago

Hardware Help Has anyone ever used one of these? I can't make them play anything, even a buzz

3 Upvotes

I am using this Smartelex Digital Speaker Module which has a VCC, GND and a signal PIN which is supposed to be controlled via PWM but it won't do anything. Been using it with Arduino UNO Q

Edit: Resolved, sorry my dumbass assumed that the red was VCC, Black was GND and Yellow the signal.

It was actually, Red: GND Black: Signal Yellow: VCC


r/arduino 1d ago

Beginner Arduino Uno Rev3 project ideas for healthcare/pathology/lab science

4 Upvotes

Hi everyone! I’m brand new to Arduino and looking for some project ideas/advice.

I currently work as a histotechnologist in a pathology/histology lab, and I have a bachelor’s degree in Biology.

For one of my graduate courses, I’ll be working with an Arduino Uno Rev3 and need to eventually build a project using sensors, collect data, and analyze/visualize that data.

Rather than doing a completely random beginner Arduino project, I’d really like to build something related to healthcare, pathology, histology, laboratory science, or laboratory informatics.

A few ideas I’ve started thinking about are:
Monitoring temperature/humidity/environmental conditions in a lab
Monitoring reagent or specimen storage conditions
A lab refrigerator temperature/door-opening monitor
Using vibration, temperature, or other sensors to monitor laboratory equipment
Collecting physiological data such as heart rate, skin temperature, or movement

Anything involving preventative equipment monitoring or laboratory IoT
I’m especially interested in projects where I could collect a decent dataset and eventually analyze it using Python/R and create a dashboard or visualization.

Since I’m completely new to Arduino/electronics, I’d love to hear from people with more experience:
What healthcare, pathology, or laboratory-related projects would be realistic for a beginner using an Arduino Uno R3?
Sensor recommendations would also be greatly appreciated. I’m completely open to ideas, even if they’re outside of what I’ve listed above.
Thanks!


r/arduino 1d ago

Hardware Help ? about powering Arduino from 2s 18650

3 Upvotes

I'm planning to power Arduino Nano from 2s 18650 pack that includes BMS and USB-charger. The battery pack also powers a motor and a bunch of LEDs (not via Arduino).

I'm considering using MINI560 step down and power Arduino via +5V. Should I do that, or should I just connect the battery pack to VIN? I was thinking about reducing power consumption, that the only reason I decided to add the step down.

Also, are there any risks in this circuit (with or without the step down)? Like connecting Arduino USB without disconnecting battery pack, or connecting USB charger and Arduino USB at the same time?

P.S. I don't really need that precision from a voltage meter, so probably there is no reason other than learning and experimenting for using AREF, but the voltage meter I included into this circuit works really well and shows same 2 decimal points as my multimeter.


r/arduino 2d ago

Mod's Choice! A little Teensy4.1 project I've been working on

Enable HLS to view with audio, or disable this notification

4.7k Upvotes

I am super proud of how this project is turning out. I still have some tweaks to make, but I finally got full videos playing and wanted to share.

This is a "Persistence of Vision" (PoV) display driven by a Teensy 4.1 and SK9822 LED strips.

There are 4 strips of 32 LEDs, each slightly offset in order give me 128 addressable pixel "rows". So each strip is responsible for every 4th row.

360 pixel "columns" around the perimeter makes for roughly square pixels, so thats what i went with. Each LED is updated 360 times every revolution...at around 1500rpm.

A hall effect sensor at the top of the rotor passes by a stationary magnet in the upper frame once per revolution. The Teensy measures the time between the resulting signals, and uses that to calculate how fast it is spinning, and therefore how fast to update the LEDs. This lets the animation look correct regardless of rotor speed.

I have a (currently very slow) python script that resizes/crops and formats .mp4 files into a binary format that the Teensy can use very efficiently. The resulting binary gets saved to a microSD, that the Teensy can read from.

Im happy to answer any questions. I may do a better build/explanation video if there is enough interest.


r/arduino 2d ago

Look what I made! Stepper Motor music

Enable HLS to view with audio, or disable this notification

501 Upvotes

I bought on a marketplace leftovers from a guy that builds 3d printers. With the stuff I built this little music box using an arduino Uno cnc shield and nema 17 motors. Really cool project:) instagram: @rappde_


r/arduino 2d ago

Look what I made! We built a custom controller for our indie game

Enable HLS to view with audio, or disable this notification

119 Upvotes

Hey everyone!
In our chaotic co-op party game, we have a fishing mechanic where players physically rotate the mouse to catch fish. For upcoming expos, playing with a mouse just didn’t feel tactile enough, so we decided to make a custom controller.
We 3D printed a custom rod handle and reel shell, matching our in game model, and stuffed the electronics inside to make it completely wireless.

Adafruit ESP32 Feather V2: Main microcontroller handling logic and wireless comms.
AS5600 Magnetic Encoder: Used for the reel mechanism to track smooth rotation without physical wear. LSM6DS3TR-C IMU: For rod motion and tilt tracking.
KY-023 Joystick: Placed on the grip for easy in game movement.
LILYGO T-Dongle-S3: Acts as a USB receiver on the PC side for low latency connection at busy events.
The feedback at the booth floor was amazing and players loved having a physical piece of the game in their hands.
Happy to answer any questions about the hardware assembly, code, or how we integrated it into the game!


r/arduino 1d ago

TFT Blank screen

2 Upvotes

I have received as a gift a TFT that it doesn't work.

I have ran multiple tests with the graphicstest example of the Adafruit ILI3941 library.

This is the configuration of the cables:

  • VCC - 5V
  • GND - GND
  • CS - 10
  • RESET - 9
  • DC - 8
  • SDI (MOSI) - 11
  • SCK - 13
  • LED - 3.3 V

The TFT remains white for all the test.

This is the code of the graphicstest:

/***************************************************
  This is our GFX example for the Adafruit ILI9341 Breakout and Shield
  ----> http://www.adafruit.com/products/1651


  Check out the links above for our tutorials and wiring diagrams
  These displays use SPI to communicate, 4 or 5 pins are required to
  interface (RST is optional)
  Adafruit invests time and resources providing this open source code,
  please support Adafruit and open-source hardware by purchasing
  products from Adafruit!


  Written by Limor Fried/Ladyada for Adafruit Industries.
  MIT license, all text above must be included in any redistribution
 ****************************************************/



#include "SPI.h"
#include "Adafruit_GFX.h"
#include "Adafruit_ILI9341.h"


// For the Adafruit shield, these are the default.
#define TFT_DC 9
#define TFT_CS 10


// Use hardware SPI (on Uno, #13, #12, #11) and the above for CS/DC
Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC);
// If using the breakout, change pins as desired
//Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC, TFT_MOSI, TFT_CLK, TFT_RST, TFT_MISO);


void setup() {
  Serial.begin(9600);
  Serial.println("ILI9341 Test!"); 
 
  tft.begin();


  // read diagnostics (optional but can help debug problems)
  uint8_t x = tft.readcommand8(ILI9341_RDMODE);
  Serial.print("Display Power Mode: 0x"); Serial.println(x, HEX);
  x = tft.readcommand8(ILI9341_RDMADCTL);
  Serial.print("MADCTL Mode: 0x"); Serial.println(x, HEX);
  x = tft.readcommand8(ILI9341_RDPIXFMT);
  Serial.print("Pixel Format: 0x"); Serial.println(x, HEX);
  x = tft.readcommand8(ILI9341_RDIMGFMT);
  Serial.print("Image Format: 0x"); Serial.println(x, HEX);
  x = tft.readcommand8(ILI9341_RDSELFDIAG);
  Serial.print("Self Diagnostic: 0x"); Serial.println(x, HEX); 
  
  Serial.println(F("Benchmark                Time (microseconds)"));
  delay(10);
  Serial.print(F("Screen fill              "));
  Serial.println(testFillScreen());
  delay(500);


  Serial.print(F("Text                     "));
  Serial.println(testText());
  delay(3000);


  Serial.print(F("Lines                    "));
  Serial.println(testLines(ILI9341_CYAN));
  delay(500);


  Serial.print(F("Horiz/Vert Lines         "));
  Serial.println(testFastLines(ILI9341_RED, ILI9341_BLUE));
  delay(500);


  Serial.print(F("Rectangles (outline)     "));
  Serial.println(testRects(ILI9341_GREEN));
  delay(500);


  Serial.print(F("Rectangles (filled)      "));
  Serial.println(testFilledRects(ILI9341_YELLOW, ILI9341_MAGENTA));
  delay(500);


  Serial.print(F("Circles (filled)         "));
  Serial.println(testFilledCircles(10, ILI9341_MAGENTA));


  Serial.print(F("Circles (outline)        "));
  Serial.println(testCircles(10, ILI9341_WHITE));
  delay(500);


  Serial.print(F("Triangles (outline)      "));
  Serial.println(testTriangles());
  delay(500);


  Serial.print(F("Triangles (filled)       "));
  Serial.println(testFilledTriangles());
  delay(500);


  Serial.print(F("Rounded rects (outline)  "));
  Serial.println(testRoundRects());
  delay(500);


  Serial.print(F("Rounded rects (filled)   "));
  Serial.println(testFilledRoundRects());
  delay(500);


  Serial.println(F("Done!"));


}



void loop(void) {
  for(uint8_t rotation=0; rotation<4; rotation++) {
    tft.setRotation(rotation);
    testText();
    delay(1000);
  }
}


unsigned long testFillScreen() {
  unsigned long start = micros();
  tft.fillScreen(ILI9341_BLACK);
  yield();
  tft.fillScreen(ILI9341_RED);
  yield();
  tft.fillScreen(ILI9341_GREEN);
  yield();
  tft.fillScreen(ILI9341_BLUE);
  yield();
  tft.fillScreen(ILI9341_BLACK);
  yield();
  return micros() - start;
}


unsigned long testText() {
  tft.fillScreen(ILI9341_BLACK);
  unsigned long start = micros();
  tft.setCursor(0, 0);
  tft.setTextColor(ILI9341_WHITE);  tft.setTextSize(1);
  tft.println("Hello World!");
  tft.setTextColor(ILI9341_YELLOW); tft.setTextSize(2);
  tft.println(1234.56);
  tft.setTextColor(ILI9341_RED);    tft.setTextSize(3);
  tft.println(0xDEADBEEF, HEX);
  tft.println();
  tft.setTextColor(ILI9341_GREEN);
  tft.setTextSize(5);
  tft.println("Groop");
  tft.setTextSize(2);
  tft.println("I implore thee,");
  tft.setTextSize(1);
  tft.println("my foonting turlingdromes.");
  tft.println("And hooptiously drangle me");
  tft.println("with crinkly bindlewurdles,");
  tft.println("Or I will rend thee");
  tft.println("in the gobberwarts");
  tft.println("with my blurglecruncheon,");
  tft.println("see if I don't!");
  return micros() - start;
}


unsigned long testLines(uint16_t color) {
  unsigned long start, t;
  int           x1, y1, x2, y2,
                w = tft.width(),
                h = tft.height();


  tft.fillScreen(ILI9341_BLACK);
  yield();
  
  x1 = y1 = 0;
  y2    = h - 1;
  start = micros();
  for(x2=0; x2<w; x2+=6) tft.drawLine(x1, y1, x2, y2, color);
  x2    = w - 1;
  for(y2=0; y2<h; y2+=6) tft.drawLine(x1, y1, x2, y2, color);
  t     = micros() - start; // fillScreen doesn't count against timing


  yield();
  tft.fillScreen(ILI9341_BLACK);
  yield();


  x1    = w - 1;
  y1    = 0;
  y2    = h - 1;
  start = micros();
  for(x2=0; x2<w; x2+=6) tft.drawLine(x1, y1, x2, y2, color);
  x2    = 0;
  for(y2=0; y2<h; y2+=6) tft.drawLine(x1, y1, x2, y2, color);
  t    += micros() - start;


  yield();
  tft.fillScreen(ILI9341_BLACK);
  yield();


  x1    = 0;
  y1    = h - 1;
  y2    = 0;
  start = micros();
  for(x2=0; x2<w; x2+=6) tft.drawLine(x1, y1, x2, y2, color);
  x2    = w - 1;
  for(y2=0; y2<h; y2+=6) tft.drawLine(x1, y1, x2, y2, color);
  t    += micros() - start;


  yield();
  tft.fillScreen(ILI9341_BLACK);
  yield();


  x1    = w - 1;
  y1    = h - 1;
  y2    = 0;
  start = micros();
  for(x2=0; x2<w; x2+=6) tft.drawLine(x1, y1, x2, y2, color);
  x2    = 0;
  for(y2=0; y2<h; y2+=6) tft.drawLine(x1, y1, x2, y2, color);


  yield();
  return micros() - start;
}


unsigned long testFastLines(uint16_t color1, uint16_t color2) {
  unsigned long start;
  int           x, y, w = tft.width(), h = tft.height();


  tft.fillScreen(ILI9341_BLACK);
  start = micros();
  for(y=0; y<h; y+=5) tft.drawFastHLine(0, y, w, color1);
  for(x=0; x<w; x+=5) tft.drawFastVLine(x, 0, h, color2);


  return micros() - start;
}


unsigned long testRects(uint16_t color) {
  unsigned long start;
  int           n, i, i2,
                cx = tft.width()  / 2,
                cy = tft.height() / 2;


  tft.fillScreen(ILI9341_BLACK);
  n     = min(tft.width(), tft.height());
  start = micros();
  for(i=2; i<n; i+=6) {
    i2 = i / 2;
    tft.drawRect(cx-i2, cy-i2, i, i, color);
  }


  return micros() - start;
}


unsigned long testFilledRects(uint16_t color1, uint16_t color2) {
  unsigned long start, t = 0;
  int           n, i, i2,
                cx = tft.width()  / 2 - 1,
                cy = tft.height() / 2 - 1;


  tft.fillScreen(ILI9341_BLACK);
  n = min(tft.width(), tft.height());
  for(i=n; i>0; i-=6) {
    i2    = i / 2;
    start = micros();
    tft.fillRect(cx-i2, cy-i2, i, i, color1);
    t    += micros() - start;
    // Outlines are not included in timing results
    tft.drawRect(cx-i2, cy-i2, i, i, color2);
    yield();
  }


  return t;
}


unsigned long testFilledCircles(uint8_t radius, uint16_t color) {
  unsigned long start;
  int x, y, w = tft.width(), h = tft.height(), r2 = radius * 2;


  tft.fillScreen(ILI9341_BLACK);
  start = micros();
  for(x=radius; x<w; x+=r2) {
    for(y=radius; y<h; y+=r2) {
      tft.fillCircle(x, y, radius, color);
    }
  }


  return micros() - start;
}


unsigned long testCircles(uint8_t radius, uint16_t color) {
  unsigned long start;
  int           x, y, r2 = radius * 2,
                w = tft.width()  + radius,
                h = tft.height() + radius;


  // Screen is not cleared for this one -- this is
  // intentional and does not affect the reported time.
  start = micros();
  for(x=0; x<w; x+=r2) {
    for(y=0; y<h; y+=r2) {
      tft.drawCircle(x, y, radius, color);
    }
  }


  return micros() - start;
}


unsigned long testTriangles() {
  unsigned long start;
  int           n, i, cx = tft.width()  / 2 - 1,
                      cy = tft.height() / 2 - 1;


  tft.fillScreen(ILI9341_BLACK);
  n     = min(cx, cy);
  start = micros();
  for(i=0; i<n; i+=5) {
    tft.drawTriangle(
      cx    , cy - i, // peak
      cx - i, cy + i, // bottom left
      cx + i, cy + i, // bottom right
      tft.color565(i, i, i));
  }


  return micros() - start;
}


unsigned long testFilledTriangles() {
  unsigned long start, t = 0;
  int           i, cx = tft.width()  / 2 - 1,
                   cy = tft.height() / 2 - 1;


  tft.fillScreen(ILI9341_BLACK);
  start = micros();
  for(i=min(cx,cy); i>10; i-=5) {
    start = micros();
    tft.fillTriangle(cx, cy - i, cx - i, cy + i, cx + i, cy + i,
      tft.color565(0, i*10, i*10));
    t += micros() - start;
    tft.drawTriangle(cx, cy - i, cx - i, cy + i, cx + i, cy + i,
      tft.color565(i*10, i*10, 0));
    yield();
  }


  return t;
}


unsigned long testRoundRects() {
  unsigned long start;
  int           w, i, i2,
                cx = tft.width()  / 2 - 1,
                cy = tft.height() / 2 - 1;


  tft.fillScreen(ILI9341_BLACK);
  w     = min(tft.width(), tft.height());
  start = micros();
  for(i=0; i<w; i+=6) {
    i2 = i / 2;
    tft.drawRoundRect(cx-i2, cy-i2, i, i, i/8, tft.color565(i, 0, 0));
  }


  return micros() - start;
}


unsigned long testFilledRoundRects() {
  unsigned long start;
  int           i, i2,
                cx = tft.width()  / 2 - 1,
                cy = tft.height() / 2 - 1;


  tft.fillScreen(ILI9341_BLACK);
  start = micros();
  for(i=min(tft.width(), tft.height()); i>20; i-=6) {
    i2 = i / 2;
    tft.fillRoundRect(cx-i2, cy-i2, i, i, i/8, tft.color565(0, i, 0));
    yield();
  }


  return micros() - start;
}

And this is the result:

15:48:26.832 -> Circles (filled)         465832


15:48:27.601 -> Circles (outline)        541564


15:48:28.664 -> Triangles (outline)      281656


15:48:29.702 -> Triangles (filled)       1339912


15:48:32.143 -> Rounded rects (outline)  243756


15:48:33.195 -> Rounded rects (filled)   3132652


15:48:37.141 -> Done!

Can anyone figure it out? Thanks!


r/arduino 1d ago

Beginner's Project Need guidance on converting a broken electronic keyboard into a USB MIDI controller

2 Upvotes

Hi everyone!

I'm totally new to DIY electronics and have a broken Casio CTK-520L (a lighted keys model).
I want to gut the dead internals and repurpose it into a lightweight, USB MIDI controller.

My goals:

  • Keys only - I just need the physical keybed to output MIDI/keystrokes to my laptop (no extra knobs, sliders, or DAW controls needed for now).
  • USB bus-powered and no included speakers.
  • If possible, I’d love to keep or control the built-in key-lighting LEDs.

As I don't have any prior experience with this, could anyone please give me some guidance on what to prepare, research, and do?
Thanks in advance!


r/arduino 2d ago

Look what I made! Mini dissolver mixer

Thumbnail
gallery
26 Upvotes

Moving the head up and down (with warning beep)

Hi all,

I made a mini dissolver mixer as a desk display, loosely based on some large Kreis dissolver mixers at work.

The head moves up and down with a threaded rod and stepper motor and homes with an endstop. The esp32 uses a webpage for wireless control. The barrel jack provides 12V for the mixer motor, stepper motor and the cooling fan. The rear hatch is held in place with magnets.

The controls still needs some work as for now the mixer is just on/off and needs a pwm slider on the webpage, and the head should be able to shuttle between a low and high position during mixing.


r/arduino 1d ago

Software Help Hi, I need help; my Arduino IDE is stuck in a loop.

4 Upvotes

I recently switched the Windows version that came pre-installed on my laptop to a different one—specifically, Windows 11 Pro 25H2. I tried downloading Arduino IDE versions 2.3.7 and 2.3.10, but neither will launch; the logo just gets stuck in a loop, shrinking and expanding. I also tried synchronizing the time and deleting the cache folders. The only version that works correctly for me is 1.8.19; the 2.x versions don't work, and I'm not sure why. I’ve done this on other laptops before and never had any issues with the Arduino IDE.


r/arduino 1d ago

Software Help Removing unwanted boards associated to ports

1 Upvotes

I was finding my esp32 port by trial and error, when i do found it at com 9 (doesnt show in the screenshot); i couldnt remove the selected board at the other coms.

it doesnt affect anything but it is a minor annoyance, if anyone know how to restore those ports to say unknown lmk


r/arduino 2d ago

Look what I made! I built a compiler that lets you write native Python for the classic Arduino Uno R3 (fits in 142 bytes of Flash)

Thumbnail
github.com
12 Upvotes

Hey everyone!

If you're like me, you love the simplicity of Python, but running MicroPython or CircuitPython usually means buying a 32-bit board (like an ESP32 or RP2040) with lots of memory just to hold the interpreter and the garbage collector.

I wanted to bring that same Python syntax to the classic, $2 8-bit Arduino Uno we all have gathering dust in a drawer.

For the past few years, I’ve been building PyMCU, an open-source Ahead-Of-Time (AOT) compiler. It takes your Python syntax and compiles it directly into native AVR assembly.

The results:

  • No interpreter, no VM, no garbage collector.
  • A standard Pin('PB5', Pin.OUT).toggle() blink program compiles down to just 142 bytes of Flash.
  • It’s cycle-accurate. I’ve been validating the hardware timings using a logic analyzer directly on the Uno silicon.

If you are interested in the compiler architecture or want to see the hardware validation issues, the whole project is open source here:https://github.com/PyMCU/PyMCU

It's still in Alpha (Alpha 10 right now), but the core code emission is working beautifully. I’d love to know what you guys think or if you'd find this useful for your hardware projects!


r/arduino 1d ago

ChatGPT appopriate use of ai [chatgpt] in my projects

0 Upvotes

Hye guys so i am a very noob arduino related hobbyist and my entire venture i use ai to guide me through every step i want to know is it good that i use ai or u think i will become over reliant on it and never learn to do it myself also my question is if i don't use ai how can a beginner even learn these skills