Toilet Roll Light Wall

LED Screen Made of Empty Toilet Rolls

Why?

The initial idea was to find a creative way to reuse empty toilet rolls while having some fun with Arduino and LEDs. I started by gluing together the first block, consisting of 4x3 LEDs connected to an Arduino Nano. As the project progressed, I thought it would be interesting to control the LED screen directly from an Android device. To make this possible, I added a Bluetooth adapter and developed a  Android app.

As time passed and more empty toilet rolls became available, I continued building one block after another. Eventually, I set a goal to create a 4x4 grid of blocks, totaling 192 LEDs. As I expanded the physical screen, I also enhanced the functionality of the Android app, adding new features to control the growing display.

first 6 blocks


What Can It Do?

Since the video below demonstrates it clearly, I'll just briefly list the features of the Android app:

  • Draw (real-time): Allows real-time drawing on the LED screen.
  • Toggle Random LED (Screen Saver): Randomly toggles LEDs, creating a screen saver effect.
  • Animation: Includes an editor for creating key-frame animations.
  • Font Loop: Displays scrolling text or messages using custom fonts.
  • Incoming Sound: Responds to sound inputs, visualizing audio on the LED screen.
  • Simple Game Using Accelerometer: A basic game controlled by the device's accelerometer.
front view 


Was There Something Interesting?

Beyond the gluing, soldering, and programming, I encountered a few interesting challenges:

  • Custom Protocol: To achieve real-time light display, I had to develop a custom protocol. Each block uses 2 bytes—12 bits are dedicated to the light data, and the remaining 4 bits serve as an identifier within the grid.
  • Multiple Bluetooth Devices: I had never worked with multiple Bluetooth devices simultaneously before. Due to insufficient power resources, I had to split the screen and use multiple Bluetooth adapters to manage the setup effectively.
view from the back


Result

In the end, I created a fairly large screen (76x60cm) with a very low resolution (16x12px) that can only be controlled via Bluetooth using a custom protocol. While the resolution is limited, the screen could serve as a unique piece for an art exhibition or as an unconventional, creative screen saver at home.


You can find the source code here: https://github.com/mbodis/toilet-wall-android



Comments

Popular posts from this blog

Skate Tricks Recognition Using Gyroscope

Play table

Counting dice and train wagons using computer vision