A Tiny Board For Driving LEDs In…Whatever

Whether you’re into chiptune or just playing Tetris on original hardware, you might like rocking a heavily-customized Game Boy. Lovely flashing LEDs can only improve the aesthetic, so if that’s what you’re after, you might consider the ARCCore board from [NatalieTheNerd].

The board is a compact and easy way to drive some addressable LEDs, with a form factor designed to take up a small amount of space when stuffed into a Game Boy or other game console. It rocks an RP2040 microcontroller set up to drive a strip of WS2812B LEDs. Three buttons are used to configure the color and brightness settings. The board is designed to run on 3.3 to 5 V, thanks to an onboard buck converter. It’s capable of delivering enough juice to run up to 10 RGB LEDs, though you could potentially use more if you ran them from external power.

You can use just about any microcontroller on the market today to run addressable LEDs if you so desire. If you want a compact drop-in solution that takes up less space, though, you might find the ARCCore useful. If you’ve got your own nifty kit for running addressable LEDs, don’t hesitate to share it with the broader hacker massive — hit the tipsline!

19 thoughts on “A Tiny Board For Driving LEDs In…Whatever

  1. > It rocks an RP2040 microcontroller

    that seems wrong to me. Can ‘we’ establish a new word for RP2040’s and the ESPs and so on?
    Like maybe “megacontroller”? Or at least “macrocontroller”?

    ATtiny’s, PIC’s and so on are(?) microcontrollers. But a two core beast that can run doom?

    What about a whole new range of labels: pico-, nano-, micro-, mili-(?), macro-, mega-, maxi-controller?
    Sorted in those categories by (flops)x(ROM)x(RAM)?

    ;-)

    1. SoC (System-on-Chip, not State of Charge) seems to be the commonly accepted term. But it’s still a very broad term, a multi-core multi-GHz tablet chip is a SoC, and so is a tiny 8051 with a radio attached (like nrf24le1)

      1. WS2812Bs are addressable RGB LEDs with a tiny controller inside every “pixel”. The controller doesn’t really do much, only decoding the address and three 8-bit values to drive the respective PWM channels. However, driving it with a 555 would be very tricky and would require more external components than such small PCB can accommodate.

        I agree that Dual ARM Cortex-M0+ @ 133MHz is an overkill for just flashing some LEDs, but using a 555 instead is also a stretch, just in the opposite direction. If the chip is small, cheap, easy to use and program, then it’s a good fit for purpose. Hacking isn’t always about “spartan lifestyle”, sometimes it’s just about doing something impressive with the available tools.

        1. There is no address decoding in WS2812Bs. The whole logic is just an NZR decoder connected to a shift register with three digital-to-analog converters hardwired to specific pins. Bits pushed out of the shift register are fed into a NZR encoder and daisy-chained to the next chip in the line. I wouldn’t call that a “controller”.

        2. “…use a 555!” is a joke, son.

          I get why though, it’s “time vs money”.

          I once saw a someone make a LED light, dimmed via a pot, using an Arduino. Now that’s excessive as well, the cheapest micro with an ADC could do that (can skip ADC as you could use a 555 – see Apple II joysticks). To learn to code that micro etc with no prior experience is going to take quite a while, while the Arduino version is up & running in under an hour.

          It’s $20 + 1 hour vs $1 + months.

          The RP2040 is even easier to use than the Arduino, no special program need, just drag & drop the code. And at $5, the “more expensive” argument is weak as well.

          1. I once knew someone at work who used an Arduino to read a button input and then turn on an LED. I asked them when they needed the Arduino, and they said “How else would I control the LED?”. I just walked away slowly. Then I wrote my own code to randomly flash the LED for a random amount of time to make it look like a bad connection or messed up code. I swapped out the DIP when they were on vacation hoping for a good prank. Unfortunately, this was in the spring of 2020 and we were told to work from home before they got back from vacation. Never got to see the prank in action ☹

    2. Definitions change with time. ATtinys and PICs are microcontrollers but so are ESP32s and rp2040s. Computing power gets ever more powerful. Comparing an rp2040 to SBCs it definitely is a microcontroller. Modern SBCs are more powerful than old PCs, but they are still SBCs and not normal PCs, modern laptops and PCs are again much more powerful than SBCs.

      Things change, things get more powerful but the hierarchy stays the same. As for a new range of labels, that is not a good idea in any way, there is nothing wrong with the current naming we have and adding in tons of labels will just add confusion and complexity for no reason. It is much better to think of the ATtiny and PIC as old microcontrollers and the ESP32 and rp2040 as new, more powerful microcontrollers, in the same way as you would for SBCs and PCs.

      1. I would categorize it into power, capability classes, complexity classes, not old and new, especially since popular “old” systems keep being updated and made with new process technologies.

        1. My main point was that the definitions and boundaries change as computing power increases, so whilst an rp2040 or ESP32 is much more powerful than a microcontroller or even computer decades ago, they are still microcontrollers. You need to compare them to what is available when they come out, comparing a modern microcontroller to a decades old one and saying the modern one isn’t a microcontroller because it is too powerful doesn’t make much sense, they need compared with what else is available at the time, comparing microcontrollers to SBCs, laptops or PCs they definitely are still microcontrollers.

          1. But where do microcontrollers end and SBCs start? There are esp32 models available that are even capable of running Linux. (https://youtu.be/pj0a91vlcGo?si=i2vHmCOO2hQQE_St if you want more information about this)

            I have the feeling those boundaries will wash out and there will be some category in between. Controllers that can be programmed directly and efficiently but also support a full(?) OS, allowing to realise some functionality a lot easier. We surely live in interesting times.

    3. It’s the same as microprocessor (which are very powerful). Micro refers to its size compared to original computers, which filled entire rooms. Macro would definitely be inappropriate, since that would refer to a mechanical type of controller, i.e., typical larger human size/covering a sizeable portion of a desk at least.

      Micro and macro refer to the microscopy kind of scale.

      It’s not about capability, but size.

      1. It is definitely not just about size, capability is more important than size, however less capability generally means less size when compared against chips of similar construction.

  2. To be clear, you can (and I do) run way more than 10 ws2812 LEDs with a microcontroller and no external power.

    I’m using just the output from a teeny tiny Seeeduino XIAO SAMD-21 on my own little PCB to run all my LED projects. The trick is to experiment with brightness levels lower than 100% and/or colors less bright than full white 0xFFFFFF.

    Examples:

    Conway’s Game of Life (see https://www.etsy.com/listing/1558847055/the-game-of-life-computer-science-toy) is using a panel with 256 LEDs and no external power supply. It doesn’t light up all 256 LEDs at once but it does run over 100 at the same time.

    LunaKron 2 (https://www.etsy.com/listing/1558819215/lunakron-2-shows-the-current-phase-of) lights up a room with over 100 LEDs when the moon is full.

    1. Just because something is possible and can work does not mean it should be done. If you push components to or past their limit then things will eventually go wrong or you will shorten their life.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.