Vue lecture

AIDGE - Du deep learning sur vos microcontrôleurs

L'IA embarquée, c'est pas juste un buzzword de salon type CES. C'est vraiment ce qui fait que votre voiture freine toute seule, que votre drone évite les arbres et que votre prothèse auditive filtre le bruit en temps réel. Sauf que pour déployer un réseau de neurones sur un microcontrôleur de 256 Ko de RAM... bah on dépend quasi exclusivement de frameworks américains ou chinois.

Un peu gênant, non ?

Du coup, le CEA (oui, le Commissariat à l'énergie atomique, celui de Palaiseau) a décidé de s'y coller avec AIDGE , un framework open source dédié à l'IA embarquée qui est hébergé par la fondation Eclipse. En gros, vous prenez votre modèle de deep learning entraîné sous PyTorch ou importé en ONNX, et AIDGE se charge de l'optimiser puis de générer du code C/C++ standalone prêt à tourner sur votre cible matérielle. Pas du pseudo-code donc mais du vrai C++ compilable.

Et quand je vous dis "cible matérielle", y'a bien sûr pour les GPU et les CPU mais également pour des microcontrôleurs, des DSP, des FPGA (ces puces reprogrammables), des NPU (processeurs spécialisés IA) et même d'ASIC custom. Le framework du CEA supporte les architectures CNN, RNN, GAN et Transformers, avec tout l'arsenal d'optimisation qui va bien tels que quantification post-entraînement, pruning, compression, et même du Quantization Aware Training basé sur les méthodes SAT et LSQ. Bon ok, ça fait beaucoup d'acronymes, on ne comprend pas tout ^^, mais en résumé c'est ce qui permet de réduire la taille d'un modèle de plusieurs gigas à quelques centaines de Mo sans trop perdre en précision.

en fait, au lieu de réécrire tout pour chaque puce, AIDGE utilise un système de graphes pour manipuler et transformer vos modèles indépendamment du hardware cible. Comme ça si vous changez de puce, vous regénérez le code, et c'est reparti. Pas besoin de réécrire votre pipeline de déploiement à chaque fois (et ça, si vous avez déjà bossé dans l'embarqué, vous savez que c'est pas rien). Bon par contre, faut pas s'attendre à un pip install aidge qui marchera du premier coup... ce serait trop simple ;-). Faudra quand même compiler quelques dépendances C++ avant d'en profiter.

AIDGE est porté par deux gros programmes : DeepGreen côté français avec 18 partenaires (Airbus, Thales, Dassault Aviation, EDF, MBDA, Inria dans la boucle) et Neurokit2E financé par Horizon Europe qui réunit 25 partenaires dans 5 pays (STMicroelectronics, Infineon, Fraunhofer entre autres). Et le projet embarque même un design de chip dédié qui s'appelle NeuroCorgi (oui, comme le chien de la reine d'Angleterre ^^).

D'ailleurs, les cas d'usage vont du classique à des choses plus inattendues : détection d'objets pour l'ADAS automobile (genre, freiner avant le piéton), maintenance prédictive en usine, ou encore amélioration audio temps réel pour les prothèses auditives. Le tout sous licence Eclipse Public License 2.0, donc libre et gratuit.

Bon après, la doc a encore du mal à suivre (comme souvent avec les projets de recherche) et j'aurais aimé des benchmarks comparatifs clairs face à TensorFlow Lite ou ONNX Runtime, histoire de voir concrètement combien de millisecondes on gagne sur un STM32 par rapport aux alternatives. Mais le fait d'avoir une chaîne complète design-optimisation-déploiement qui soit européenne, open source et hardware-agnostique... ça mérite quand même qu'on s'y intéresse. Surtout quand on voit la dépendance actuelle à PyTorch qui est, faut bien le dire, piloté par Meta.

Bref, si vous bossez dans l'embarqué ou que vous kiffez bidouiller du deep learning sur des petites puces, allez jeter un oeil .

Merci à Fabrice pour le lien !

  •  

Dualite onde-particule : un YouTuber la teste avec un detecteur de fumee et un capteur a 350 euros

Un vidéaste scientifique vient de reproduire des expériences de physique quantique depuis chez lui, avec un simple détecteur gamma portable et une capsule radioactive récupérée dans un vieux détecteur de fumée. Et les résultats sont plutôt convaincants.

