1963 Tele-LED Comfort Break Reminder

by MisterM in Circuits > Raspberry Pi

3698 Views, 25 Favorites, 0 Comments

1963 Tele-LED Comfort Break Reminder

20200514_164040.jpg
20200425_164024.jpg
20200426_131309.jpg
20200426_122707.jpg
Tele LED Break Timer

This old and unusual dial-less telephone now helps well-being and productivity to co-exist in the home office! Beneath its vintage grille a neopixel ring lights up its 24 LEDs in sequence for an hour, switching to an eye-catching rainbow display when it's time to take a break. Ignore the rainbow and the LED ring starts flashing red, accompanied by a subtle but un-ignorable beep from the phone's original buzzer unit.

To cancel the beeping or reset the timer at any time I just need to either press the button on the phone or momentarily lift the handset - both of which force me to get up and walk across the room, then seeing as I'm up anyway I may as well stretch my legs, grab a coffee....you see how it works.

The whole thing is powered by a nice old Raspberry Pi 2, using the phone's original switches and buzzer alongside the neopixel ring.

It's powered from a USB hub on my work laptop, and boots up automatically when I start up in the morning, so there's nothing to do but reset the timer when I take a break.

In case you can't see the embedded YouTube video it's at https://youtu.be/tvHFPuEaWAI

Supplies

Raspberry Pi 2

NeoPixel Ring (24 LED in this case)

1x White LED for the lamp holder

Jumper Cables

Vintage Telephone

Inspiration

20200411_175754.jpg
20180508_170813.jpg
20200413_110237.jpg

After staring at this strange old phone in the corner of my office for a month I thought it was about time it actually did something. I didn't want to spend too much time or money on it, so decided to only use parts I had in the workshop, as kind of a challenge.

I picked the phone up at a street antiques fair almost two years ago, and never could figure out its purpose, it has a grille instead of a dial, but no speaker inside - it was supposedly from a local air force base, so could have been an intercom or extension of some kind.

I decided to pair it with a Kitronik Zip Halo LED ring - this was just the right size and had also been haunting the workshop for over a year, unused. It was unused because technically it's for the bbc micro:bit, but having finally found a purpose for it I realised it's just a dressed-up neopixel ring , and can be controlled like any other strip of WS2812B RGB LEDs.

Push to Break

20200422_205644(0).jpg
20200423_154230.jpg
20200414_202636.jpg
20200423_150259.jpg

After a quick dismantle and scrub-up, the telephone parts were much more approachable, and I set to getting them connected up with the Raspberry Pi.

The original button was the easiest, this turned out to be an early micro-switch, with screw terminals, so it was easily connected up to some female jumper cables. The small red lamp was a little trickier, but just needed to have its bulb replaced with a white LED, otherwise the holder was all left intact, again wired up to jumper cables.

Next I wanted to be able to lift the phone's handset to reset the break timer, so with a multi-meter set to "resistance" I began testing different combinations of the original screw connections on the phone, eventually stumbling over a pair of terminals that would connect directly to the receiver switch.

I was a bit unsure of the buzzer, as it was marked "12v" - I considered using a small relay board and a 9v battery, but then after testing I realised it would beep quite nicely at 3v, so wired it directly to jumper cables.

Wiring and Pi Setup

20200424_201059.jpg
20200424_200549.jpg
20200424_201110.jpg

I'd used quite long jumper cables on all the switches, so assembly wasn't too difficult. First I secured the Raspberry Pi board in place with some sticky-bolts (3m cable tie holders with small bolts drilled through) and then wired up the pieces to the GPIO one by one.

Apart from the NeoPixel ring, which was wired up to 5v, GND and GPIO18, the components were set up as follows:

GPIO12 (Input) - Original Button
GPIO16 (Input) - Handset Receiver Switch
GPIO14 (Output) - Original Phone Buzzer
GPIO26 (Output) - LED for lamp

To get the Pi to work with the NeoPixel ring I first installed some software for a board based on the same kind of LEDs (The Unicorn HAT):

curl -sS https://get.pimoroni.com/unicornhat | bash

This setup script did most of the hard work, and I recommend giving it a go if you need to control WS2812B LEDs, it comes with some great examples. Depending on the number of LEDs in your strip/ring you may need to edit...

sudo nano /usr/local/lib/python3.7/dist-packages/unicornhat.py

... as this controls (I'm pretty sure) the number of LEDs the software is expecting to find.

After getting the basics working I pulled together a Python script that would control the LEDs and buzzer, integrated with the two switches. This took some trial and error but the script I used is available on GitHub - it could easily be adapted to use different inputs & outputs. It works but it's not perfect!

The last part of the setup was getting the script to run at startup, so I edited...

sudo nano /etc/xdg/lxsession/LXDE-pi/autostart

...adding the line...

sudo python3 /home/pi/timer.py &

..to the end of the file, saving and rebooting.

The final part of the assembly was just putting the two halves of the phone case together - conveniently held in place by the original bolts.

Take a Break

20200425_153911.jpg
20200426_160824.jpg
20200425_164105.jpg

I really like this phone now, it sits quietly in the corner of the office, looks nice, has one job (forcing me to move occasionally) and does it well. It was fun and quick to build, but very hard to photograph - the LEDs are much brighter and more vivid than in the pictures!

I've always worked from home a few days a week, and in normal times it was an opportunity to work longer hours at a stretch and get more work done, without distractions.

That's not a sustainable way of working when you're WFH every day though, in a long-haul situation like this it's so important to take those small comfort breaks, for the sake of (in my case especially) your lower back and mental health.

Thanks for reading, stay safe and take those breaks home-workers!

My other Old Tech, New Spec projects are all on Instructables at https://www.instructables.com/member/MisterM/instructables/

More details are on the website at http://bit.ly/OldTechNewSpec. and I'm on Twitter @OldTechNewSpec.