Go to file
2025-10-14 15:55:48 -06:00
2025-10-14 15:37:41 -06:00
2025-10-14 22:14:48 +01:00
2025-10-14 22:15:13 +01:00
2025-10-14 22:15:13 +01:00
2025-10-14 15:55:48 -06:00

Protoflap

Controls the welcome room Vestaboard directly, bypassing their cloud.

a split flap display with the words "PROTOFLAP BY PROTOSPACE"

Theory

Polls URL (https://api.my.protospace.ca/stats/) continuously and looks for changes to the vestaboard key. When updated, it replaces any special characters and then displays the message on the sign via serial.

If you want to use this, just call send_sign(text) in protoflap.py directly.

The split flap controller is connected to serial at /dev/ttyAMA0, 38400 baud.

See Also

@Benno1308's reverse engineering:

https://github.com/EngineOwningSoftware/Vestaboard-Reverse-Engineering

https://www.reddit.com/r/Vestaboard/comments/tjm93n/local_device_api/

Setup

Download the Vestaboard root private key. It should be the same for all Vestaboards:

$ curl https://files.catbox.moe/kvibj6 > ~/.ssh/vestaboard
$ chmod 600 ~/.ssh/vestaboard

SSH into the Vestaboard using the root key, ie:

$ ssh -i ~/.ssh/vestaboard root@10.139.85.133

Script

Clone the script:

# git clone https://github.com/Protospace/protoflap.git

Test it:

# cd protoflap/
# python protoflap.py

Supervisor

To run the script automatically, install supervisor:

# apt install supervisor
# touch /etc/supervisor/conf.d/protoflap.conf
# vim /etc/supervisor/conf.d/protoflap.conf

Set config to:

[program:protoflap]
user=root
directory=/root/protoflap
command=/usr/bin/python /root/protoflap/protoflap.py
stopsignal=INT
stopasgroup=true
killasgroup=true
autostart=true
autorestart=true
stderr_logfile=/var/log/protoflap.log
stderr_logfile_maxbytes=10MB
stdout_logfile=/var/log/protoflap.log
stdout_logfile_maxbytes=10MB

Load changes:

# supervisorctl reread; supervisorctl update
# supervisorctl status
Description
No description provided
Readme 142 KiB
Languages
Python 100%