De la physique quantique dans un garage

Huygens Optics, une chaîne YouTube spécialisée dans l'optique et la physique, s'est attaqué à une question qui occupe les physiciens depuis plus d'un siècle : la lumière est-elle une onde ou une particule ? Pour tenter d'y répondre, pas besoin d'un accélérateur de particules ou d'un labo à plusieurs millions d'euros.

Le vidéaste a utilisé un Radiacode 110, un petit détecteur de rayons gamma qui tient dans la main (67 grammes, connecté en Bluetooth à un smartphone), une capsule d'américium-241 extraite d'un détecteur de fumée hors service, un boîtier en plomb coulé maison et un Arduino pour mesurer les impulsions. Le tout pour quelques centaines d'euros.

Trois experiences, zero accelerateur

Première expérience : vérifier que les rayons gamma obéissent bien à la loi de l'inverse du carré. En mesurant le rayonnement à différentes distances de la source, c'est confirmé. Rien de surprenant, mais ça valide le protocole.

Deuxième test, plus costaud : analyser la corrélation temporelle entre deux détecteurs Radiacode placés côté à côté. Résultat, aucune corrélation dans les émissions de l'américium. Par contre, surprise, les deux capteurs ont détecté des corrélations dans le rayonnement cosmique de fond, ces gerbes de particules venues de l'espace qui traversent l'atmosphère en permanence. Un bonus inattendu.

La troisième expérience est la plus parlante. En envoyant des rayons gamma sur un bloc de graphite et en mesurant l'énergie du rayonnement diffusé à différents angles, Huygens Optics a reproduit l'effet Compton. Plus l'angle augmente, plus l'énergie du rayon diminue, exactement comme la théorie le prédit quand un photon percute un électron et lui cède une partie de son énergie.

Ce décalage en énergie est une preuve forte que la quantification n'est pas juste un artefact de la mesure : elle est bien intrinsèque au champ électromagnétique. La lumière se comporte comme des particules, même quand on la teste avec du matériel de bureau.

La science portable

Le Radiacode 110 n'est pas un jouet. Avec son cristal à scintillation de 14 mm de côté, il mesure l'énergie de chaque rayon gamma qui le traverse et peut construire un spectre énergétique en temps réel, le tout affiché sur une application smartphone via Bluetooth. Il coûte autour de 350 euros. C'est le genre d'outil qui, il y a vingt ans, aurait occupé une armoire entière dans un labo universitaire.

On est quand même face à un truc assez dingue : un type, chez lui, avec du matériel grand public, arrive à mettre en évidence un phénomène qui a valu un prix Nobel à Arthur Compton en 1927.

Bon, on ne va pas comparer ça à une publication dans Nature, les conditions restent artisanales et les marges d'erreur ne sont pas discutées en détail. Mais le fait qu'un détecteur portable à 350 euros permette de toucher du doigt la physique fondamentale, ça dit quelque chose sur la démocratisation des instruments scientifiques. 

Source : Hackaday

  •  

Cette horloge numérique est entièrement fabriquée à la main, avec du fil de laiton

Un maker connu sous le pseudo ALTco a construit une horloge numérique sans le moindre circuit imprimé. Six mètres de fil de laiton, des puces logiques des années 70 et des afficheurs sept segments : le résultat est une sculpture électronique franchement canon.

Six mètres de laiton et zéro circuit imprimé

Le projet est aussi simple à décrire que fou à réaliser. ALTco avait sous la main un kit d'horloge numérique avec ses circuits imprimés fournis, mais il a décidé de tout jeter pour reconstruire le circuit en freeform, c'est-à-dire en suspendant chaque composant dans les airs, reliés entre eux par du fil de laiton.

Six mètres de fil au total, pliés, soudés, entrelacés pièce par pièce. La structure tient grâce à des barres de bus qui servent de support aux sockets des afficheurs sept segments et de leurs modules. Le tout sans plan préétabli, en improvisant au fur et à mesure.

Des puces logiques comme en 1975

Alors que la plupart des horloges numériques actuelles tournent avec un simple microcontrôleur, ALTco a fait le choix d'utiliser une architecture des années 70.

