Package & Size
The form of the cartridge comes naturally as it is the same as a DIN socket. It is cylindrical with same diameter as the wrapper of the connector so that it replaces it, and the length is as small as possible.
DIN connector includes both serial interface with open drain NPN topology and power source. No USB interface is implemented to minimize BOM and size. The cartridge will be program using ISP port which is exposed with pads (no connector).
Since there are lot of projects and ressources using Arduino UNO, the same microcontroller is used, namely the Atmega328p. Reciprocally, the games developped within this project will be usable with an Arduino UNO !
For the rest, the idea is to minimize the BOM giving the favour to low cost and small size but keeping stability regarding regulator, convertor and clock. No extra functionalities. For the regulation, prototype demonstrates that a linear regulator with 5v output is suitable. The current consumption is quite low so heat is not a problem.
I don't give detailed on the loops but the final results consist in the following schematics and PCB layout.
It is time to order pcbs, components and casings to a manufacturer and make the assembly of the cartridge.
Here is a picture after SMD assembly. What a pleasure to switch from 3d view to reality !
If you wonder how the assembly process was done, here is a video of it.
Using the Atmega328p makes Arduino IDE or PlateformIO first choice IDEs. There are open source and well documented. Behind them is the excellent avrdude program which is also super convenient for production.
The 1st Game : 2048
The cartridge is intended for small video games. The idea is to develop several games and to change the color of the cartridge for each game.
It was possible to make some animations on the videotex screen and add sound effect using the minitel buzzer. But this make the game slower and the sound can be awfull depending on the minitel model you use. So user can disable them in option menu.
We also take advantage of the atmega328p's emulated EEPROM to save games and scores which is really important to give some lifetime to the game.
The code of this game and the next ones are opensource and published in my Minitel-Play repository.
Of course the colour of the 2048 cartridge will be similar to the icon you may had on your smartphone back in 2014 !
Back to the Future
The first samples made will be available on Tindie and I will use the waitlist as an indicator for the volume of production.
In parallel, a "How To" play this games using an Arduino UNO will be published soon. So that people could also makes their own games and why not pick a color for a dedicated cartridge ?
Depending on the enthousiasm, I plan to make a Pong game with 1 and 2 players modes plus some game variations. And also a Sokoban-like game with the possibility to add your own puzzles. And ... well I have a lot of idea but let's stick with that for the moment !
Everyone's ideas are welcome down in comment. But please keep in mind the minitel is slow and has a very small 80x72 resolution.