Upcycling a handbag

When I recently saw on Twitter that you could buy a 32x16 LED display for only £10 I was intrigued. The display was actually contained in a £10 handbag from Smiths Toys.

After ordering the toy on the Friday night I was really surprised when it arrived on Sunday afternoon.


IMG_20181202_114542

Tearing down the display was really easy and it seemed to come apart really easily to reveal a 75hub LED panel. There was few more boards and comments to remove (and keep for later projects).


IMG_20181202_122631

IMG_20181202_122637

Wiring the display to the Raspberry PI was very easy and I followed this guide.

hub75

The display runs from a 5V DC supply but can't be powered from the 5V / ground pins on the Raspberry Pi. I used a fairly multi-voltage power supply to for the display.



IMG_20181202_174109

Controlling the display with a Raspberry Pi and Python.

Clone this GitHub repository.

___________________________________________________


Bad interaction with Sound (taken from rpi-rgb-led-matrix)

If sound is enabled on your Pi, this will not work together with the LED matrix, as both need the same internal hardware sub-system (a first test to see if you are affected is to run the progrem with --led-no-hardware-pulse and see if things work fine then).

If you run lsmod and see the snd_bcm2835 module, this could be causing trouble. (The library actually exits if it finds this module to be loaded).

In that case, you should create a kernel module blacklist file like the following on your system and update your initramfs:

cat <blacklist snd_bcm2835
EOF

sudo update-initramfs -u
Reboot and confirm that the module is not loaded.

___________________________________________________

Python

Have a look in rpi-rgb-led-matrix/bindings/python/

You will then need to build for python 2 or 3 (see README.md)

Before running the example python scripts you will need to make the following edit to

line 13 of
rpi-rgb-led-matrix/bindings/python/samples/samplebase.py

self.parser.add_argument("-r", "--led-rows", action="store", help="Display rows. 16 for 16x32, 32 for 32x32. Default: 32", default=32, type=int)


change 32 to 16 for the default size

self.parser.add_argument("-r", "--led-rows", action="store", help="Display rows. 16 for 16x32, 32 for 32x32. Default: 16", default=16, type=int)


blog comments powered by Disqus