Strange behavior with setRGBled

I decided not to attempt the solder fix. It’s just too small for my crappy eyeballs to see, also, I don’t really want to invest in any further equipment than the simple solder iron I have now.

I WOULD be willing to pay shipping and handling for a replacement Arduboy, for sure. Or, as Kevin stated, a store credit in the shop would be nice too.

My kids really loved changing the LED colors on the Arduino robot we have through code, and it would be nice to be able to do that with the Arduboy too, but it’s hardly the end of the world at all. Some kind of little recompence would be nice, whatever that might be.


A friend of mine who has received his pair of kickstarter Arduboys (here in the UK) recently asked me if I could help him fix the RGB LED on both his Arduboys. I’m an electronic engineer and regularly have to solder surface mount components by hand, so I thought I would give it a go.

After attempting to de-solder the existing RGB LED with just a fine-tipped soldering iron I managed to totally kill the LED (it was quite fragile at high temperature). So i decided the best approach was to scrap both the existing RGB LEDs and buy new replacements. I found part number KPHF-1612QBDSURKZGC in-stock at RS and Farnell (OneCall) so ordered two and waited for delivery. (RS order code 466-4080)

Having removed the previous LED carefully with soldering iron and solder-wick, I cleaned up the surrounding area with solvent and then gently soldered in the new LED making sure it was the correct way around. After a little more cleaning and re-assembly - hoorah! It Worked.

I ran the code featured in this thread by @MLXXXp and it all worked as expected.

Needless to say my friend was so happy I could help that he gave me one of the two Arduboys I’d just help fix :slight_smile: now I’m super happy too. The picture should show the results of the LED fix.

If you feel brave enough to do this then I advise replacing with a brand new LED as they are so very cheap. Hope this has been helpful in some way. Matt.


Hey Leo! @Ground7 Thought this could be an interesting read for you if you want to attempt to re-work your Arduboy :smiley:

1 Like

Thank you for directing me to this thread.

I will order replacement LED’s later and wait till they get in.

I’ve never worked with this small of rgb led’s before but I do work a lot with the led’s used on this arduboy for the data and power identifiers… Not for everyone they are a bit tricky to work with as they do become very “mold-able” in heat…

I’ll post my success after I do this.

This happened, and I tried to communicate with the guy at the factory about this and managed to convince myself it was actually a software bug with the test jig. This literally slipped right through my fingers. It was a long day at the factory, it was hot, and I probably wanted to go home. It’s a great lesson in manufacturing how detail oriented you have to be in regards to quality control.

I let down my gaurd because the first batch was made correct, and it bit me and unfortunatly most backers don’t get RGB LED over it. Makes me real sad because I wanted to do some tutorial with full color and now that would exclude a large number of backers.

Best thing we can do right now is offer an in store credit for users effected.

Keep in mind we only started the kickstarter campaign with a single color LED and tried to add RGB during the campaign.

It’s cool to see so many people attempting the fix themselves! Brave souls! Be careful of the OLED it is very sensitive to heat! Cover it with some tape maybe to prevent any accidents! :slight_smile:

1 Like

Regarding the flipped RGB LED, it’s okay by me. I think my colleagues at work can help me solder it on correctly. If not, hey, mistakes happen, so be it. I’ll definitely be getting the Next Gen Arduboy – this thing is really fun so far. I just need to find some simple tutorials to get myself started…

1 Like

The only consolation I can add, is it does indicate a numbering in the production run, so you can say with a decent certainty you are part of the first run if your unit has a flipped LED, further narrowing down which Arduboy may truly be the first of 10,000.

Actually, the LED was flipped on the second run of approximately 8000 (of 10000). The first run of 2000 had the LED installed correctly. So if you received a unit with a reversed LED you can be pretty certain that it wasn’t the very first one of 10000.

1 Like

And the plot thickens!

Ahh this thread explains a lot, I thought I was going crazy when I tried to make a red LED and it went blue.

@bateske I wouldn’t worry too much, it would be a nice feature to have but it’s really not the end of the world, all the units work fine other than that and it’s possible to fix yourself. Actually delivering is more than every hardware kickstarter I’ve backed.

