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:
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:
Each of the 60 units has embedded acrylic ‘hands’ which can be moved and illuminated:
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).
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.
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.
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:
Using a random generator creates unique pictures every time:
RGB light level can be automatically adjusted using the ambient light sensor. This makes it really comfortable to read data 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:
The ‘control pad’ is used interact with the system (e.g. selecting a scene or to move the hands):
For the engineers of the world: it includes a wireless UART command line interface which is used for configuration and scripting:
PCBs have been populated with a OpenPnP (see some of the boards in Retrofitting a Charmhigh CHM-T36VA Machine with OpenPnP).
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 🙂
PS: Another project name considered was “Phoenix”.
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?
LikeLike
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 🙂
LikeLike
Very nice Erich! How did you connect to the (movable) LEDs on the moving arms?
LikeLike
The LEDs itself don’t move, they are arranged on a ring outside the moving arms.
LikeLike
Sorry, I don’t understand. Maybe a picture showing LEDs?
LikeLike
Have a look at https://www.youtube.com/watch?v=IOT5NabG7Mk which has some close-ups and shows the canvas removed.
LikeLike
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
LikeLike
Hi Daniel,
thanks for asking :-). You are free to re-build one for yourself too.
And all the material is based on https://mcuoneclipse.com/2019/11/24/world-stepper-clock-with-nxp-lpc845/.
LikeLike
Pingback: McuLog: Logging Framework for small Embedded Microcontroller Systems | MCU on Eclipse
Pingback: 60 Billion Lights: 2400 RGB LEDs + 120 Motors in Canvas Art Display #Art @McuOnEclipse « Adafruit Industries – Makers, hackers, artists, designers and engineers!
Pingback: Behind the Canvas: Making of “60 Billion Lights” | MCU on Eclipse
Pingback: New Version | MCU on Eclipse
Pingback: New MetaClockClock V3 finished with 60 Clocks | MCU on Eclipse
Pingback: MetaClockClock Build Instructions | MCU on Eclipse