8 RGB LEDs (4 per side in each corner of the board)
a coin cell holder for a CR2032 on the opposite side of the ATMEGA328
A single momentary pushbutton
exposed pinout to be able to change the onboard sketch of the 328.
The premise is to have a circuit that lights with the longpush (2000ms) of the button and change all 8 LEDs to different colors with a shortpress.
Here's the trickier part of the sketch: I want to try and Charlieplex or multiplex the RGB LEDs so that programmers can light fewer LEDs, or combine colors, or create blink patterns, etc. I want the hardware to be set so that there is the most flexibility available for software.
Please have a PCB printer in mind and an easy to collect parts list for an assembler.
I hope I explained this well. Please reply with any questions and any offers for the job.
Also, I'm flexible on the design. If Charlieplexing isn't the right way to go, fine! Just as long as your design meets my requirements, me=happy.
Thanks, everyone!
I believe that minus resistors and the coin cell, the attached schematic is correct for Charlieplexing...
How abou the 328P and 9 WS2812B RGB LEDs, 8 bit PWM built into the RGB controller, no resistors needed, no messing with charlieplexing, just send out 27 bytes of data when you want a color change.
CrossRoads:
How abou the 328P and 9 WS2812B RGB LEDs, 8 bit PWM built into the RGB controller, no resistors needed, no messing with charlieplexing, just send out 27 bytes of data when you want a color change.
That looks really good! So if I wanted to go 4 on each side, and a 1632 battery on the other side, I could change each LED individually, or all at once, etc, You could find room for a single button, and I can upload code straight from the Arduino IDE?
What are my options if that is the case? I need to probably use the CR1632 as people can find them to replace when they run out, they are a good size, but 3.3v...
Could squeeze in a small ICSP header somewhere, or maybe a small FTDI header, connect to one or the other with an adapter cable to mate to standard equipment. Install bootloader with a programming adapter:
Need a small button too. Side press mounted on the back?
How big of a battery are we talking about? How long would a charge last? My budget is probably about $500. Space is the main concern with durability being 2nd.
0.19mA is a long way from 3mA which is the minimum to light one LED. Plus, that LED will be VERY dim.
Specs from the WS2812B datasheet:
Red - 20mA - 1.8-2.2V
Grn - 20mA - 3.0-3.2V
Blue - 20mA - 3.2-3.4V
Anyway you design it, I don't think a coin cell battery is going to work with this many LEDs (even if they're not WS2812). There are tiny LiPos out there and think it would be better if we put a LiPo charge circuit on the other side instead of a coin cell. With searching, pretty sure we can find 150mA LiPos in bulk cheaper. How many are you planning on producing?
sydcomebak:
Here's the trickier part of the sketch: I want to try and Charlieplex or multiplex the RGB LEDs so that programmers can light fewer LEDs, or combine colors, or create blink patterns, etc. I want the hardware to be set so that there is the most flexibility available for software.
Grab some Adafruit Neopixels. These are LEDs with an on-board controller. They come in a variety of form-factors, including really tiny, and use one signal wire to control any number of 'em. There's a library for arduinos, it works great.