DEV Community

Play Button Pause Button
Subbu Lakshmanan
Subbu Lakshmanan

Posted on

Show Love Through Tech

When you are a nerd, What do you do to show your love?

As I was cleaning up my storage space in my apartment, I found my old cache of IoT related materials. Breadboards, Resistors, Capacitors, LEDs, Different types of sensors, Raspberry PIs & Arduino, and of course, lots of jump-wires. I used to play around with sensors, making a lot of fun with my roommates at college. Seeing that I had a few hours available over the weekend, I thought of setting up at least one sensor and test it out.

I typically use Raspbian for the ease of installation & familiar Debian environment. I downloaded the image, flashed to SDCard. I had no extra monitor at home, so I planned to login via SSH to my Raspberry Pi. I came to It's been a while since I used Raspbian, I didn't realize Raspbian has updated their security & blocked ssh on boot. I found out the correct way to enable SSH on boot & logged in.

I had a bunch of motion sensors, and I was quickly able to put it together and test it out with one of my old programs for motion testing. I showed it to my wife; Having a Bachelor of Engineering in an Electronics, the demo didn't impress her a lot. In any case, I was happy that I didn't lose touch.

I wanted to do something a bit more fun, and I found an LED matrix in the cache, which I didn't remove from the package. (Guess, I planned to do something with it but closed the shop even before trying it out).

I typically prefer node.js for working on IoT projects. Looking for an npm package to work with LED matrix, I found several, but none seem promising (Most of them weren't up to date & I lost patience before getting them work). Then I came across the Python library luma-led-matrix, which was pretty quick to set up & had a bunch of examples that work.

Details of implementation

Hardware Required

  • Raspberry PI 2/3/4
  • MAX7219 8*8 LED matrix
  • Jumper wires

Software Required

  • Raspbian OS
  • Luma LED Matrix library

GPIO pin-outs

Board Pin Name Remarks Rpi pin Rpi function
1 VCC +5V Power 2 5V0
2 GND Ground 6 GND
3 DIN Data In 19 GPIO 10 (MOSI)
4 CS Chip Select 24 GPIO 8 (SPI CE0)
5 CLK Clock 23 GPIO 11 (SPI CLK)

For more details:
luma-led-matrix documentation

I had to enable SPI, and there are enough tutorials on how to do it. Here's the one I followed: Sparkfun Tutorial on Enabling SPI on RaspberryPI

I showed my wife the demo of one of the examples, and she was a bit impressed.

The following day was 'her' day (meaning she can sleep as much as she wants and get up when she wants). So before I get to work, I changed the program to print, "I love you Mahi" & put it in a loop and left.

I received a text from her around lunchtime that she loved it. Finally Yeah!!

I'm sure that I'm not the only nerd who wanted to show off to loved ones. What's your experience in doing so?

Top comments (0)