En septembre 2026, la huitième édition de la Nokia 3310 Game Jam s’est achevée par le sacre du jeu de flipper physique Trick Shot II parmi 51 projets en lice. Alors que la majorité des participants soumettaient leurs créations pour des émulateurs web, le développeur Hoani Bryson a pris le parti du matériel physique. Dénichant un Nokia 3310 original du tournant du millénaire, il en a extrait les entrailles électroniques pour loger dans sa coque d’époque un circuit imprimé sur mesure animé par un Raspberry Pi Pico.
Une véritable greffe à cœur ouvert pour le châssis de ce téléphone culte. Écrivant un moteur multiplateforme en Go, l’auteur a piloté directement en bare metal l’écran LCD à matrice de points d’origine et le vibreur piézoélectrique. Le boîtier emblématique s’est illuminé à nouveau d’un vert rétro familier, ses boutons mécaniques claquant d’un clic franc. Grâce aux chaînes d’outils open source et à la puissance des microcontrôleurs modernes, le projet fait revivre la texture tactile des interactions historiques tout en réinventant de fond en comble l’électronique interne.
Une règle en plastique de 20 centimètres pour concevoir une carte mère sur mesure
Ouvrir un Nokia 3310 dévoile un agencement de puces hautement propriétaires. La carte d’origine regroupe processeur de bande de base et gestion d’alimentation, pour lesquels les manuels techniques publics sont quasi inexistants. Face au manque criant de documentation sur les interfaces natives, Hoani a renoncé à rétro-concevoir le microprocesseur d’usine. Il a préféré vider l’appareil de ses composants pour fabriquer une carte de remplacement dédiée, épousant parfaitement le boîtier d’origine.
Déterminer le gabarit physique et l’emplacement exact des découpes représentait un défi critique. Ne disposant ni de machine de mesure tridimensionnelle ni de pied à coulisse de précision, le créateur a saisi une simple règle d’écolier en plastique de 20 centimètres pour tracer le contour du PCB à l’œil nu, repère millimétrique par repère millimétrique. Les pastilles du clavier, les fenêtres de rétroéclairage et les encoches du boîtier ont toutes été extrapolées à la main. Reçus trois jours à peine avant la clôture de la compétition, les circuits d’essai assemblés au fer à souder ont aussitôt révélé des tolérances mécaniques impitoyables.
Le design industriel ne pardonne pas un demi-millimètre d’écart. La carte mère d’origine du Nokia 3310 mesure rigoureusement 1,0 millimètre d’épaisseur, or l’auteur avait commandé par réflexe le standard industriel de 1,6 millimètre. Ces 0,6 millimètre de trop bloquaient les ergots du boîtier, maintenant les parois entrouvertes et empêchant toute fermeture.
Les ergots de calage en bordure de carte heurtaient également les renforts en plastique du châssis en raison de légères dérives de mesure. Lunettes de protection sur les yeux, Hoani a dû limer les arêtes gênantes à la meuleuse miniature pour réussir à assembler son premier prototype. Les révisions suivantes sont revenues à l’épaisseur standard de 1,0 millimètre, permettant enfin au boîtier de s’emboîter sans jeu ni contrainte.
La connectique interne repose intégralement sur des contacts par pression élastique, tout comme l’original. Les plots de la batterie, le connecteur de l’écran LCD, le buzzer et le moteur de vibration s’appuient tous sur les pistes en cuivre de la carte sous la seule pression du boîtier fermé. Par conséquent, la face avant du circuit imprimé devait rester parfaitement plane, proscrivant le moindre composant en saillie.
Pour rétroéclairer le pavé numérique, les diodes LED ont été soudées à l’envers sur la face inférieure de la carte. La lumière traverse des perçages de 2 millimètres ménagés dans le circuit pour éclairer la face avant. L’épaisseur des composants a été bridée à 2 millimètres sur l’ensemble de la carte, seule la cavité supérieure de l’antenne offrant une marge un peu plus généreuse.
Figure : Comparaison entre la carte verte d’origine du Nokia 3310 et la carte de remplacement soudée à la main accueillant le Raspberry Pi Pico. Source : Hoani.net (blog de Hoani Bryson).
Des pixels non carrés qui imposent de repenser le moteur physique
L’écran LCD monochrome PCD8544 du Nokia 3310 constitue un morceau d’anthologie du design industriel. Sa définition ne dépasse pas 84x48 pixels, pour une surface d’affichage d’environ 30,5 millimètres de large sur 21,5 millimètres de haut. Chaque pixel physique mesure 0,363 millimètre sur 0,448 millimètre, soit un ratio d’aspect proche de 4 pour 5. Cette non-orthogonalité des pixels s’est muée en casse-tête pour la simulation physique en deux dimensions.
En calculant le rendu sur une grille carrée conventionnelle, une bille circulaire s’étirait à l’écran pour former une ellipse allongée. Pour que la sphère conserve une rondeur visuelle parfaite, le développeur a dû refondre le repère interne du moteur physique. Le système sous-jacent fait correspondre 5 pixels horizontaux et 4 pixels verticaux à une même unité de distance dans le monde réel. En découplant le calcul physique de la matrice de pixels, les rebonds et les trajectoires ont recouvré toute leur cohérence sur l’écran matriciel authentique.
À cela s’ajoute la lenteur optique des dalles à cristaux liquides d’époque. Si le panneau PCD8544 monte jusqu’à un rafraîchissement de 67 Hz, les molécules de cristaux liquides souffrent d’une rémanence prononcée. Un pixel met environ 50 millisecondes pour passer du blanc au noir, et jusqu’à 125 millisecondes pour s’effacer totalement.
Une bille lancée à pleine vitesse laissait derrière elle de longues traînées fantômes. L’auteur a d’abord songé à exploiter cette rémanence en faisant clignoter les pixels d’une trame à l’autre pour simuler des niveaux de gris. Mais à l’essai sur machine réelle, l’écran s’est couvert de déchirures et de zébrures horizontales parasites. L’inertie physique de la dalle condamnait le tramage temporel à haute fréquence.
Les algorithmes logiciels ont pallié les limites de la physique optique. Délaissant le scintillement dans le temps, l’auteur s’est tourné vers le tramage spatial ordonné (ordered dithering). Grâce à une matrice de seuils de Bayer 8x8, le moteur traduit 64 nuances de luminosité en densités de points noirs et blancs. L’écran de titre et la trajectoire de la bille ont ainsi gagné un ombrage progressif et lisible, sans saccade visuelle.
Figure : Pistes de cuivre planes du clavier et orifices traversants de rétroéclairage sur la face avant du PCB personnalisé. Source : Hoani.net (guide de démontage matériel).
Une architecture à double cible pour faire tourner Go sur microcontrôleur
Côté logiciel, le nœud de l’ingénierie consistait à concevoir un moteur universel opérationnel à la fois sur émulateur de bureau et sur machine embarquée réelle. Hoani a mis au point un framework dédié baptisé 3310_engine, s’appuyant sur la compilation conditionnelle de Go (build tags) pour séparer les cibles. Un code métier unique se compile ainsi sans heurt en deux binaires radicalement différents.
La cible embarquée s’appuie sur le compilateur TinyGo. Sur la puce bicoeur RP2040 du Raspberry Pi Pico, le programme tourne comme un microprogramme bare-metal épuré. Débarrassée des temps d’ordonnancement d’un système d’exploitation, la boucle principale tourne à une cadence d’images parfaitement fixe. À chaque trame se succèdent le balayage de la matrice des touches, la mise à jour des états physiques, la génération audio et l’envoi du tampon graphique vers l’écran, les transitions sur les 16 boutons mécaniques étant captées à la microseconde près.
La mémoire embarquée du microcontrôleur imposait une rigueur spartiate. Le RP2040 ne disposant que de 264 Ko de mémoire SRAM, décoder des images compressées ordinaires aurait rapidement saturé la pile. L’auteur a banni les décodeurs d’images pour lire directement les données depuis la mémoire flash. Les éléments graphiques ont été convertis à la compilation en images matricielles PBM non compressées et figées dans la mémoire morte, permettant de les pousser vers la mémoire d’affichage sans aucune décompression à l’exécution.
Le vibreur piézoélectrique monophonique a dicté ses propres compromis audio. Dépourvu de haut-parleur polyphonique, le Nokia 3310 ne possède qu’un transducteur piézoélectrique élémentaire. L’auteur a modulé le signal en ondes carrées MLI (PWM), avec un rapport cyclique variant de 0 à 50 %. Comme les fréquences inférieures au Do 3 perdaient toute résonance pour ne produire qu’un faible grésillement, le moteur audio a intégré un convertisseur de transposition adaptant automatiquement les mélodies aux fréquences résonnantes de l’appareil.
La renaissance matérielle ravive le débat sur la puissance de calcul rétro
Le RP2040 du Raspberry Pi Pico possède deux cœurs cadencés à 133 MHz et 2 Mo de mémoire flash externe. Le processeur original du Nokia 3310 ne tournait qu’à une dizaine de mégahertz, avec une mémoire se comptant en kilo-octets. L’écart de puissance brute se mesure en ordres de grandeur. Cette disproportion a suscité un débat passionné au sein de la communauté des moddeurs.
Les puristes estiment que retirer la carte d’origine altère la vérité historique du matériel rétro. Remplacer les circuits d’époque par une puce ARM moderne relève à leurs yeux du simple modding de boîtier plutôt que de la conservation informatique. Les faiblesses, le manque de précision de l’horloge et les lenteurs d’un processeur ancien faisaient partie intégrante de la personnalité des objets des années 2000. Utiliser un microcontrôleur moderne reviendrait à parasiter une coque vide.
À l’inverse, les partisans de la reconstruction matérielle mettent en avant le pragmatisme. La documentation des puces d’époque a disparu et leurs outils de développement sont perdus depuis longtemps ; s’obstiner dans une rétro-ingénierie native condamne souvent ces machines à croupir au fond d’un tiroir comme des déchets électroniques. Une carte de remplacement open source redonne vie à des coques historiques tout en offrant des interfaces de programmation modernes. N’importe qui peut désormais fabriquer ces circuits d’après des plans ouverts et relier des reliques du passé aux réseaux de créateurs actuels.
Ce dilemme met en lumière l’évolution profonde de la culture rétro. La nostalgie ne consiste plus seulement à sanctuariser des machines immobiles sous une cloche de verre. Lorsque le design industriel d’anthologie rencontre les écosystèmes open source contemporains, le rétro devient un matériau d’expérimentation inédit.
Figure : Le Nokia 3310 modifié exécutant Trick Shot II sur machine réelle. Source : Hackaday (article de Jenny List).
Le clic mécanique des touches préserve l’âme interactive du millénaire
Entre un émulateur dans un navigateur et un vieux téléphone au creux de la main, la frontière décisive tient à la certitude tactile. Tapoter sur un écran tactile moderne ne met les doigts en contact qu’avec du verre lisse. Sans course mécanique ni retour de touche, l’action perd toute mémoire musculaire.
Le pavé en silicone et les dômes métalliques du Nokia 3310 procurent une confirmation d’appui sans équivoque. La fermeté sous le pouce et l’équilibre physique de l’appareil offrent une immersion qu’aucune dalle tactile ne saurait reproduire. Ce retour physique ancré dans la matière échappe à tout ce que l’émulation logicielle tente d’imiter.
L’essor des cartes libres et des microcontrôleurs accessibles a démocratisé la modification de matériel. Nul besoin de matériel de rétro-ingénierie industriel pour concevoir un circuit et programmer ses pilotes sur son temps libre. En infusant une puissance moderne au cœur de formes emblématiques, les hackers de matériel sauvent de l’oubli la chaleur tactile que le design historique avait laissée au bout des doigts.
Liens de référence :
- Article Hackaday : Taking A Nokia 3310 Game Jam To The N’th Degree
- Blog d’ingénierie de Hoani : Multiplatform Engine for Nokia Jam 3310
- Guide de démontage de Hoani : Nokia 3310 Hardware Teardown