News    The Project    Technology    RoboSpatium    Contribute    Subject index    Download    Responses    Games    Gadgets    Contact   

<<< Machine control via webserver         SCT version 2 >>>

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:
  • Do little when it comes to software, but do it well!
  • Use low-performance hardware, because it will relentlessly reveal if you violate point 1.
  • The hardware components should be exchangeable, GPIOs are the only interfaces - internal or to the world outside.
  • Programmable using freely open source software.
In addition to the communication terminals, I will also show how to set up an infrastructure for exchanging information using conventional PCs with a setup based on html and free, open source software.

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 list

The 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:

Part Online Shops Remark
Raspberry Pico Raspberry Pico on

Raspberry Pico on eBay UK

Raspberry Pico on Amazon
Powerfil microcontroller Board.
3x4 Keypad Key pad 3x4 on

Key pad 3x4 on eBay UK

Keypad 3x4 on Amazon
Input device
Display ILI9341 Display ILI9341 on

Display ILI9341 on eBay UK

Display ILI9341 on Amazon
2.4 Inch, 320x240 Pixel, also available with touch support, the one I have is without
TSOP32536 TSOP 4838 IR Sensor on

TSOP32536 IR Sensor on eBay UK

TSOP 4838 on Amazon
Infrared sensor (Receiver)
Infrared LED IR Diode 940nm on

IR Diode 940nm on eBay UK

IR LED on Amazon
Resistors Resistors on

Resistors on

Resistors on Amazon com

Resistors on Amazon uk
5% Carbon film resistors are inexpensive and good enough for experimenting with LEDs.


Text terminals based on Arduino UNO and Raspberry Pico
Abbildung 1:
Text terminals based on an ATmega328 (Arduino UNO) and a Raspberry Pico.
Wiring of the Raspberry Pico terminal
Abbildung 2:
Wiring of the Raspberry Pico terminal.


The 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.

<<< Machine control via webserver         SCT version 2 >>>

News    The Project    Technology    RoboSpatium    Contribute    Subject index    Archives    Download    Responses    Games    Links    Gadgets    Contact    Imprint   

Twitter YouTube Hackaday Patreon TPO