In 2017, I completed a project that I dubbed “Termi.” This was a TI Silent 700 electric typewriter/terminal paired with a Raspberry Pi Zero W that would answer questions, like Siri and Alexa do. Hackster’s Jeremy Cook wrote an article about the project, which put me on the Hackster radar and led them to offering me work as a contributor here. Whenever someone asks me to tell them about my favorite project, I always pick Termi — but it did have some flaws. To address those, I completely revamped the project to create Termi2.
Termi2 is much like the original Termi; it is still built around the same vintage TI Silent 700 (Model 745) and it still answers questions using Wolfram Alpha’s API. The TI Silent 700 looks and acts like an electric typewriter. When a user types on the keyboard, it prints each character onto a roll of thermal paper using a heated print head. In the case of both Termi and Termi2, it will also automatically type out responses to questions. The user can, for instance, ask Termi2 to name the current president of The United States and it will print out “Joe Biden” on the paper roll.
The difference between Termi and Termi2 is in the implementation. The original Termi utilized a Raspberry Pi Zero W single-board computer (SBC) with special scripts accessible through the Linux terminal to send queries to the Wolfram Alpha API. An additional Arduino development board was present to invert the logic between the Raspberry Pi and TI Silent 700 (necessary for the latter’s unusual serial protocol). But that setup, while functional, was sloppy for a few reasons.
The big problem with the original Termi setup was that Linux expects a mix of lowercase and uppercase characters in terminal commands, but the TI Silent 700 Model 745 can only output uppercase. That forced me to create uppercase command aliases for the functions I needed, which limited what it could do. The Raspberry Pi also took a while to boot up, required a username and password to login every time, and changing WiFi credentials was an involved process. Termi2 solves all of these problems and more.
Termi2 now uses an ESP32 development board instead of a Raspberry Pi. The MicroPython code automatically connects to WiFi using credentials stored in a simple text file in flash memory. It boots up, connects to WiFi, and lets a user ask a question within just a few seconds. The issues with case are no longer relevant, since Wolfram Alpha’s API doesn’t care if queries are all uppercase. The ESP32 is also capable of inverting serial logic itself, which eliminated the need for the Arduino. Both the user experience and the hardware are much simpler.
In addition to the ESP32 development board, Termi2’s 3D-printed enclosure contains an SN74LVC245A level shifter IC to bring 5V-8V logic down to 3.3V for the ESP32, a lithium-ion battery and charger module to eliminate the additional power supply, a power switch, and the DA-15 connector to fit the TI Silent 700’s serial port.
To use Termi2, a user only needs to power on the TI Silent 700, plug the Termi2 device into the serial port, and then turn on the Termi2 device. In a few seconds, the TI Silent 700 will automatically print “ASK TERMI2:” and wait for input. The user can type in their question and a few seconds later a short answer from Wolfram Alpha will print out. Termi2 will then prompt the user to ask another question.