It seems that my red pin of my RGB led is not working properly. Now ive tested if the red pin is broken with multimeter, it was not, it lit up just fine. So i have all pins on pmw this is my code:
also i have a common cathode rgb led and everything is wired up just fine. So any suggestions on what is going on here?
int redPin= 9;
int greenPin = 6;
int bluePin = 5;
void setup() {
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
}
void loop() {
setColor(255, 0, 0); // Red Color
delay(1000);
setColor(0, 255, 0); // Green Color
delay(1000);
setColor(0, 0, 255); // Blue Color
delay(1000);
setColor(255, 255, 0); // Yellow Color
delay(1000);
setColor(0, 255, 255); // Cyan Color
delay(1000);
setColor(255, 0, 255); // Magenta Color
delay(1000);
setColor(255, 165, 0); // Orange Color
delay(1000);
setColor(128, 0, 128); // Purple Color
delay(1000);
setColor(255, 255, 255); // White Color
delay(1000);
}
void setColor(int redValue, int greenValue, int blueValue) {
analogWrite(redPin, redValue);
analogWrite(greenPin, greenValue);
analogWrite(bluePin, blueValue);
}
I'm using an Arduino Uno to test the KY-024 hall sensor. It appears to output a higher than normal voltage. I've tried swapping analog and digital pins, a bunch of codes, and moving the potentiometer. There seems to be a ~0.5V drop (reads ~4.5 when 5V used, ~2.8 when 3.3V used) between the sensor and the analog pin, not sure if that's a little odd. The hall effect sensor seems to be a 49E linear sensor, which should work from my knowledge. Anyone ever had this issue with one of these sensors? Any help is appreciated. Mind you, I did buy this from aliexpress so it could full well be faulty. Anyone ordered reliable modules for this before please drop the link below. Thanks!
Here's the code I was running as well. Pretty sure it was the demo code provided.
// Declaration and initialization of the input pin
int Analog_Eingang = A0; // X-axis-signal
int Digital_Eingang = 3; // Button
void setup ()
{
pinMode (Analog_Eingang, INPUT);
pinMode (Digital_Eingang, INPUT);
Serial.begin (9600); // Serielle output with 9600 bps
}
// The program reads the current value of the input pins
// and output it via serial out
void loop ()
{
float Analog;
int Digital;
// Current value will be read and converted to the voltage
Analog = analogRead (Analog_Eingang) * (5.0 / 1023.0);
Digital = digitalRead (Digital_Eingang);
// and outputted here
Serial.print ("Analog voltage value:"); Serial.print (Analog, 4); Serial.print ("V, ");
Serial.print ("Extreme value:");
if(Digital==1)
{
Serial.println (" reached");
}
else
{
Serial.println (" not reached yet");
}
Serial.println ("----------------------------------------------------------------");
delay (200);
}
Folks, I'm trying to make a cheap pool chemistry strip reader, so I've just setup a nice web-server and finally solved an issue with SDMMC conflict with LED flash controls (by switching to 1-wire to free up the SDMMC_D1 which is used for LED).
Now I want to take the best possible picture (OV3660) in black box (literally), which is lit just by the LED. What the sensor settings to use?
I thought I need to disable the auto-exposure and increase the exposure time to 1200, then disable the gain and maximum I'm getting is the attached picture, which is not enough for sure...
So how I can get the best picture quality without harming it by gain and other post-processing?
I have been working on a small Arduino Uno project to power a set of sensors and LEDs. The setup uses a breadboard, basic resistors, and a low voltage transformer stepping down from mains to around 12V before regulation.
….the issue started when my readings became unstable after a few minutes. At first, i thought it was a coding problem, but after checking everything, the issue seemed power related. The voltage from the transformer was not as steady as I expected under load. I have done some research about this problem, looking even into technical specifications listed by suppliers, such as those on alibaba, but it does not help that much in reality. The specs looked fine, but my actual measurements told a different story.
So right now, I am using a basic linear regulator to step it down to 5V for the Arduino, but i am wondering if switching to a better regulated supply or adding proper filtering would stabilize things…. Kinda desperate right now
Has anyone here dealt with similar instability using low voltage transformers in small Arduino setups? I would really appreciate any suggestions on improving power consistency without overcomplicating the circuit.
I'm currently working on a robot arm project and trying to get these MG996R servos, as attached, to work by spinning (I'm just testing them using a basic servo sketch right now). However, with each of the 4 servos I ordered and tested, still nothing has gone right. I have connected a common ground to the breadboard, edited the code millions of times, fixed all the loose wires, etc, but the servos keep burning. They work for a second or two and then just smoke out.
I'm using it to power a 24 V fog maker at 1 A. It works perfectly well, but I noticed when it was on I was getting random colours flashing intermittently on the RGB LED.
I eventually want to use these together. So, what could I be doing wrong?
As you can see in the video, the text on my I2C OLED display seems to be behind some sort of artefact wall. I have tried all I can think of but nothing seems zondo anything.
when i try to select plain arduino nano for my nano clone it says verify only and resets to arduino nano rp2040 connect or nano 33 ioT when i press nano
I ran a 7.3" colour e-ink panel at 2× the rated PLL for 10 days without noticing — burned 30+ "discoveries" as overclock artifacts. Project is real-world functional now.
25 days of bring-up on an Arduino UNO Q (Linux + MCU dual-brain), with Claude Code running on the Linux side and painting agent state to the panel.
Hardest lesson: trust the chip's OTP, not the schematic, and not the community gist.
The build
I wanted a physical surface that shows me what my coding agent is doing — token usage, current task, last command, error state. Not on my laptop monitor (I have IDE windows for that), but a separate, calm surface I can glance at while I pace.
Colour e-paper made sense: no backlight to fatigue my eyes during long sessions, persistent so the agent's state survives sleep, big enough for actual information.
The catch is e-paper is slow. A full DRF cycle on the 7.3" Spectra 6 panel is ~28 seconds. So most of the project became "how to only update what changed without losing colour fidelity."
The hardware ended up being a GDEP073E01 panel + DESPI-C73 adapter, driven over SPI from the UNO Q's MCU side, while the Linux side (QRB2210) runs the Python frame composer and talks to Claude Code over a unix socket.
How it works
Claude Code (Linux side on UNO Q)
│ hooks fire on tool-use / completion / error
▼
unix socket -> dashboard daemon (Python)
│ composes 800×480 colour frame
▼
SPI -> SPD1657A controller -> 7.3" panel
The daemon listens on a unix socket. Hooks in Claude Code push state events. The daemon composes the next frame and decides between a full refresh and a 1.5s partial.
What surprised me first
Sketch compiled. Uploaded. Terminal said "success." Screen did nothing.
Three invisible bugs stacked:
A background service silently overwrote my sketch
The flash tool wrote to the wrong partition
A key pin was already pre-assigned in the DTS
Took three days. This whole class of bug — where every tool reports success but nothing visibly fails — is the worst part of bringing up anything on a new SBC.
The controller is not what every gist says
The 7-colour e-paper code people copy-paste online targets the SPD1656. The GDEP073E01 actually ships with SPD1657A. They're only ~85% command-compatible. Half the "LUT unlock" tricks people share? Silently no-op on the SPD1657A.
I dumped the OTP memory on day 20 to find this out, using the 0xCD IC-version command. That single byte is the only honest way to know which controller you're really talking to. The schematic doesn't tell you. The datasheet PDFs are ambiguous. Only the chip is the source of truth.
The PLL byte that lied to me for 10 days
This is the part I'd warn anyone building on a new colour e-paper about.
The PLL register takes a one-byte value. I'd been sending 0x07. That happens to be a valid value — the panel refreshed, output colour, and I could reproduce my results consistently. So I assumed it was correct.
It wasn't. The vendor reference value is 0x08. Sending 0x07 runs the panel at 2× the rated PLL.
For 10 days, while overclocked, I'd been collecting "new palettes", "novel intensity levels", "codes that produce skin tones." I wrote them all up. Felt productive.
On day 25 I cross-checked one byte against the vendor reference driver. 30+ palette observations turned out to be overclock artifacts. 7 of my project notes got marked SUPERSEDED. 3 specific public claims retracted.
Everything was reproducible — until it wasn't.
The reordering trick that halved refresh time
While I was at it, another rule fell out. The Panel Setting register (PSR) must be the very first command after raw_reset. Send it one position later and the controller's state machine takes the slow path — refresh time jumps from 28s to 46s.
Reordering a single command got it back to 28s. Halved refresh time, zero hardware change.
What survived
After the PLL pullback, the 7 production recipes that actually hold up:
(Plus two more tied to specific waveforms I'm still tuning)
What I'd do differently on a new SBC
Read OTP / chip-version registers on day 1, not day 20. Trust the chip, not the schematic, not the gists.
For every register, log "expected, default, what I sent" to a CSV. The wrong PLL byte would have been caught day 1, not day 25.
Lock down a "vendor canonical" mode early and only deviate intentionally. Off-canonical exploration mixes signal with artifacts, and you can't tell which is which until you reset.
Arduino UNO R4 WiFi. I built a system to measure 32 analog signals on ADC0 and ADC1 using two 16:1 muxes. It works great for a few weeks or even months, then the mux chips start malfunctioning. I replace the mux (CD74HC4067) chip and it works again for awhile. I'm running 16 analog signals through the mux (0-5 Vp-p). The Arduino program sets ADC0-ADC1 as input when the system is initialized, then just loops reading analog inputs, doing calculations and sending data via wifi. I just leave the analog signals sitting on the ADC0 and ADC1 port even when I'm not sampling, so I'm wondering if maybe the pin switches functionality somehow and sets an output signal at 0v or 5V, which might cause excess current through my mux chip and keep burning them up. (I'm pulling my hair out trying to figure out why the mux chips keep malfunctioning after awhile)
Question: If I set the ADC0 and ADC1 pins as inputs during initialization, will they ever change functionality and throw a voltage (i.e. become D14 or something) on the pin during other operations?
EDIT: Thanks for the help. The analog inputs aren't causing my issues and it looks like I'll need to redesign my board to account for transients among other things.
Hi, so I have an R4 WiFi clone that worked flawlessly for a few months, but suddenly, it’s now impossible to upload to.
I’ve checked the IDE version, data transfer speed, USB cable, double-pressed the reset button, tried 3 different computers, etc., etc., but nothing helped. So if you guys have any idea of what may have happened, I’m willing to hear it!
I am looking to start making my electronics projects more permanents, and transition from breadboard to soldering a perfboard.
I already bought my own soldering iron, but I am looking for some cheap, quality perfboards I can get online. Does anyone have any recommendations for where I can find them, or any advice as to what to look for and what to avoid when buying?
Hey all! This isn't about Arduino/programming specifically but I haven't found answers elsewhere and this seems like something this community might know.
I'm working on a costume and would like to sew conductive thread into the fingerpads of the gloves. The problem is the gloves will have claws as well, which I am planning to hot glue. Ideally, I would like to add the thread first so I can turn the gloves inside out to finish/tie off the ends more neatly (which won't be possible with the claws installed).
Will the heat from the hot glue affect the conductivity of the thread at all? The glue itself shouldn't ever come in contact with it, but obviously it's hot and heat radiates. I know magnets and active electronics can be damaged by heat, but I don't know whether that's something I need to worry about with the thread. If it is potentially damaging, I'll sew the threads in after the claws are installed but would prefer not to have to unless necessary. The plan is to use 3ply stainless steel yarn if that affects the answer.
This is a issue I am facing for some time
My Arduino is not being read by my computer
When ever I try to connect it every com port is unknown and after selecting board when I click upload it just gets stuck on uploading
And while trying the online Arduino the board is not being found
Can I get some help I need to submit a project soon
Hi, I wanted to ask if one is better for me as a first year electrical engineering student. On Amazon, the price difference is only 4 dollars. But I heard there are more tutorials for the uno and it's more beginner friendly. I also heard the mega is superior. Thanks!
(edit) There is the super starter kit as an option too, I'm just not sure what would be best suited for my level and as a beginner.
I recently started learning Arduino and decided to build a small RGB “painter” project in Tinkercad. The idea is to use 3 buttons to control an RGB LED: each button corresponds to one color channel (red, green, or blue), and when the use presses a button, that color should light up.
However, my circuit still doesn’t work properly, and I genuinely cannot figure out why after spending hours debugging it. 😭 I checked the pins, wiring, code, and button logic multiple times, but I’m still getting strange behavior from the RGB LED.
I’ve uploaded screenshots of both the circuit and the schematic, along with the code. I would really appreciate any help or suggestions on what might be wrong. Thank you!
int pin_red_button = 4;
int pin_green_button = 3;
int pin_blue_button = 2;
int pin_blue_led = 5;
int pin_red_led = 6;
int pin_green_led = 10;
void setup()
{
pinMode (pin_red_button, INPUT_PULLUP);
pinMode (pin_blue_button, INPUT_PULLUP);
pinMode (pin_green_button, INPUT_PULLUP);
pinMode(pin_green_led, OUTPUT);
pinMode(pin_red_led, OUTPUT);
pinMode(pin_blue_led, OUTPUT);
}
void loop()
{
int button_state_red = digitalRead(pin_red_button);
int button_state_green = digitalRead(pin_green_button);
int button_state_blue = digitalRead(pin_blue_button);
if (button_state_blue == LOW) {
analogWrite (pin_blue_led, 255);
}
else {
analogWrite (pin_blue_led, 0);
}
if (button_state_red == LOW) {
analogWrite (pin_red_led, 255);
}
else {
analogWrite (pin_red_led, 0);
}
if (button_state_green == LOW) {
analogWrite (pin_green_led, 255);
}
else {
analogWrite (pin_green_led, 0);
}