Secure Communication Terminal (SCT)
The video demonstrating first "prototypes"
Simple is simply more tamper-proof!In the last decades of the development of digital data processing, the path towards the "Swiss army knife" has been taken. One device and an operating system should be configurable for everything. With each generation, more and more and more different functions have been packed onto the hardware architecture. At the same time, more and more and more lines of code were written in order to be able to address the additional hardware features and to implement further configuration options on the software side. As a result, we carry computers in our pockets that would have beaten a supercomputer at the beginning of development. At the same time, the advertising industry has managed to firmly anchor the message "More is better" in the brains of simple minds.
When looking at this development, a story from the newer past comes to my mind: On a festival, a buddy told me "Look!" while holding the latest product from Cupertino in front of my nose. On my remark "So what?" came the answer "this is the fastest smartphone you can get!". Me: "I bet that you can't send an email twice as fast as I can with my 4-year-old cucumber, which has less than half the computing power?". Despite the alcohol both of us had consumed during the festival, he did not take the bet, obbiously he had realized that he would be losing out. Meanwhile this buddy has again left the "Walled Garden".
The anecdote shows quite well that the basic needs of communication have remained almost unchanged in the last, let's say 20 years, the gained computing power has somehow "fizzled out". Where? Well, in closed source operating systems this can only be said by those who have insight into the source code and even those people are not able to understand the whole logic behind the mess of codelines that has grown over the years. Open source operating systems provide insight into the source code, but here too the jungle continues to grow wildy with each new distribution. A plus in security is given here insofar as intentional, malicious implementations of spying algorithms are usually discovered quickly. In closed source ecosystems you have to rely on the promises of the manufacturers and recent history has shown that those companies are anything else but honest. In addition to the hidden but intentional manipulation of end users by code in the software jungle, there are also bugs that give talented hackers outside of the manufacturer clique unlimited access to your computing devices. Even so this is illegal, "bad" hackers exist for good reasons. The Brecht quote immediately comes to mind: "Bank robbery: an initiative by amateurs. True professionals set up a bank."
Get out of the dictatorships, let's do our own thing!This "own thing" should not become a finished product (according to current planning)! Instead, I would like to show in various chapters how to create your own communication terminals and how to get them connected. If you know the basics, you can add a keyboard, display or a microcontroller that meets your needs. The democrats of the world should get a better understanding of the processes behind digital communication.
My guiding principles for secure communication terminals are:
First "prototypes"The two terminals shown in the video for this chapter are neither particularly secure nor comfortable to use in the current version, but they are suitable for first experiments with hard and software. The advantages are that the needed hardware is cheap to buy and the software is quite compact.
Parts listThe hardware of the terminal based on the Arduino UNO s described in the chapter on how an LED matrix works. The board with the larger LEDs using the ATmega328P is also described there. The only additional hardware is a pushbutton used as a Morse code key. Therefore, I only give a description of the Raspberry Pico terminal in this chapter:
Text terminals based on an ATmega328 (Arduino UNO) and a Raspberry Pico.
Wiring of the Raspberry Pico terminal.
Software/DownloadThe software for the two terminals is running, but was written quick and dirty. The Arduino UNO Terminal is programmed in C with the help of the Arduino IDE, the Raspberry Pico Terminal uses code in Micropython, written with Thonny. The source code of both terminals is part of the download package (1.1MB).
I leave the code largely uncommented for now. In future chapters I will show how the individual components (keyboard, display, communication interface) can be addressed by software.
The source code of the Arduino comes without included libraries, which means that the entire source code running on the ATmega 328P (with the exception of the bootloader) is listed in a single file. The code of the Raspberry Terminal seems to be shorter, but this is only due to the fact that code from external Python scripts (=libraries) has to be included in the main script.