On retrouve un oscillateur à quartz qui alimente une chaîne de diviseurs, et des compteurs qui pilotent les afficheurs. Quelques astuces de conception permettent de réduire le nombre de puces, des techniques que les ingénieurs de l'époque connaissaient bien. Il a aussi ajouté un encodeur rotatif pour régler l'heure, ce qui rajoute de la circuiterie mais rend l'objet utilisable au quotidien.

L'art du circuit sans filet

Ce type de création porte un nom : la sculpture de circuit. Le principe est de construire un appareil électronique fonctionnel où les composants et les fils deviennent eux-mêmes l'esthétique de l'objet.

Pas de boîtier, pas de carte, tout est visible. Mohit Bhoite, designer chez Particle, est l'un des noms les plus connus dans ce domaine, avec ses créations en fil de laiton qui vont de l'horloge de chevet au jeu Snake portable.

Difficile de ne pas être impressionné. On parle d'un objet entièrement fonctionnel, construit fil après fil sans schéma, avec une électronique qui date d'avant le premier Star Wars.

Le rendu est magnifique, et on imagine bien les heures de soudure et de patience que ça représente. Bon par contre, on ne va pas se mentir, c'est clairement un projet pour les fondus d'électronique.

Mais c'est aussi ce qui en fait tout le charme : à une époque où tout le monde colle un ESP32 sur un breadboard et appelle ça du bricolage, voir quelqu'un repartir de zéro avec du laiton et un fer à souder, ça fait du bien.

Source : Hackaday

  •  

Sortie VGA sur un PIC18 : quand l'optimisation hardware devient un art

Générer un signal VGA avec un microcontrôleur 8 bits PIC18 est un défi technique de taille. Ce projet Hackaday montre comment détourner les ressources limitées d'un processeur rudimentaire pour produire une image stable. Une petite plongée dans le bit-banging pur et dur.

Le défi du timing analogique

Le standard VGA impose une rigueur chronométrique absolue à celui qui s'y frotte. Pour obtenir une image stable, typiquement en 640x480 à 60 Hz, le contrôleur doit générer des signaux de synchronisation horizontale (H-sync) et verticale (V-sync) avec une précision de l'ordre de la microseconde. Sur une architecture PIC18 cadencée à quelques dizaines de mégahertz, chaque cycle d'instruction est précieux. L'astuce réside ici dans l'utilisation intelligente des timers internes et des interruptions prioritaires pour maintenir cette cadence sans aucune dérive temporelle, sous peine de voir l'image se désynchroniser immédiatement.

Un DAC rudimentaire pour les couleurs

Côté matériel, la solution retenue est ultra simple (si on peut dire). Pour transformer les sorties numériques binaires du microcontrôleur en signaux analogiques exploitables par un moniteur CRT ou LCD, l'auteur a implémenté une échelle de résistances, aussi appelée DAC R-2R. Ce montage passif permet de convertir des combinaisons de bits en niveaux de tension spécifiques pour les canaux Rouge, Vert et Bleu. C'est une approche classique en électronique "low-cost" qui permet d'obtenir une palette de couleurs certes limitée, mais parfaitement fonctionnelle pour de l'affichage de texte ou de graphismes simples.

L'art du bit-banging et des périphériques détournés

L'envoi des données de pixels vers l'écran nécessite une bande passante que le CPU seul peinerait à fournir en mode pur "bit-banging". Pour optimiser le processus, le développeur détourne souvent le module SPI ou le port série synchrone (MSSP) du PIC pour envoyer les octets de données à la vitesse de l'horloge système. Cela permet de déléguer une partie de la charge de travail au hardware interne et de libérer quelques cycles processeur pour gérer la logique d'affichage. C'est un équilibre précaire où la moindre latence logicielle se traduit par des pixels décalés ou des lignes de travers. Chaud donc.

Ce projet illustre bien l'adage selon lequel la contrainte stimule la créativité. Là où nous utilisons aujourd'hui des processeurs multi-cœurs pour la moindre interface, ce hack prouve qu'un vieux microcontrôleur 8 bits peut encore faire le job. C’est une leçon d'architecture informatique qui permet de comprendre concrètement comment l'information devient image. C'est aussi une forme de résistance face à la démesure logicielle actuelle.

Source : Hackaday

  •  

Ce détecteur de drones à 15 balles fonctionne avec un simple micro et un ESP32

Un développeur a mis au point un système de détection de drones qui tient dans la main et coûte moins de 15 dollars.

