“60 Billion Lights”: 2400 RGB LEDs and 120 Stepper Motors hiding behind Canvas Art

It is one thing to create something ‘cool’ or technically interesting. But it is a completely different story to convince your girlfriend, partner, wife, family (or whatever you can name it) to hang something on a wall in our house or office. Then it is not about technology: it is more about design and art. So here is my attempt to solve that challenge:

Displaying current temperature

Displaying temperature with a painted canvas, stepper motors and 2400 RGB LEDs

So what is it? It is a technology hiding behind canvas art :-). Have a look:

I named the project “60 Billion Lights” because the build includes 60 dual shaft stepper motors. Such stepper motors are used in automotive car dashboards, each of them with a resolution of 4350 steps per revolution. Added to each: Forty 24bit RBG LEDs creating more than 60 billion position and light combinations.

If not active, it looks like a ‘normal piece of art’ on the wall:

Not active Canvas

Not active Canvas

Each of the 60 units has embedded acrylic ‘hands’ which can be moved and illuminated:

Illuminated Canvas

Illuminated Canvas

The installation is powered by 5V cable (that’s the connection cable in the lower right corner below). Communication is wired (USB (CDC), RS-485) or wireless (BLE, Wi-Fi).

60 Billion Lights Project

60 Billion Lights Project

The current firmware supports the following features:

  • 2400 individually addressable RGB LEDs (color, brightness, dimming)
  • 120 individually controllable stepper motors (direction, speed, acceleration/de-acceleration, absolute or relative angles), using automotive dashboard dual-shaft motors to build one of the 60 units
  • 15 controller boards with NXP LPC845 running FreeRTOS, connected by RS-485 protocol
  • Different clock hand modes: dual hand and triple hand mode
  • Two different font sizes for numbers and text
  • Displaying time, temperature, humidity and ambient light level
  • Configurable and extendible demos and intermezzos
  • Showing time in different modes: showing seconds, with/without frame, small/large, intermezzos
  • Four different weather display modes: sunny, cloudy, rainy, icy
  • USB CDC, RS-485 and BLE (Adafruit Bluefruit) and Wi-Fi (Espressif) connectivity
  • Exchangeable front and back skins with quick change canvas system
  • Software has for GNU gcc and Eclipse (NXP MCUXpresso IDE and SDK), running FreeRTOS

The front is a painted canvas with a wooden frame. The canvas can be easily changed. Using a canvas is both lightweight and makes it a unique piece of art.

Writing is supported using a 2×3 and a 3×5 ‘Pixel’ font: below an early demo using the 3×5 font using the ‘3 hand’ version:

Beside of showing sensor data (weather conditions, temperature, humidity and ambient light) it uses the RTC (real-time clock) to show the current time in different formats.

sunny

sunny

The 60 units make a perfect match with 60 minutes and 60 seconds.

The firmware has a ‘Pong’ game implemented, certainly more will be implemented:

Each unit uses 40 ‘sideways’ 24bit WS2812B RGB LEDs which illuminate laser-cut acrylic from the side. The acrylic has been laser-engraved on both sides. The canvas is painted with acrylic colors and laser cut.

Laser Cut Acrylic

Laser Cut Acrylic

The LEDs can ‘follow’ the hands or just illuminate the background, creating interesting effects especially at night. The firmware supports different configurations like dual hand or triple hand mode. The triple hand mode and configuration is for forming a ‘T’ in digits and letters:

Writing a 3

Writing a 3

Using a random generator creates unique pictures every time:

Random Colors

Random Colors

RGB light level can be automatically adjusted using the ambient light sensor. This makes it really comfortable to read data at night:

Displaying Humidity at Night

Displaying Humidity at Night

I have integrated a Adafruit BLE SPI Friend (see “How to Add Bluetooth Low Energy (BLE) Connection to ARM Cortex-M“). With this and the Adafruit app on the smart phone I can control and configure the boards, for example picking a color:

color picker

color picker

The ‘control pad’ is used interact with the system (e.g. selecting a scene or to move the hands):

Control Pad

Control Pad

For the engineers of the world: it includes a wireless UART command line interface which is used for configuration and scripting:

Wireless UART

Wireless UART

PCBs have been populated with a OpenPnP (see some of the boards in Retrofitting a Charmhigh CHM-T36VA Machine with OpenPnP).

Pick and Place Machine

Pick and Place Machine

I have to say that capturing the result in images and videos is not easy: Everyone tells me that it looks way cooler in reality :-).

The hardware is running very well after having sorted out a few issues. I’m planning to continue working on the firmware, having some cool ideas in mind. Already thinking about building a second one which I could hang into my office: I probably consider a re-spin of the PCB’s to make assembly easier and to reduce the amount of 3D printed parts.

If you like this project or have any feedback: let me know and post a comment.

Happy Making 🙂

Done

Done 🙂

PS: Another project name considered was “Phoenix”.

14 thoughts on ““60 Billion Lights”: 2400 RGB LEDs and 120 Stepper Motors hiding behind Canvas Art

  1. Erich, you are a genius. Such a beautiful combination of art, science and technology. As a confirmed embedded engineer, of course I am excited by the software. However, I would love to see a video about how you used the acrylic paint to create this canvas. But honestly, I could read blogs and watch videos about any aspect of this project.
    Perhaps you should set up a permanent live stream so that we can watch the artwork running, at any time of day or night?

    Like

    • Mark,
      thank you! Unfortunately I did not record a video doing the painting, but if time permits I plan to follow up with details of the building process. If you need videos about how to create such a canvas: ask Google about ‘youtube acrylic pour’ and you get a massive amount of videos (this is how I learned it). Now I only would need to move this from LPC845 to LPC55S69 🙂

      Like

  2. Hi
    I am playing with the thought of rebuilding this for myself. Then I read your article about copyright. So first: Are you ok with that?
    Also I assume you will not post any futher material (SW or PCB layout or BOM). Right?
    Daniel

    Like

  3. Pingback: McuLog: Logging Framework for small Embedded Microcontroller Systems | MCU on Eclipse

  4. Pingback: 60 Billion Lights: 2400 RGB LEDs + 120 Motors in Canvas Art Display #Art @McuOnEclipse « Adafruit Industries – Makers, hackers, artists, designers and engineers!

  5. Pingback: Behind the Canvas: Making of “60 Billion Lights” | MCU on Eclipse

  6. Pingback: New Version | MCU on Eclipse

  7. Pingback: New MetaClockClock V3 finished with 60 Clocks | MCU on Eclipse

  8. Pingback: MetaClockClock Build Instructions | MCU on Eclipse

What do you think?

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