A Phone dial is used to put text into a MariaDB database. This device forms a super slow way to type into a „guestbook“ kind of website, which can be accessed here.
The beginning
I got a phone dial for 1€ and was wondering what to do with it now. The first idea was to use it to control macros on my computer. But actually I don’t even use my computer like that. The second idea was already to make some kind of input device, which I then refined into making some sort of messenger, which is supposed to be extra annoying to use, by being very slow. Additionally giving the device a very limited set of functions wouldn’t hurt as well.
Design
The dial is supposed to be used like the old T9 mode on phones with keys. The dialed message should appear on a little screen before it can be send into the ether.
Being scientifically trained, I performed a little experiment, to see how long it takes to dial 1 – 3 repetitions of each digit. I then placed the most commonly used letters of the English language on the longest to dial places. Research data can be downloaded with together with the whole project at the end of this article.
Pulses to characters (Slowtypes brain)
Slowtype is run on on a Pico Pi 2 W and is programmed in MicroPython. Basically I use a state machine to check if the user is dialing a number or not, after dialing the pulses are translated intro letters, using a 2d array as translation table and then assembled to a message string. When dialing the digit 1 a single time, the message is send away. WiFi access data and an identifier token is stored on a configuration file on the device and has to be update, when it is moved to a new location.
After building the BrotBot (German language), a Telegram Chat bot that tells you about the current state of German bread culture, I thought about making a Telegram bot again, that spreads the messages you type on the dial in a public group. After fighting with some problems, I experimented with making the Pico Pi a web server which will broadcast the slowtyped messages on a website in the provided WiFi.
This proved to be way too slow though, so I switched to a web hosted way of showing the messages, making Slowtype even more publicly available.
Hardware
I transplanted the micro controller from a breadboard to a prototyping board and added some LEDs which will indicate Slowtypes status. after measuring everything, I assembled both components (the dial and the „brain“) on a piece of wood and made some 3d printed adapters from PLA. The device is now assembled and can be hung from a wall or placed on a table
IMAGE DEVICE
The face of Slowtype
the server side of Slowtype is formed by a few PHP scripts and a MariaDB database.
Messages get send to a specific URL where the first script formats the message and checks for a valid token, sent by the Slowtype device. If everything is in order, the message is being pushed into the database.
The second script lists all the messages on the Slowtype homepage. All the scripts and the database are built in a way, that allows it to add more Slowtype devices (I already have an idea for a second version), and show their messages in a different color. The Token stored on the device(s) should stop people from just using the server side PHP script to spam the database with messages.
With this all the components of Slowtype are assembled. Project files like MicroPython code, PHP scripts, HTML and CSS files, stls for the case and research data can be downloaded here.