Le projet Batear utilise un microcontrôleur ESP32-S3 et un micro pour repérer les drones par le son de leurs hélices. Le tout est open source et fonctionne sans connexion internet.

Écouter les hélices plutôt que chercher un radar

Le principe de Batear est assez simple en fait. Plutôt que d'utiliser un radar ou une caméra, le système analyse le son ambiant pour y détecter les fréquences caractéristiques des moteurs de drones.

L'algorithme de Goertzel surveille six fréquences précises entre 200 et 4000 Hz, qui correspondent aux harmoniques habituelles des rotors.

Quand l'énergie sonore sur ces fréquences dépasse un certain seuil par rapport au bruit ambiant, le système déclenche une alerte, et le tour est joué.

Tout le traitement se fait en local sur l'ESP32-S3, dans ses 512 Ko de mémoire vive. Pas de cloud, pas de serveur, pas de données qui transitent quelque part. Simple, efficace.

Moins de 15 dollars de matériel

Côté composants, il faut un ESP32-S3 et un micro MEMS ICS-43434 avec interface I2S. Et puis c''est tout. Le micro enregistre le son à 16 kHz, l'ESP32 analyse 512 échantillons toutes les 100 millisecondes, et le système consomme si peu d'énergie qu'il peut tourner sur batterie ou panneau solaire.

Le créateur, qui se fait appeler TN666, a publié l'ensemble du code sur GitHub sous le nom Batear. Il s'est d'ailleurs inspiré des dispositifs acoustiques d'avant l'invention du radar, comme les fameux cornets géants japonais des années 1930 qui servaient à repérer les avions à l'oreille.

Quelques limites quand même

Le projet en est encore à ses débuts. Batear a été testé avec des enregistrements audio de drones, mais pas encore en conditions réelles en extérieur. Le vent, le bruit de fond, la distance et le type de drone sont autant de variables qui peuvent fausser la détection.

Le créateur recommande d'ailleurs d'utiliser une protection en mousse sur le micro pour limiter les interférences du vent. Il envisage aussi d'intégrer des modèles TensorFlow Lite pour améliorer la fiabilité, et invite la communauté à contribuer au projet.

Pour 15 dollars et un peu de soudure, c'est le genre de projet bricolage qu'on a bien envie de tester. Alors bien sûr, ça ne remplacera pas un système anti-drone militaire, mais pour surveiller un jardin ou un terrain privé, ça peut rendre service.

Et puis l'idée de revenir aux bonnes vieilles méthodes acoustiques pour détecter ce qui vole au-dessus de nos têtes, il y a quand même un côté un peu rétro qui ne manque pas de charme, non ?

Source : Hackaday

  •  

Un développeur fait tourner du code Arduino sur une puce de 1980

Un développeur vietnamien a trouvé le moyen de faire fonctionner du code Arduino sur un microcontrôleur 8051, une architecture conçue par Intel en 1980.

L'astuce repose sur un émulateur RISC-V intégré directement dans la puce, et le tout est disponible en open source sur GitHub.

Une puce de 45 ans qui refuse de mourir

Le 8051, c'est un microcontrôleur 8 bits qu'Intel a conçu en 1980. L'anecdote veut que son architecture ait été dessinée en un week-end par l'ingénieur John Wharton.

Depuis, Intel a vendu plus de 100 millions d'unités rien que sur la première décennie, et des variantes compatibles sont encore produites et utilisées un peu partout, des souris d'ordinateur aux puces Bluetooth.

La version ciblée ici, c'est le STC8H8K64U, un dérivé moderne fabriqué par le chinois STC Micro. Il coûte moins d'un dollar et reste populaire en Asie, mais les outils de développement modernes ne le prennent pas en charge. D'où l'idée du projet.

Un émulateur RISC-V dans un 8051

Bùi Trịnh Thế Viên n'a pas cherché à porter le compilateur Arduino directement sur l'architecture 8051, ce qui aurait été un chantier monstre.

Il a opté pour une approche détournée : intégrer un émulateur RISC-V (appelé rv51, écrit en assembleur 8051 par un autre développeur, cyrozap) dans la puce STC8. Le code Arduino est compilé pour RISC-V, puis exécuté via cet émulateur.

Le projet est disponible sur GitHub sous le nom STC_Arduino_Core.

Des limites assumées

