Epaper Music Device plant

In this project, I built an e-paper music device powered by an ESP32 to show new music releases passively on your desk. The devices (built one for my brother too) receive data to write either via mDNS (for home wifi connections) or firebase (as a cloud middleman) for when the device is off the home network. WiFi networks can be setup from a config page, where the ESP32 becomes WAP. These WiFi credentials are stored securely in flash memory, which is also used to cache old screen writes to there's always content to show I also wrote a flask web app that lets you search for aritsts and select them. Both the flask server and python script that sends data to the ESP32s run on a raspberry pi zero 2w that acts as a central server to service both devices. While firebase is optionally used for communication, the central server uses a sqlite database to store the selected artists and other metadata.

I designed the device with power optimisation in mind, so it is in deep sleep for most of the day with set GPIO pin wake up triggers and mDNS/firebase awake windows. This is so the device can last for long periods on a lithium ion battery. This project uses the spotify API to gather find new releases and find artists for the flask server.

testing compressor Image 2

User Features:

Technical Features:

Setting Up WiFi

The following video shows the device entering config mode.

testing compressor Image 2

Selecting Artists

The following video shows the device entering config mode.

assembler Image 1
assembler Image 2

Case CAD Model

I also designed a case to house the device and a battery which I plan to 3D print in future.

assembler Image 1
assembler Image 2