Hi, I wanted to create my own Arduboy so I started off by making the schematic and now, before laying out the pcb, I would like to make sure that I’ve wired everything correctly and that it is going to work.
Here’s the schematic:
That’s not how a LED works. They are current driven devices, not voltage driven. A LED will drop a specific voltage across it no matter how much current you feed it (voltage will rise only very slightly with increased current).
The 3.2V typ to 3.6V max is the range of what the specific value for any particular LED, from a number of parts, will be, not the safe voltage range that you can apply to it. That is to say, if you grab a LED from a batch of 100 of the same part number, it would likely have a specific voltage drop somewhere close to the typical 3.2V but could be as high as 3.6V
If the one you grab ends up with a drop of 3.2V (or even lower, since that’s only typical), and you try to force it to 3.3V, it will draw heavy current and possibly burn out. And likewise, if it happens to end up having a 3.6V drop and you feed it 3.3V, it may not even turn on.
Note that, contrary to the above tutorial, for your application you probably don’t want to use the current value specified in the datasheet. The LED will likely end up being too bright. Even calculating for only 2mA will probably make the LED bright enough for your needs.
It’s a good idea to experiment with the dropping resistor value for each of the three RGB LEDs, so you get the desired brightness from each. A green LED may not appear to be the same brightness as a blue or red LED with both running at the same current. It has to do with the eyes perception of brightness for different colours and the efficiency of the LED for each colour. The Arduboy’s use of the same resistor value for all three LEDs is not ideal.
Looking at the forward current vs. forward voltage graphs in the datasheet, I would calculate for voltage drops of 1.65V red, 2.5V blue, 2.5V green, as a start. 2mA for current is a good starting point but even that may be too bright.
I’ve chosen a new rgb led(datasheet) that has a maximum Vf of 3.1v for blue and green instead of the old one whose Vf was 3.6v, so there shouldn’t be any low-voltage problem. Looking at the new led’s datasheet, I was thinking of calculating the resistor value for a voltage drop of 2.1v for red and 2.9 for blue and green, at a current of 10mA. Looking at the Relative Luminous lntensity vs.Forward Current graph they should be at 1/3 of they full brightness, right? I’ve never look at this stuff so I could be completely wrong though
Are you aware that they are different physical sizes? The original is 3mm x 2.5mm. The new one is smaller at 1.6mm x 1.6mm. (The new one is the size that the Arduboy uses.)
Your comparison is not valid. For your original LED the forward voltage (VF) is specified at a current of 20mA. For the new LED the VF is specified at only 5mA. If you go by the Forward Current vs. Forward Voltage graphs, your original LED actually has lower VF at the currents you will be using.
From the graphs, I get:
I think you’ll find them to be too bright at 10mA (unless you really want “flashlight” mode to be a good flashlight/torch). With the Arduboy, with the battery at 3.8V, the red runs at about 7.5mA. The green and blue run at about 3.5mA. Many people have complained that the RGB LED on the Arduboy is too bright.
You’ll also likely find that the blue LED will need more current than the red and green to appear to be the same brightness. The green may need a lower current than blue and red because it has a much higher luminous intensity at a given current than the others.
That would be up to you. It’s not used much but when it is used, you wouldn’t want it to blind you or distract you from viewing the OLED display. On the other hand, you wouldn’t want them so dim that they can’t be seen under brighter ambient lighting conditions.
Anyway, as long as you have dropping resistors for all the LEDs, the values specified on the schematic aren’t too important. You can always switch to different values as desired.
Ok, I checked a green led on my arduino pro micro and it should be running at 2mA, and its brightness looks ok to me. On the rgb led datasheet the Forward Current vs.Forward Voltage graph only starts at 5mA, how do I find the Vf at 2mA? Does that mean that the led only work with a If of >5mA?
I don’t know what OUT_B+ is on pins 2 and 3 of the power switch. I think it should be VBAT_CHARGE/B+/P+
Pin 1 on the power switch should go directly to regulator U1 VIN pin 3, not UVCC.
I would use a 6 pin ICSP PROGRAMMER_HEADER instead of a 10 pin, to save space, unless your programmer has a 10 pin header and you don’t want to rewire it or use a converter. If you stay with the 10 pin, your pinout doesn’t match the standard (You have it rotated 180 degrees).