L'émulation a un coût. L'émulateur consomme 8 Ko de mémoire flash sur la puce, et la vitesse d'exécution est divisée par 100 à 1 000 par rapport au code natif. Pour le code qui demande du temps réel, comme la gestion des interruptions, il faut repasser sur de l'assembleur 8051 classique.

Et puis il faut le dire, des microcontrôleurs RISC-V natifs existent et coûtent à peine plus cher. Le projet reste donc un exercice technique et pédagogique, pas une solution de production.

C'est le genre de bidouille qui fait sourire. Faire tourner du code Arduino sur une architecture de 1980 via un émulateur RISC-V coincé dans 8 Ko, il fallait quand même y penser.

Bon par contre, on ne va pas se raconter d'histoires, en pratique ça n'a pas beaucoup d'intérêt face à un vrai microcontrôleur RISC-V à 2 euros. Mais l'exercice a le mérite de prouver que le 8051 a encore de la ressource, 45 ans après sa création.

Source : Hackaday

  •  

SpinalVoodoo - La 3dfx Voodoo recréée de zéro en FPGA

Quand Nvidia a racheté 3dfx, la Voodoo est morte façon Marion Cotillard dans Batman, et tout le monde était "mui tristé"... Mais vous allez pouvoir sécher vos larmes de "crocrodiles" car un dev vient de la ressusciter... dans un FPGA (c'est une puce reprogrammable).

SpinalVoodoo, c'est 430 registres de configuration, un pipeline graphique complet et des jeux à l'ancienne qui tournent OKLM du genre Quake ou Screamer 2.

Hé oui, sur un FPGA !

Le projet de Francisco Ayala Le Brun, c'est en fait une réimplémentation complète du GPU Voodoo 1 en SpinalHDL (un langage pour décrire des circuits). Pas de l'émulation logicielle genre 86Box mais une reconstruction totale du pipeline hardware registre par registre dans une puce reprogrammable. Du coup chaque pixel sort comme sur la carte d'origine comme quand elle faisait tourner Quake en 640x480 sous Windows 95. Enfin presque...

Screamer 2 par SpinalVoodoo

Je dis "enfin presque" parce que la Voodoo original, c'est pas juste un chip qui balance des triangles. Il y a en fait quatre types de registres qui réagissent chacun différemment selon le timing. Du coup si vous changez un paramètre au mauvais moment pendant qu'un triangle traverse le pipeline, les derniers pixels du triangle A se retrouvent avec la config du triangle B. Bref, bonjour la corruption !

SpinalHDL permet donc d'encoder tout ça proprement. Chaque registre déclare son adresse, sa catégorie et son mode d'accès en une seule déclaration. Pour un projet fait en solo, c'est quand même du costaud.

D'ailleurs, le récit de débogage vaut le détour. L'auteur avait des pixels d'overlay translucides qui devenaient mystérieusement transparents. Il a d'abord soupçonné un problème de framebuffer, changé les priorités d'écriture, ajouté des chemins sans cache... et l'artefact bougeait à peine. Snif...

Et là, avec Conetrace (un outil qui trace le chemin des pixels à travers le design), il a fini par trouver le coupable : 3 micro-erreurs de précision qui, séparément, étaient quasi invisibles, mais qui ensemble foutaient le bordel sur certains pixels. Le "bug mémoire" n'en était finalement pas un. Va savoir combien de développeurs hardware se seraient arrachés les cheveux là-dessus !

Quake sur SpinalVoodoo, rendu FPGA fidèle à l'original

Côté compatibilité, la majorité du pipeline graphique est implémenté (textures, transparence, brouillard, depth buffer, dithering...) par contre, y'a pas encore de contrôleur d'affichage (pas de sortie VGA native pour le moment), pas de trilinéaire, et pas de multi-texture. Attention aussi, pas de licence spécifiée sur le repo pour le moment, ce qui est un peu dommage si vous comptez réutiliser le code.

Si vous avez suivi le mec qui a conçu sa carte mère 486 from scratch avec un FPGA Spartan II, ou la Game Bub et son FPGA pour le rétrogaming, SpinalVoodoo pousse le curseur encore plus loin. Reproduire un GPU dédié avec son pipeline fixe et ses subtilités de timing, c'est quand même pas le même délire qu'émuler un CPU.

Bref, qu'une seule personne puisse recréer un GPU complet avec les outils RTL modernes, moi je trouve ça assez foufou !

Source

  •  

Il transforme une carte à 15 euros en station météo sous Windows 95

Un maker français a fabriqué une station météo miniature avec une interface façon Windows 95, logée dans un boîtier imprimé en 3D en forme de vieux moniteur cathodique. Le projet tourne sur une carte ESP32 à une quinzaine d'euros et récupère la météo en temps réel via Wi-Fi. Prévisions, vent, images satellite, tout y est.

Un mini écran façon années 90

Jordan Blanchard a publié son projet sur Hackaday.io et le résultat a de quoi plaire aux nostalgiques. L'interface reprend les codes visuels de Windows 95 : fenêtres avec barres de titre, panneaux biseautés, typographie pixelisée.

On y retrouve la météo du jour, les prévisions heure par heure, la vitesse du vent avec boussole, et même des images satellite et radar. Le tout sur un écran TFT de 2,8 pouces en 320 x 240 pixels, ce qui colle parfaitement au style rétro.

Le boîtier est imprimé en 3D et reproduit la forme d'un petit moniteur cathodique. Un mécanisme a été ajouté sur la face avant pour actionner les boutons physiques de la carte, qui se trouvent à l'arrière.

Une quinzaine d'euros de matériel

La base du projet, c'est un ESP32-2432S028, plus connu sous le nom de Cheap Yellow Display. C'est une carte de développement vendue autour de 15 euros, qui intègre un processeur ESP32 avec Wi-Fi et Bluetooth, un écran tactile TFT de 2,8 pouces, un lecteur micro-SD et un connecteur haut-parleur. Pas besoin de soudure, la carte arrive montée.

Les données météo viennent de l'API Open-Meteo, et le système gère aussi l'affichage d'images de webcams et de satellites. Une batterie lithium avec un module de charge permet de faire fonctionner le tout sans fil.

Du code Arduino en libre accès

Le sketch Arduino est téléchargeable sur la page du projet. Jordan précise avoir utilisé ChatGPT pour l'aider sur certaines parties de l'interface, ce qui est assez courant dans la communauté maker.

Le système utilise du réseau asynchrone pour que l'affichage reste fluide pendant le téléchargement des données, et un cache local en SPIFFS pour garder la météo accessible même sans connexion.

C'est le genre de petit projet qui donne envie de s'y mettre. Pour une quinzaine d'euros de matériel et un peu de temps, on obtient un objet qui a du charme et qui est utile au quotidien. Et puis retrouver l'interface de Windows 95 sur un écran de 2,8 pouces, ça a quand même un petit côté régressif assez plaisant.

Source : Hackaday

  •  

Il fabrique un robot qui joue tout seul au jeu du dinosaure de Chrome

Un bricoleur a assemblé un petit montage à base d'ATtiny85 qui joue automatiquement au jeu du dinosaure caché dans Google Chrome. Le tout pour moins de 10 euros de composants et avec un microcontrôleur pas plus grand qu'un pouce.

Deux capteurs et un microcontrôleur, c'est tout

Le projet est signé Albert David, et le principe est assez malin. Une carte Digispark ATtiny85, qui coûte entre 2 et 5 euros, est branchée en USB sur un PC et se fait passer pour un clavier grâce au protocole HID. Pour le reste, vous avez deux modules LM393 photorésistants qui sont collés directement sur l'écran, le premier au niveau du sol pour voir les cactus, et le second plus haut pour voir les oiseaux.

C'est au passage de chaque obstacle que la luminosité change, et donc que le capteur s'active pour envoyer la touche espace ou la flèche du bas pour sauter et baisser la tête, le tout à travers le microcontrôleur, et seulement 8 ko de mémoire flash.

Un système qui s'adapte à la vitesse du jeu

Encore plus fort, l'ensemble intègre un système de timing interactif, avec un firmware qui mesure la largeur des obstacles, et surtout conserve un historique de cinq mesures, pour estimer au mieux la vitesse du jeu.

Le délai entre la détection et l'appui sur la touche est recalculé en permanence, avec des bornes minimales et maximales pour éviter les ratés. Il y a aussi un délai de 400 millisecondes entre chaque action pour ne pas mitrailler les touches.

Côté calibration, il faut quand même un peu de patience. Les deux capteurs doivent être positionnés à 30-40 mm devant le dinosaure, et les potentiomètres des modules LM393 ajustés pour que le fond blanc de l'écran ne déclenche rien mais que les obstacles foncés soient bien détectés.

Albert David recommande de tester sur une vingtaine d'obstacles avant de considérer le réglage comme bon. Et si le jeu passe en mode nuit, une commande JavaScript dans la console du navigateur empêche l'inversion de contraste qui fausserait les capteurs.

Bref, vous l'avez compris, c'est le genre de projet qui ne sert strictement à rien, et c'est pour ça qu'on aime bien. Avec moins de 10 euros de composants, un bout de code en C et deux capteurs de luminosité scotchés sur un écran, on obtient un système qui joue au jeu du dinosaure mieux que la plupart d'entre nous.

Le code est disponible sur GitHub pour ceux qui voudraient essayer, et vous avez tous les détails ici . Tout ceci rappelle quand même que ce petit jeu caché de Chrome, que Google avait glissé là pour meubler les coupures internet, continue de mobiliser les bidouilleurs du dimanche.

Sources : Hackaday , Prolinix

  •  

Cette mini borne d'arcade tient dans la main et tourne sur un ESP32

Un développeur a créé Galagino, un émulateur open source qui fait tourner Pac-Man, Galaga, Donkey Kong et trois autres classiques de l'arcade sur un simple microcontrôleur ESP32. Le projet est gratuit, le code est sur GitHub, et avec quelques composants et une imprimante 3D vous fabriquez votre propre mini borne pour presque rien.

Six jeux d'arcade sur une puce à quelques euros

Galagino est un projet open source développé par Till Harbaum. Le principe : émuler des jeux d'arcade des années 80 sur un ESP32, cette petite puce à double coeur cadencée à 240 MHz qui coûte une poignée d'euros. Et ça ne rigole pas côté catalogue, puisque six titres sont pris en charge : Galaga, Pac-Man, Donkey Kong, Frogger, Dig Dug et 1942.

L'émulation est complète, avec le son et la vidéo, le tout affiché sur un petit écran TFT de 320 x 240 pixels en 2 à 3 pouces. Pour les contrôles, cinq boutons poussoirs suffisent, ou un joystick si vous préférez. Le Galaga d'origine tournait sur trois processeurs Z80 plus deux puces dédiées aux entrées et au son. Ici, l'ESP32 gère tout seul, et les deux coeurs sont quand même bien sollicités.

Le Cheap Yellow Display, la solution tout-en-un

Pour ceux qui ne veulent pas souder trop de composants, il existe une alternative bien pratique : le Cheap Yellow Display. C'est une carte ESP32 qui intègre l'écran tactile, un slot micro SD, la sortie audio et le module Wi-Fi dans un seul boîtier.

Il suffit d'y brancher une manette Nunchuk de Wii et un petit haut-parleur pour avoir une borne fonctionnelle. La communauté a aussi développé des boîtiers imprimés en 3D, et certains ont même recyclé des coques de mini bornes My Arcade du commerce pour y glisser la carte.

Tout le code, les fichiers 3D et les instructions de montage sont disponibles sur GitHub. Seul détail : les ROM des jeux ne sont pas incluses pour des raisons évidentes de licence, il faut les fournir vous-même.

Un projet qui vit bien

Le dépôt GitHub compte 186 commits et une communauté active qui continue d'ajouter des jeux comme Frogger, Dig Dug et 1942, et des contributeurs travaillent sur d'autres titres. Davide Gatti, du collectif Survival Hacking, a même porté le projet sur Arduino et publié un tuto vidéo complet pour fabriquer sa borne de A à Z. Le résultat tient dans la paume de la main, avec en option un éclairage LED pour le fronton, histoire de faire comme les vraies.

C’est trop chouette, et c’est exactement le genre de projet qui donne envie de ressortir le fer à souder. Pour quelques euros de composants et un week-end de bricolage, vous repartez avec une borne d'arcade de poche qui fait tourner Pac-Man et Donkey Kong.

Difficile de faire plus chouette en termes de rapport effort/résultat. Et puis le fait que la communauté continue d'ajouter des jeux montre que le projet a de beaux restes devant lui. En tout cas, si vous cherchiez une excuse pour acheter un ESP32, la voilà.

Source : Hackster

  •