Morse Thing

Let’s start with a disclaimer: This is a one afternoon project, without a lot of planning, made only from home-available supplies.

As I wrote in the previous article, I organized a night game for K-SCUK 2016 few weeks ago. The message of the game was clear — nothing complicated, just “wow”. To accomplish this task, I wanted a stage with technical gadget. The idea of the Morse Thing was born.

The Morse Thing
The Morse Thing

Meet the Morse Thing

Morse Thing is a device, which allows a user to input a text in form of the Morse code, edit it and when a certain text is entered, respond with text and sound output. For example — the users were instructed, that it is polite to greet. When they input a greeting like “Hello” using a single button and a Morse code, the box responded with text “Hello, please listen and answer”. Then the thing started to beeping out message in the Morse code: “What do you see in front of you?”. The users should now respond with a name of a nuclear power plant they could see in front of them. After few similar questions, the box gave out instruction for the next stage.


The idea of the box is simple. To realize it, Chinese Arduino Micro clone was used (a version without Serial to USB converter) together with three tactile switches, a single 16×2 LCD display with an I2C interface and a piezo buzzer. Three buttons were used to simplify the input. As Morse code can be tricky for many users and errors are quite common, the user inputs a single character at the time. Also the user can see dots and dashes he or she already entered. When an error is made, it is possible to delete last character, dot or dash. This is why tree buttons are needed (to input dot/dash, to delete last character and to enter a letter, as the Morse letter can share common prefix). When a known word is entered, the thing automatically triggers response.

The wiring and firmware are trivial and do not worth mentioning. The whole source code can be found in the project repository. What is more interesting in my opinion is the boxing.

To make the Morse Thing look fancy, I decided to make an enclosure from a single piece of wooden slab — the one which is used for outdoor benches and tables. The enclosure is supposed to be mounted on a railing, so I milled pockets for the display, Arduino and a Xiaomi power bank, which powers the whole device. The pockets are left open, because they are covered by the railing on which the thing is mounter.

Insides of the Morse Thing
Insides of the Morse Thing

After milling, I was looking for a quick way to make a nice labeling. As I was manufacturing boards for the Navigation Thing using a toner transfer, I tried to transfer toner on wood. I was surprised with the results! Labels using this method look nice and sharp. Few friends even thought, the labels was laser engraved. To make the labeling more durable, I painted the whole enclosure with a transparent acrylate paint.

Toner transfered labeling
Toner transfered labeling

After finishing the enclosure, I mounted display, buttons and the piezo. There was only one pending issue — the whole device consumes about 20 mA, which is way below the limit of the power bank and the power bank stops providing power after few seconds (this a power saving feature, as the voltage regulators in the power bank consume a little bit of current even if no power is drawn). I was planning to open the power bank, reverse-engendered it and try to disable auto power-off feature. However there was no time for that — instead, I used a quick dirty hack — I simply added a resistor to burn the current and increase power consumption to 100 mA, which is enough to keep the power bank running. The battery life time was no big issue, as I calculated it could last for roughly 4 days of continuous operation even with the power burning resistor.


I think the Morse Thing served its purpose quite well. I am proud of the overall user look and I think I use toner transfered labels in the future, as it is cheap, quick and nice looking way of making labels. If you are interested in the source code, look at the project repository

Back To Top