Before I explain why the schematics got their current form let’s just have a short look at them:
Please notice that the choice of the resistors is not arbitrary. The values meet some design criteria.
- The per LEDs must be limited as to not overdrive the LEDs.
- The current to the LEDs must be limited as to not overload the Arduino.
- The current to the LEDs shall be as high as possible in order to get good brightness.
- The load on the serial pins must not interfere with serial communication in order to avoid interference with the boot loader.
My experiments indicated that 1k resistors fit these requirements at least for the 4 Arduino boards I have around. For the unlikely case that some Arduinos will have issues with this setup I added a jumper in order to disconnect the LEDs from ground. You may notice that this jumper also allows some rather unusual setup. It allows to connect the common cathode to +5V. There are two reasons for this. If you look at the board layout you will see that this layout allows to either place SMD leds or LED stripes. So if I wanted to place some LED stripe with a common anode then I would need this setup. The other reason is a surprise that I will not yet give away. I will reveal it in the Blinkenlight experiments. For the time being it is only important to notice that by default the common cathode should be connected to the ground pin.