Westinghouse H816L5 Clock Spotify Conversion 3D Printer Model

Author: @
License: CC BY-NC
File formats: txt,zip,stl,py
Download type: zip
Size:656.9KB

The file 'Westinghouse H816L5 Clock Spotify Conversion 3D Printer Model' is (txt,zip,stl,py) file type, size is 656.9KB.

Summary

Westinghouse H816L5 Clock Spotify Conversion

Basically, If you own a 1960s Westinghouse H816L5 and want to install a RPI4 in it without chopping it up too much to use Spotify, this is for you. Or if you need to reprint a missing piece, these models might help you out.

If you don't own one already and are a brave person that is great at printing supports, then you can try to print a new one from the replacement mockups I modeled. (I have never tried this, and if you do, please, please, let me know how it goes).

https://github.com/MacGyverr/Westinghouse-Spotify-Clock

Overview

I owned a broken H816L5 and wanted to give it some new life so I replicated the Westinghouse H816L5 clock in TinkerCAD to design parts for mounting a Raspberry Pi and a modern clock, transforming it into a Spotify speaker while keeping the original shell mostly intact.

The project involved some modifications to the original structure, you'll need to grind down the internal lip behind the volume knob. It uses Raspotify and Spotipy, controlled by a Python script. It features three rotary encoders for track control/shuffle, power/play/pause/volume, and playlist navigation.

Hardware Requirements

Software

Installation and Setup

  1. Prepare the Raspberry Pi:

    sudo apt-get -y updatesudo apt-get -y upgradesudo apt-get -y install git pip espeak
  2. Configure Rotary Encoders in config.txt:

    sudo nano /boot/config.txt# Add the following linesdtoverlay=rotary-encoder,pin_a=16,pin_b=12,relative_axis=1dtoverlay=gpio-key,gpio=26,keycode=30,label="A"dtoverlay=rotary-encoder,pin_a=5,pin_b=6,relative_axis=1dtoverlay=gpio-key,gpio=13,keycode=48,label="B"dtoverlay=rotary-encoder,pin_a=22,pin_b=27,relative_axis=1dtoverlay=gpio-key,gpio=17,keycode=46,label="C"

    After editing, reboot and test with evtest. They are added this way for reliability and readability under Python..

  3. Install Audio Hat Drivers for MIC ULTRA+:

    git clone https://github.com/RASPIAUDIO/ultra2cd ultra2sudo ./install.shsudo reboot
  4. Install and Configure Raspotify:

    • Follow the guide at Raspotify
    • Edit /etc/raspotify/conf as per the provided conf file.
    • Restart the service and set volumes using alsamixer.
  5. Install Spotipy and Additional Packages for LEDs and TTS prompts:

    sudo pip install spotipysudo pip install adafruit-circuitpython-neopixelsudo pip3 install pyttsx3
  6. Setup the primary Python Script for Control:

    mkdir westinghousecd westinghouse/nano monitor_input.py# Paste in the contents of the "monitor_input.py" filechmod +x monitor_input.py
  7. Configure Spotify API Credentials:

    export SPOTIPY_CLIENT_ID='xxxxxxxxxxxxxxxxxxxxxxxx'export SPOTIPY_CLIENT_SECRET='xxxxxxxxxxxxxxxxxxxx'export SPOTIPY_REDIRECT_URI='http://localhost:8080/callback'
  8. Setup Python Script as a Service:

    sudo nano /etc/systemd/system/monitor_input.py.service# Paste in the contents of the "monitor_input.py.service" filesudo systemctl enable monitor_input.pysudo systemctl daemon-reloadsudo systemctl start monitor_input.pysystemctl | grep running
  9. Automatic Reboot Setup:
    sudo crontab -e# Add this line for nightly reboot0 2 * * * /sbin/shutdown -r now

Additional Notes

  • Wiring diagram will be added soon.
  • Even though it wasn't meant to create a new clock from scratch the TinkerCAD files allow for printing the complete clock and even creating molds for a new lens. (untested)
  • The system is set to read only "Overlay" mode and reboots nightly for stability.
  • It can be controlled by any computer or phone remotely via the normal Spotify App, it is using the Spotify API, there just is a custom program asking Spotify to make changes via the rotary knobs.
  • I'm not a programmer, so after much trial and error the program works for what I needed it to do but not very well. If you can improve it or have an alternative I'd love to give it a try, feel free to fork my Github.

Video of it in action

https://www.youtube.com/watch?v=2hyoNcoZj8I

bom.txt 425.0B
config-examples.zip 3.6KB
cord-plug.stl 46.0KB
diffusor.stl 87.4KB
instructions.txt 4.1KB
monitor_input.py 9.2KB
mounting-plate-support.stl 26.5KB
mounting-plate.stl 158.5KB
playlist-extension-rod.stl 15.6KB
replacement-back.stl 47.4KB
replacement-clock-face-lens.stl 37.7KB
replacement-clock-face-mould-mould.stl 296.9KB
replacement-clock-face-mould.stl 151.0KB
replacement-face.stl 227.9KB
replacement-preset-knob.stl 21.1KB
replacement-selection-knob.stl 59.7KB
replacement-volume-knob.stl 46.7KB
replacement-Westinghouse_H816L5.stl 682.8KB
spacer-multiple.stl 98.7KB
speaker-adapter.stl 73.5KB