Binary Input Terminal Can Enter Any Unicode Character Through Toggle Switches
The Unicode Binary Input Terminal is a Raspberry Pi Pico-controlled device that lets users enter any UTF-8 character by its binary code.
All digital devices and computers on the market today speak binary. Every block of data is a series of ones and zeroes. But with enough binary digits, you can represent almost anything. The words you're reading right now are made up of characters that are each encoded as a series of binary digits. Unicode is the most popular encoding standard for alphanumeric characters and UTF-8 stores its entire catalog in a one to four bytes. You don't normally need to know the binary code for each character. But if you do know them, you'll want to check out the Unicode Binary Input Terminal.
As far as a computer is concerned, the Unicode Binary Input Terminal is just a regular old USB HID keyboard. The device will tell the computer what character to print and the computer will act like the a person typed that character's code on an actual keyboard.
But from the user's perspective, this is nothing like using a keyboard. To enter a character, the user must know its binary code. They can then enter that code by flipping the toggle switches on the device. To enter the capital letter "A" in the Latin character set, for example, the user would need to flip the switches to OFF-ON-OFF-OFF-OFF-OFF-OFF-ON. When they do, the LCD screen on the device will show a preview of the selected character. If that matches the user's expectation, they can then flip up the "SEND" switch to enter the character.
There are only eight bit switches, but users can use the "SHIFT" switch if they need to enter additional bytes. That gives the user access to the full UTF-8 catalog, which includes characters from other writing systems and even color emojis.
A Raspberry Pi Pico development board handles all of this functionality. It uses an LCD screen to show the character previews and behind that screen is a custom SD card adapter PCB. An SD card stores the font files with all the character representations. That storage is necessary because it takes a lot of space to hold all the files necessary for special character, such as emojis. The toggle switches connect to the Pico's I/O pins and all of the components mount onto a simple, but attractive, aluminum face plate.
In order to make the Unicode Binary Input Terminal compatible with both Windows and macOS, the user has to select the desired operating system. That tells the device how to send the special code sequences for each character to the computer.
There is no practical purpose for this device, but it is very cool and illuminates the building blocks we have hidden under many layers of abstractions.