MiniOS : an Arduino Talking to a Minitel
15 April 2010
A DIN plug, a resistor and an Arduino Mega to bring the good old French Minitel back to life
Updates
- [16 April 2010] This project was featured on the Arduino blog : Minitel is not dead!
- [20 December 2013] The photos were featured on TEXT-MODE, a blog about text graphics through the ages (ASCII, PETSCII, Teletext, mosaics…)
The Minitel is the French terminal that brought online services to millions of homes long before the Internet. There are still plenty of them sleeping in attics, and they have a nice feature : a “péri-informatique” DIN socket at the back, which is just a serial port. So I plugged an Arduino into one and wrote MiniOS, a tiny OS for the Minitel.

The wiring
There is not much to it : a male DIN plug wired to the second serial port of an Arduino Mega, and a 4.7 kΩ resistor. The two LEDs are only there to show what is going on.

The Minitel speaks at 1200 bauds, with 7 data bits and an even parity bit. The Arduino serial library could not do that at the time, so I set the UART register directly before starting the port :
UCSR1C = B00100100; // 7 bits + parity bit
Serial1.begin(1200);
Drawing on the screen
Once connected, the Minitel behaves like a simple terminal : you send it text, and control codes to move the cursor, clear the screen or change the font. For example ESC followed by O makes the text double size, ESC H makes it blink and ESC ] inverts the background. The whole OS is just a few functions that print screens and wait for a key :
- a boot screen, with a blinking “Appuyez sur une touche…” (press any key)
- a menu, quite empty I admit
- “Fakebook”, for fun
- the credits


All the code (a single file) is in the forum thread.
What happened next
I posted it on the French Arduino forum and the Arduino blog picked it up the next day. Other people rebuilt it, ported it to the Duemilanove (replace Serial1 with Serial and UCSR1C with UCSR0C), mapped the keys of the keyboard, and even added a speaker to play music. Not bad for a menu with two entries !