I was planning on implementing a health display system using the LED but I find having it on all the time annoying to my eyes anyway so I can just try to make it an optional thing. But is there anyway to detect in software if the LED is flipped? I would assume not but if there is then it would be nice to be able to make sure people aren’t looking at blue when it should be red :smiley:

1 Like

I was thinking about this shortly after the problem was discovered. It might be possible. It depends on exactly how the I/O pins behave if configured a certain way. The datasheet isn’t detailed enough to say for sure. Experimenting to see if it can be done is on my “to do” list.

1 Like

I’m sorry to say that, after doing some more research, I don’t think detecting a reversed RGB LED via software is possible.

Technical details for anyone interested:

My technique involved reading the pin that controls the green LED using the ADC. Unfortunately, I thought the green LED was on a pin that could be read by the ADC but it’s not. (The red and blue LEDs are both on ADC capable pins but, due to the way the LEDs are wired, the technique won’t work with them.)

Had the green LED pin been ADC capable, here’s what I thought might work:

I assumed that if a pin is set as a digital input, and has the internal pullup resistor enabled, then the pullup will remain active if an analog read is performed on the pin. This is the experimenting I planned to do, to verify if this is true.

If it turned out to be true that the input pullup remained active, you would set the green LED pin this way and then set the red LED pin to a digital low output.

If the LED was installed properly the green pin would be at close to the battery voltage. If the LED was reversed, the voltage on the green pin would be pulled down through the red LED to less than 2 volts.

You would then set the ADC reference to Vcc and use the ADC to read the green pin. Using an 8 bit precision read, a value greater than around 210 would indicate that the LED was installed properly. A value below this would mean the LED was reversed.

If you turn whatever pin the anode is on, push voltage through the led and you get any voltage on that pin, it’s showing the voltage that comes through the led. I’d have to check the schematic to know what exact pins.

How about you publish the schematic?

But an LED is a diode. It only passes current in one direction. Plus it has a fairly large voltage drop across it when conducting. These two facts complicate things.

1 Like

Well I had my arduboy at work today and during lunch decided I was going to flip the rgb led around. (I do regular surface mount led’s it’s part of my job, so rgb ones should be no problem).

The ones below here are backwards, fixed is above…

The process is simple for me, using a scope add flux, heat with hot air smd blower, pull up with tweezers, rotate, clean solder away from three pads using solder iron, re-apply led using tweezers, solder with solder iron, add solder to the last three legs/pads. Finally run the led test:)

Probably not for everyone but I am loving these little arduino’s!

1 Like

Some people have the best toys to play with !


@Ground7 Can you confirm with the RGB test you can control the colors correctly?

The green line indicates the direction of the anode and it should be pointed right to the silkscreen mark.

It was my assumption that all 8,000 units with out the speaker holes had been configured incorrectly but it appears that may not be the case. The LED should glow red during the boot screen so if that’s working… you’ve got the correct configuration and a working LED.

Let me know! I’ll PM you also!

Oh you are right! I have fixed the wording in my original post, I had my pics flipped around.

Here is a video showing the fixed and not fixed one I just took.

And here’s a photo of the two led’s I just took as well.

Green line goes toward the polarity mark to be right. The green arduboy is the one I flipped to make right.

Sorry for the confusion, I blame being excited the cause of my mistake.


Would it be possible to add a simplified “LEDon” call to the library, which uses a ‘turns on no matter what’ setup? As a developer, you could restrict your use to this call, knowing that you have given up multi-color, but at least gained the ability to have it work with all kickstarter (and likely future) Arduboys?

I realize one could likely do that right now by using the right color choice in the call, but I would be concerned that might be confusing down the road. It would make code clearer for any looking at it in the future - they can easily tell that the code is intending to be only on/off, not multi-color.

Not possible. The LED is installed backwards, so some of the pins aren’t connected correctly, and being a diode, as noted above, electricity only goes one way. Thus some pins don’t get any electricity, so won’t light up no matter how much you want it to. Flipping the LED is the only way to fix it.