Introduction: Minitel Real Time Clock
Created in 1978 by France Telecom, Minitel was an information retrieval and texting service. Considered to be the most successful network prior to the world wide web. 30 years on in 2008 the network finally closed. (There is lots of info about this on Wiki.) overnight these terminals became obsolete.
Consisting of a CRT screen keyboard, modem and some shift registers, these "dumb" terminals are not capable of processing data. So what can you do with it ? Turn it into a clock !
Step 1: List of Componants
Atmega 328p microprocessor with Arduino bootloader
16 mhz crystal
22 pf capacitor x 2
10 kOhm resistor
100 uf electrolytic cap
DS3231 RTC module
header pins for easy connection
(10kOhm & 100kOhm resistors : optional)
some wire and solder
Arduino Uno board for uploading sketch
And, of course, a Minitel 1 terminal
Step 2: Schematic
The schematic is very simple. It's your basic Atmega328p setup with the RTC connected to analog pins 4 & 5. Minitel rx and tx connected to digital pins 7 & 8. That's basically it. In one of my examples I have added a couple of resistors to create a voltage divider which is attached to analog pin 3. The minitel can now be a DC voltmeter up to 50 volts. You can also add other peripherals, such as an LDR, thermometer, microphone etc. The schematic that I have drawn does not have the voltage divider resistors shown. You may want to add other things, different values or leave it out altogether.
Step 3: Wiring Up
ATTENTION : Before removing the Minitels casing, make sure you have disconnected it from the mains power supply and allow 5 minutes for the high voltage capacitors to have drained.
There is plenty of room inside the Minitel for your circuit, but make sure it doesn't touch any other parts. I have screwed mine to a removable back panel.
Connect the RX and TX of your circuit to the TX and RX of the Minitel. see photo and schematic. If you connect these the wrong way, it's no biggie, you can simply swap the pin numbers in your code. (more on that later)
Locate the Minitels 7805 voltage regulator and connect your circuit to it. (Make sure you get your polarities correct. Always ! always ! always !! double check before switching it on.)
On the back of the Minitel there is the old France Telecom telephone plug and socket. Disconnect and removed the plug and lead. Next, connect the socket terminals to your circuit. You will be able to modify and upload new sketches to you circuit by simply connecting your Arduino Uno board to the socket without having to open and remove your microcontroller. Also, you can connect your analog pin to one of the terminals to add other peripherals, as mentioned in the previous step.
Step 4: Up and Running
Here are some images.
Step 5: The Code
The code uses three libraries. SoftwareSerial, Minitel and DS3231. All can be downloaded from GitHub. The call function Minitel m(7,8) sets up the Minitels RX & TX on digital pins 7 & 8. (These can be changed to other available pins in you want)
Then there is all the integers and character arrays for the large digits and space invaders. setup() starts the real time clock. (you can set time and date here if you want. but remember to edit or grey out the set time function so the time does not reset every time you turn the Minitel on)
As the Minitel 1 is slow and has very limited graphics capabilities, (40 years old) it's important to keep your functions as short as possible. The main Loop deals with reading the key presses and selecting the mode. In the menu and setting modes, there is no reading of the RTC and refreshing of the graphics so inputs from the keyboard are read quickly. However; in clock mode key pressing can take several attempts to works. Be patient.
This example code is for an alarm clock version and not the volt meter. If you want the code for the volt meter I will send on request.
I'm not going to talk all through the code. You have probably skipped this part already.
My code is very rough and messy. I really need to clean it up. but it works. When I have time I with streamline it and erase unused integers and stuff.
Thank you for looking. I hope your Minitel clock project goes well.
Luke. IG luke1969morgan