Maker Nino Ivanov has designed a telegraph machine with a difference: it transmits its messages over a serial connection between two Microchip ATtiny85 microcontrollers, encoded in flashing lights as entries from a "3×3×3 Polybius cube" matrix.
"The Communications Hub & Reactive Instrument for Simply Sending Information, a backronym for CHRISSI, is a device based on the [Microchip] ATtiny85 microcontroller (Digistump type board)," Ivanov explains of the device, "featuring a mere five I/O [Input/Output] pins, which allows serial communication (RX, TX and GND at 9600-8-N-1 baud), and display of the 26 letters of the alphabet + one space (27 symbols, all in all, or three times three times three)."
That "three times three times three" is important to how the messages are encoded. Each CHRISSI unit has just two LEDs as a display, both of which light at the same time. Its messages, then, are shown as a sequence of flashing lights — but rather than opt for a tried-and-tested encoding scheme like Morse code, Ivanov opted for a "3×3×3 Polybius cube," named for the Greek historian Polybius and typically found in historical use as a two-dimensional square grid for simple cryptography.
Ivanov's interpretation of the Polybius square is extended into the third dimension, creating a 27-cell matrix in which the 26 letters of the alphabet are positioned — with the 27th cell holding a space character. "Upon receipt [each letter] is expressed through three co-ordinates, X, Y and Z," Ivanov explains, "given as consecutive blinks and expressing the character's position in a 3×3×3 grid."
While decoding a message requires knowledge of the grid and a keen eye for counting the blinks, transmitting is easier thanks to a keyboard which has one switch per letter. There, though, Ivanov encountered a problem: a lack of general-purpose input/output (GPIO) pins on the ATtiny85. The solution: a resistor ladder which varies an analog voltage depending on which key is pressed, allowing all 27 switches to be connected to just two analog inputs on the microcontroller. There's even a hidden bonus feature: messages can be stored in the ATtiny85's EEPROM for automated transmission.
Schematics and source code for the project have been published to GitHub under the reciprocal GNU Affero General Public License 3.