Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
À partir d’avant-hierinformatique général
  • ✇Korben
  • Une puce à quelques euros fait tourner la NES à 60 images par seconde
    Faire tourner une console Nintendo de 1983 sur une puce qui coûte moins cher qu'un sandwich, c'est le genre de défi qui plaît aux bricoleurs, et un développeur vient de le réussir plutôt bien. Le projet s'appelle Anemoia-ESP32 et il émule la NES sur un ESP32, ce petit microcontrôleur programmable à quelques euros qu'on trouve dans une tonne d'objets connectés, avec le wifi et le Bluetooth intégrés. Le tour de force, c'est la fluidité. La plupart des jeux tournent à 60 images par seconde, exactem

Une puce à quelques euros fait tourner la NES à 60 images par seconde

22 juillet 2026 à 11:55

Faire tourner une console Nintendo de 1983 sur une puce qui coûte moins cher qu'un sandwich, c'est le genre de défi qui plaît aux bricoleurs, et un développeur vient de le réussir plutôt bien.

Le projet s'appelle Anemoia-ESP32 et il émule la NES sur un ESP32, ce petit microcontrôleur programmable à quelques euros qu'on trouve dans une tonne d'objets connectés, avec le wifi et le Bluetooth intégrés.

Le tour de force, c'est la fluidité. La plupart des jeux tournent à 60 images par seconde, exactement comme sur la vraie console, avec en prime le son entièrement reproduit.

Pour y arriver, le développeur, un certain Shim06, exploite les deux cœurs de la puce. Il s'appuie sur FreeRTOS, un mini système d'exploitation qui répartit les tâches, pour émuler d'un côté le processeur de la console et de l'autre sa partie audio, sans que l'un ralentisse l'autre.

Le plus impressionnant c'est la sobriété du truc. Là où on s'attendrait à avoir besoin de mémoire supplémentaire, l'émulateur se contente d'un ESP32 à deux cœurs avec un seul mégaoctet de stockage, et aucune PSRAM n'est nécessaire.

Screenshot

Côté affichage, vous avez le choix entre un petit écran TFT et une sortie vidéo composite, cette bonne vieille prise jaune qu'on branchait à l'arrière des télés cathodiques, et l'émulateur gère en plus les sauvegardes d'état qui figent la partie en cours pour la reprendre plus tard, tout en faisant tourner environ 79 pour cent de la ludothèque NES grâce à sa prise en charge des différents formats de cartouches. Autant dire presque tout.

Le projet est open source, publié sous licence GPLv3 sur GitHub. Et pour l'installer, pas besoin d'être un expert, il suffit de flasher le firmware sur la puce, une opération qu'on peut même lancer directement depuis son navigateur.

Du coup, on peut imaginer des consoles portables minuscules, bien plus compactes que ce qu'on bricole d'habitude avec un Raspberry Pi ou une carte plus imposante.

Voir une console mythique renaître sur un composant à moins de cinq euros, sans matériel exotique, c'est exactement le genre de bidouille qui rappelle pourquoi le rétrogaming est un terrain de jeu sans fin.

Source : Hackaday

  • ✇Korben
  • Un demi-million de domaines anti-pub stockés dans 50 Ko de RAM
    Pi-hole sur un Raspberry Pi, c'est cool, mais ça vous coûte quand même quelques dizaines d'euros (lien affilié) et ça squatte une prise en permanence. C'est pourquoi M-Abozaid a fait tenir la même chose dans une clé ESP32-C3 à pas cher (lien affilié). Son firmware bloque ainsi 537 000 domaines de pub en utilisant à peine 50 Ko de RAM, et est capable de répondre à une requête bloquée en 10 millisecondes. Maintenant que j'ai toute votre attention, je vais vous expliqu

Un demi-million de domaines anti-pub stockés dans 50 Ko de RAM

Par : Korben ✨
20 juillet 2026 à 08:13

Pi-hole sur un Raspberry Pi, c'est cool, mais ça vous coûte quand même quelques dizaines d'euros (lien affilié) et ça squatte une prise en permanence. C'est pourquoi M-Abozaid a fait tenir la même chose dans une clé ESP32-C3 à pas cher (lien affilié). Son firmware bloque ainsi 537 000 domaines de pub en utilisant à peine 50 Ko de RAM, et est capable de répondre à une requête bloquée en 10 millisecondes.

Maintenant que j'ai toute votre attention, je vais vous expliquer comment ça marche. En fait, un Pi-hole classique charge toute sa liste de blocage en RAM, sauf que l'ESP32 lui, comme il n'a que quelques centaines de Ko de mémoire vive et pas de PSRAM, il est donc techniquement impossible d'y caser un demi-million de domaines comme ça simplement. Du coup notre cher développeur a dû ruser en hashant chacun des domaines bloqués à max 5 octets chacun (40 bits max).

Tous ces hashes sont ensuite triés une fois pour toutes, puis gravés directement dans la flash de la puce (4 Mo suffisent). Puis quand une requête DNS arrive, le firmware hashe le domaine demandé et fait une recherche par dichotomie dans la flash. Environ 18 lectures suffisent pour trancher parmi les 537 000 entrées, d'où les fameux 10 ms. Et la RAM ne sert jamais à stocker la liste, mais juste à faire tourner le bazar réseau.

Et là où c'est vraiment malin, c'est que 40 bits de hash restent quasi sans collision. Il n'en a eu aucune jusqu'à 141 000 domaines, et une seule à 537 000 donc autant dire rien du tout !

Voir cette vidéo sur YouTube

Après il y a peu de chances que ça remplace Pihole, en tout cas pour le moment, parce qu'il n'y a pas de serveur DHCP. Et activer les mises à jour OTA du firmware demande d'avoir deux partitions, du coup la capacité de l'ESP 32 tombe à 250 000 domaines.

Après le dashboard est plutôt sympa, ça tourne en mDNS sur l'adresse c3adblock.local, avec des compteurs de blocage par client, le bannissement d'un appareil et la possibilité d'ajouter vos propres noms de domaines à bloquer.

Voilà moi je vois vraiment ça comme un espèce de résolveur de secours plutôt qu'un vrai remplaçant pour Pi-hole. Vous le placez derrière votre serveur DNS principal et le jour où celui-ci est en panne, la petite clé prendra le relais pour pas cher. En plus comme on le voit dans la vidéo, ça peut s'alimenter sur le port USB de n'importe quel routeur, donc c'est pratique.

C'est totalement open source sous licence MIT et c'est livré avec un script python qui permet de construire la table des hashes à partir des listes StevenBlack et Hagezi. Pour plus tard, le développeur prévoit un Bloomfilter en mémoire RAM pour zapper la lecture flash sur les 99 % des requêtes qui ne matchent aucun domaine et puis le serveur DHCP dont je vous parlais.

Si les DNS auto-hébergés vous parlent, je vous ai déjà présenté Technitium qui remplace carrément Pi-hole, Unbound et BIND . Et pour les bidouilles ESP32 à quelques euros, y'en a plein, genre celle qui remplace le Touch ID d'Apple .

Bref, un demi-million de domaines de pub bloqués par une puce plus petite qu'une clé USB c'est bien joué !! Le repo est sur GitHub si ça vous tente.

Source

  • ✇Korben
  • Un ESP32 à quelques euros pour éviter le clavier Touch ID d'Apple
    Posez votre doigt sur un capteur et hop, votre session s'ouvre. Sur un Mac, ce petit confort passe par exemple par le Magic Keyboard avec Touch ID (lien affilié) parce qu'Apple réserve la biométrie à son propre matériel. Mais le bidouilleur Zimeng Xiong a trouvé ça un peu chéros, alors il a bricolé la même chose avec un ESP32-S3 à quelques euros . Le tout tient dans un boîtier imprimé en 3D contenant un capteur d'empreinte ZW101 qui lit votre doigt, et une carte ESP32-S3 (une Seeed Studio XIA

Un ESP32 à quelques euros pour éviter le clavier Touch ID d'Apple

Par : Korben ✨
7 juillet 2026 à 10:51

Posez votre doigt sur un capteur et hop, votre session s'ouvre. Sur un Mac, ce petit confort passe par exemple par le Magic Keyboard avec Touch ID (lien affilié) parce qu'Apple réserve la biométrie à son propre matériel. Mais le bidouilleur Zimeng Xiong a trouvé ça un peu chéros, alors il a bricolé la même chose avec un ESP32-S3 à quelques euros .

Le tout tient dans un boîtier imprimé en 3D contenant un capteur d'empreinte ZW101 qui lit votre doigt, et une carte ESP32-S3 (une Seeed Studio XIAO - lien affilié) qui se fait passer pour un clavier USB. Ensuite, si l'empreinte correspond, elle tape votre mot de passe suivi d'Entrée. Vu de l'ordinateur, l'engin n'est qu'un clavier qui tape à votre place, et n'est donc liée à aucun système d'exploitation en particulier.

Le truc bien pensé je trouve, c'est que le mot de passe ne vit jamais sur l'ESP. La carte ne garde qu'une clé d'appairage de 32 octets et le mot de passe, lui, reste sur l'ordinateur, conservé par un petit service que vous installez.

Quand vous posez le doigt, l'ESP réclame ce mot de passe via un échange chiffré, avec une clé d'appairage partagée et un nonce aléatoire pour bloquer les rejeux, le déchiffre en mémoire vive le temps de le taper, puis efface tout en quelques millisecondes. Il compte aussi sur le Secure Boot et le Flash Encryption de l'ESP32-S3 pour qu'un dump de la puce ne livre aucune clé.

Après, histoire d'être transparent avec vous, sachez que le seul maillon faible de ce gadget se situe entre le capteur et l'ESP car la liaison série n'est pas protégée. Toute la vérification de l'empreinte se passe dans le capteur, pas dans le microcontrôleur, donc quelqu'un qui aurait accès à votre machine et au boîtier en même temps pourrait usurper le capteur et forcer l'envoi du mot de passe. La parade de Zimeng c'est donc de noyer toute l'électronique dans de l'epoxy noir.

Sous Windows, vous branchez un lecteur d'empreinte USB et Windows Hello fait le reste, c'est plutôt simple. Apple par contre verrouille un peu plus le truc, donc il faudra installer le logiciel compagnon. Et Zimeng Xiong ne compte pas s'arrêter là, puisqu'il annonce une version qui émule une carte à puce, pour se connecter sans jamais taper de mot de passe, comme le font déjà les passkeys . Là, on serait un cran au dessus en matière de sécurité.

Le code est public sur GitHub si vous voulez tenter le montage. Rien de prêt pour la production évidemment, mais une chouette démonstration qu'avec un ESP32 et un peu de crypto, on peut faire de jolies choses.

Source

  • ✇Korben
  • Valve refuse de vendre ce faceplate e-ink mais file les plans
    Ils sont trop sympas chez Valve ! Ils viennent de balancer sur GitLab tous les fichiers nécessaires à la fabrication d'un FacePlate pour leur Steam Machine avec un écran e-ink intégré. Les plans 3D, la liste des composants, le firmware et même les vidéos de montage, tout est sous licence MIT et je pense que quand vous aurez vu ce que ça permet de faire, vous vous lancerez peut-être. Ce truc, ça s'appelle Inkterface et c'est donc un faceplate (une façade de remplacement pour la Steam Machine) dis

Valve refuse de vendre ce faceplate e-ink mais file les plans

Par : Korben ✨
3 juillet 2026 à 11:34

Ils sont trop sympas chez Valve ! Ils viennent de balancer sur GitLab tous les fichiers nécessaires à la fabrication d'un FacePlate pour leur Steam Machine avec un écran e-ink intégré. Les plans 3D, la liste des composants, le firmware et même les vidéos de montage, tout est sous licence MIT et je pense que quand vous aurez vu ce que ça permet de faire, vous vous lancerez peut-être.

Ce truc, ça s'appelle Inkterface et c'est donc un faceplate (une façade de remplacement pour la Steam Machine) dispose d'un écran à encre électronique monochrome permettant d'afficher la température, la vitesse des ventilos et la charge CPU/GPU de la machine. Ce qui est rigolo, j'sais pas si vous vous souvenez, mais Valve avait montré ce panneau lors de l'annonce de la Steam Machine en précisant bien que ce ne serait jamais commercialisé.

Tout le monde était triste de ça, et je pense que personne n'avait imaginé qu'ils mettraient carrément les plans sous licence libre. La vie est folle !

Après, oui c'est pour ceux qui aiment mettre les mains dans le cambouis, mais si ça vous chauffe comme projet pour les vacances, voici ce que vous allez devoir mettre sur votre liste de courses : un Adafruit ESP32 Feather (2 Mo de PSRAM), un eInk Breakout Friend, le panneau e-ink 5,83 pouces d'Adafruit, 13 vis M2.5 et 4 aimants.

Vous imprimez les pièces en 3D (fichiers STEP et STL fournis), vous soudez une poignée de fils entre les deux cartes, une batterie se cale dedans, et hop, ça se clipse magnétiquement sur le cube. Parce que oui, ce bidule est autonome et dispose de sa propre batterie. En fait il se connecte à la Steam Machine en Bluetooth et basta.

Côté soft, Valve promet une vraie app sur Steam un jour, mais pour l'instant vous devrez builder un AppImage à la main. Le firmware est en C++, entièrement ouvert, et si les stats de base vous suffisent pas, vous pouvez ajouter les vôtres en écrivant votre propre fonction dans le code.

Valve avait déjà lâché les fichiers CAD de la Steam Deck pour qu'on la répare et qu'on la bidouille donc même si ici c'est pas du plug and play, c'est quand même un beau cadeau fait à la communauté. Je pense que cette Steam Machine va être un vrai petit succès ! En tout cas, c'est bien parti pour !

Source

  • ✇Korben
  • Un boîtier Wi-Fi qui détecte les gens à travers les murs
    Ce serait marrant de détecter quelqu'un dans une pièce voisine, sans utiliser de caméra ou de capteur infrarouge. En fait, c'est possible avec juste du Wifi et c'est ce que nous prouve Talking Sasquach qui vient de se bricoler un petit boitier capable de faire ça. Je vous rassure, l'idée n'a rien de neuf. Notre corps est plein d'eau, et l'eau ça renvoie et ça absorbe les ondes radio. Du coup, dès que vous bougez un peu votre popotin, bah ça perturbe les signaux Wi-Fi qui traversent la pièce.

Un boîtier Wi-Fi qui détecte les gens à travers les murs

Par : Korben ✨
2 juillet 2026 à 23:05

Ce serait marrant de détecter quelqu'un dans une pièce voisine, sans utiliser de caméra ou de capteur infrarouge. En fait, c'est possible avec juste du Wifi et c'est ce que nous prouve Talking Sasquach qui vient de se bricoler un petit boitier capable de faire ça.

Je vous rassure, l'idée n'a rien de neuf. Notre corps est plein d'eau, et l'eau ça renvoie et ça absorbe les ondes radio. Du coup, dès que vous bougez un peu votre popotin, bah ça perturbe les signaux Wi-Fi qui traversent la pièce.

Et si vous êtes trop gros, PAF vous passez en zone blanche ! (et pas en sauce blanche !)

Non, ça je l'ai inventé, vous pouvez vous détendre. Mais pour le reste, j'en parlais déjà en 2009 , avec des chercheurs de l'Utah qui reconstituaient carrément une image des gens de l'autre côté du mur, ondes radio à l'appui.

Sauf que là, plus besoin d'un labo puisque tout tient dans la main. Le cœur de l'engin est un M5Stack Cardputer ADV (c'est un ESP32-S3 avec un mini-écran, un clavier et une batterie intégrés) auquel il a collé un second écran TFT dans un boîtier imprimé en 3D. Ça donne un petit look cyberdeck bi-écran à l'appareil et tout ça pour une cinquantaine de dollars!

Sur les 2 coeurs de l'ESP32, y'a un qui gère l'affichage animé du radar tandis que l'autre mouline en continu les données captées par le Wifi. En fait le boitier lit ce qui s'appelle le CSI (Channel State Information) qui est un genre de signature de la façon dont le signal wifi rebondit partout autour de vous. Il surveille alors les variations d'amplitude et de phase sur des dizaines de trames et quand ça dépasse, BOOM, un blip vient s'allumer sur l'écran du radar, comme dans "À la poursuite d'Octobre rouge" ^^.

Après, contrairement à d'autres projets fake que j'ai pu voir passer, vous ne verrez personne à poil avec ça. C'est juste une interférence qui est pointée et pas une silhouette qui est dessinée finement et encore moins une triangulation de votre position.

Le seul garde-fou que Talking Sasquach a mis en place sur son radar, c'est qu'il faut d'abord se connecter au réseau wifi pour capter des choses. Mais en réalité, il n'y était pas obligé et ça peut fonctionner sans avoir à demander un accès à une box internet.

Le code est dispo sur GitHub sous licence MIT, et c'est écrit avec le framework Arduino si vous voulez reproduire le bidule.

Source

  • ✇Korben
  • Cet écran e-ink fait tourner la Game Boy à 60 FPS
    Je vous parlais de ces écrans e-ink hier qui sont capables de se rafraichir beaucoup plus rapidement que les écrans tout pâle de nos liseuses. Et v'la ti pas que je tombe sur ce projet de Wenting Channel où le gars a décidé de faire tourner un Pokemon Bleu en 60 fps sur un écran e-ink. Avant j'aurais pensé que c'était impossible mais avec un M5Stack PapierS3 qui est un petit kit de dev à base d'ESP32-S3 et d'un écran e-ink tactile de 4,7 pouces en 960×540, il est parvenu ! Maintenant, si vou

Cet écran e-ink fait tourner la Game Boy à 60 FPS

Par : Korben ✨
30 juin 2026 à 07:30

Je vous parlais de ces écrans e-ink hier qui sont capables de se rafraichir beaucoup plus rapidement que les écrans tout pâle de nos liseuses. Et v'la ti pas que je tombe sur ce projet de Wenting Channel où le gars a décidé de faire tourner un Pokemon Bleu en 60 fps sur un écran e-ink.

Avant j'aurais pensé que c'était impossible mais avec un M5Stack PapierS3 qui est un petit kit de dev à base d'ESP32-S3 et d'un écran e-ink tactile de 4,7 pouces en 960×540, il est parvenu !

Maintenant, si vous voulez tester chez vous, le firmware est dispo directement via M5 Burner, l'outil de flashage de M5Stack. Vous flashez, vous chargez une ROM, et hop, vous avez une Game Boy dans la poche qui se lit même en plein cagnard.

Pour bien comprendre l'exploit, il faut comprendre comment fonctionne ce type d'écran à encre électronique. Les écrans e-ink sont lents par nature et chaque "pixel" qui le compose prend plusieurs centaines de millisecondes à se rafraichir grâce à des séquences de tensions (les waveforms) qui viennent modifier son état. Sauf que l'écran du PaperS3 dispose d'une interface parallèle ligne/colonne qui permet de piloter la dalle en contournant la méthode waveform classique

Wenting attaque donc les pixels directement, en pipeline, ce qui rend possible un rafraîchissement allant jusqu'à 60-70 FPS. Et surtout sur la GameBoy, il n'a pas besoin de traiter tout l'écran car c'est du 160×144 pixels, et il ne faut que trois pixels pour représenter les quatre nuances de gris d'origine. En triplant l'image tramée, il obtient alors un agrandissement pixel-perfect ×3 tout en ne calculant qu'une fraction de la dalle.

Pour l'émulation elle-même, il n'a pas réinventé la roue. Faire émuler une Game Boy par un microcontrôleur, ça a été fait mille fois. Il s'st contenté de tester les émulateurs PeanutGB, WanaCGB et Crankboy et a gardé ce dernier qui est le plus rapide. La Game Boy Color, par contre, on oublie puisque son CPU tourne deux fois plus vite et le PaperS3 n'a pas les reins pour ça.

Concernant le son, une Game Boy crache quatre canaux audio, deux ondes carrées, un canal d'échantillons et un canal de bruit. Le PaperS3, lui, n'a qu'un buzzer, capable de pondre une seule note à la fois. Game over ? Pas du tout. Wenting a simplement repris la même technique qu'on utilisait sur les vieux PC sans carte son grâce aux canaux de la carte pour simuler une polyphonie.

Ensuite, les contrôles c'est du joypad tactile à l'écran et il a même ajouté le support des manettes bluetooth (encore bien bien expérimental). Sans oublier la sauvegarde rapide qui fige l'état de la console à l'extinction, pour reprendre le jeu là où vous en étiez par la suite.

Notez aussi que le PaperS3 est déjà en fin de vie, remplacé par le PaperColor sorti en mai mais j'imagine que Wenting fera une upgrade à un moment... on verra bien.

Si le hacking de microcontrôleurs rétro vous parle, jetez un œil à cette mini-borne d'arcade qui tourne aussi sur ESP32 , ou à GB Recompiled qui traduit vos ROMs Game Boy en C natif .

Source : PC Gamer

  • ✇Korben
  • GBCYouTube - YouTube en direct sur une Game Boy Color
    Un bidouilleur du nom de Throaty Mumbo a décidé de s'attaquer à la Game Boy Color (sortie en 1998, ça ne nous rajeunit pas) pour y faire tourner YouTube ! Et du vrai YouTube hein, en streaming, sur 160x144 pixels. Ça s'appelle GBCYoutube et je vous explique tout en détail... Ce qu'il a fait en fait, c'est se bricoler une cartouche maison avec dedans, un microcontrôleur RP2350B (le cerveau du Raspberry Pi Pico 2) qui fait tourner le lecteur, et une puce ESP32-C6 qui sert juste de pont WiFi. Vous

GBCYouTube - YouTube en direct sur une Game Boy Color

Par : Korben ✨
28 juin 2026 à 08:04

Un bidouilleur du nom de Throaty Mumbo a décidé de s'attaquer à la Game Boy Color (sortie en 1998, ça ne nous rajeunit pas) pour y faire tourner YouTube ! Et du vrai YouTube hein, en streaming, sur 160x144 pixels. Ça s'appelle GBCYoutube et je vous explique tout en détail...

Ce qu'il a fait en fait, c'est se bricoler une cartouche maison avec dedans, un microcontrôleur RP2350B (le cerveau du Raspberry Pi Pico 2) qui fait tourner le lecteur, et une puce ESP32-C6 qui sert juste de pont WiFi. Vous tapez le titre d'une vidéo sur un clavier affiché à l'écran, la console balance l'info à votre PC, et là yt-dlp récupère la vidéo pendant que ffmpeg l'encode à la volée. Les images repartent ensuite par WiFi vers la cartouche qui les pousse à l'écran en flux continu, sans avoir besoin de stocker quoi que ce soit. Je vous laisse mater la vidéo, c'est impressionnant :

Côté rendu, vous avez le choix entre deux modes. Le premier c'est pour avoir du full screen (160x144 à 30 fps, c'est Las Vegas babyyy) et le second monte en couleurs mais tombe à 5 fps, donc forcément, ça ressemble plus à un diaporama qu'à une vidéo. Le son ne passe même pas par le haut-parleur d'origine. Throaty a glissé, pour cela, un petit haut-parleur dédié dans la cartouche, piloté par le RP2350B "pour libérer les cycles CPU de la Game Boy".

Puis comme le son est souvent désynchronisé avec l'image, c'est pas ouf non plus. Mais pour la beauté du geste, je salue !

Et c'est pas la première tentative, vous vous en doutez. Chromalock streamait déjà de la vidéo sur la même console, sauf que ça passait par le câble link, un goulot d'étranglement à 512 kHz qui plafonne vite. Alors que là, on passe au WiFi et à une vraie appli YouTube, avec recherche embarquée et tout le tralala.

Throaty Mumbo n'est pas un inconnu sur la scène, puisque c'est aussi le mec qui a porté Windows CE sur une Nintendo 64 et qui a fait lire des DVD à une Dreamcast . Un spécialiste des trucs aussi débiles qu'impressionnants, dans la lignée du LLM le plus lent du monde qui tourne sur une Game Boy Color ou de ces vraies Game Boy qu'on fait jouer en ligne .

Et surtout pas besoin de charcuter votre console pour reproduire le truc, puisque la cartouche passe par le port standard, donc un modèle d'origine suffit.

Le code est par ici si l'envie vous prend de vous lancer.

Source : Hackaday

  • ✇Korben
  • IoToS - Le prof qui a codé un OS de zéro pour ses élèves
    Jean-Marc Biechy est prof d'électronique et d'informatique à l'Institution Saint-Jean de Colmar et il vient de m'envoyer un truc qui m'a scotché. Avec ses élèves, il bidouille des projets Arduino, et plutôt que d'empiler des bouts de code à chaque nouveau montage, il a fait un choix un peu fou : écrire son propre système d'exploitation en partant de zéro pour un microcontrôleur. Ça s'appelle IoToS, pour Internet of Things micro Operating System, et ça transforme un Arduino UNO R4 ou un ESP32/826

IoToS - Le prof qui a codé un OS de zéro pour ses élèves

Par : Korben ✨
24 juin 2026 à 13:28

Jean-Marc Biechy est prof d'électronique et d'informatique à l'Institution Saint-Jean de Colmar et il vient de m'envoyer un truc qui m'a scotché. Avec ses élèves, il bidouille des projets Arduino, et plutôt que d'empiler des bouts de code à chaque nouveau montage, il a fait un choix un peu fou : écrire son propre système d'exploitation en partant de zéro pour un microcontrôleur.

Ça s'appelle IoToS, pour Internet of Things micro Operating System, et ça transforme un Arduino UNO R4 ou un ESP32/8266 en vrai petit nœud réseau avec un accès en ligne de commande qui ressemble vachement à du bon vieux terminal Linux.

Vous branchez la carte, vous ouvrez un terminal série (ou un Telnet sur le port 23), et là vous tapez des commandes comme ping, tracert, netstat, dir, ip ou dhcp on tout ça directement sur Arduino.

Ce qui est chouette avec son approche c'est qu'elle est pédagogique car un Arduino tout nu, c'est un automate avec un setup() qui s'exécute une fois, une loop() qui tourne en boucle à l'infini, et basta.

Et à l'autre bout du spectre, vous avez de vrais OS temps réel (RTOS), souvent trop gros ou trop austères pour intéresser un élève de Bac Pro. Et entre les deux, y'avait rien qui faisait vraiment le pont entre l'automate et un vrai petit OS avec sa ligne de commande.

Jean-Marc a donc créé ce chaînon manquant en découpant son code exactement comme un OS. Un Boot Firmware avant le setup, un Load Driver qui gère la connexion réseau et l'écran, un Kernel qui n'est autre que la loop(), un CLI dans un fichier shell_Cmdline.h, et des applis par-dessus.

La bestiole embarque donc un serveur web AJAX qui sert des pages HTML depuis une carte MicroSD, un serveur FTP pour balader les fichiers via FileZilla, une synchro NTP et un datalogger CSV horodaté. Le tout sur un noyau coopératif, sans RTOS, le code métier de votre projet étant compilé dans le même firmware.

Et c'est là qu'on mesure le boulot d'orfèvre puisque ce firmware complet tient dans 142 Ko, soit 54% de la flash de l'UNO R4, et il reste près de 19 Ko de RAM libre sur les 32. Caser un shell réseau, un serveur web et du FTP là-dedans sans tout faire planter, c'est pas donné à tout le monde, le mec est doué !

Et avec cette base, ses élèves montent des prises IP commandables au navigateur, une caméra de surveillance sur LilyGo déclenchée par un détecteur de mouvement, une station météo consultable en ligne, une alarme PIR qui envoie un mail, de la gestion de chauffage à distance, ou du pilotage de LED RVB et de projecteurs DMX par Ethernet.

La prise IP sert d'ailleurs de système minimal de référence, et le reste, vous pouvez l'étendre en ajoutant vos propres commandes CLI et vos pages web dans les fichiers .h prévus pour.

Jean-Marc raconte y avoir passé environ 2000 heures de code et de tests, juste pour voir si c'était possible d'en écrire un tout seul. Il est parti de bibliothèques existantes (LittleFS, ping, FTP, dir) qu'il a patiemment fait discuter ensemble... Faut dire que recoder un OS de zéro pour le plaisir d'apprendre , c'est un sport à part entière et malheureusement, trop peu de gens d'y essayent.

Son code source est commenté et distribué librement sous licence GNU LGPL v2.1, donc réutilisable y compris pour un usage commercial. Tout est à télécharger sur le site du projet , avec la doc PDF, les vidéos de démo et la liste complète des commandes.

Si vous avez un Arduino R4 qui prend la poussière, vous savez maintenant quoi en faire ! Bravo Jean-Marc !!

  • ✇Korben
  • eSpectre - Quand votre Wi-Fi détecte les mouvements sans caméra
    C'est toujours un peu magique, ces histoires d'ondes radio. On sait par exemple que notre box Wi-Fi "voit" déjà quand on traverse le salon, sauf que jusqu'ici, personne ne l'écoutait vraiment. Mais j'ai découvert qu'on pouvait aller encore plus loin avec un simple ESP32 à 10 balles et le projet eSpectre de Francesco Pace. Pas de caméra ni de micro mais juste des ondes Wi-Fi qui rebondissent dans la pièce, et un capteur qui les écoute. Quand vous bougez votre petit corps tout mou, vous déformez l

eSpectre - Quand votre Wi-Fi détecte les mouvements sans caméra

Par : Korben ✨
10 juin 2026 à 10:01

C'est toujours un peu magique, ces histoires d'ondes radio. On sait par exemple que notre box Wi-Fi "voit" déjà quand on traverse le salon, sauf que jusqu'ici, personne ne l'écoutait vraiment. Mais j'ai découvert qu'on pouvait aller encore plus loin avec un simple ESP32 à 10 balles et le projet eSpectre de Francesco Pace. Pas de caméra ni de micro mais juste des ondes Wi-Fi qui rebondissent dans la pièce, et un capteur qui les écoute.

Quand vous bougez votre petit corps tout mou, vous déformez les ondes qui circulent entre votre box et l'ESP32, un peu comme votre main qui passe devant une lampe et fait bouger l'ombre sur le mur. Et c'est grâce à ces micro-perturbations, que ce petit appareil qui se connecte au Wifi est capable de mesurer, surveiller et analyser le moindre mouvement en temps réel (ce qu'on appelle le CSI, pour Channel State Information). Et l'ajout au réseau wifi se fait très simplement puisqu'il suffit de flasher la bestiole via ESPHome, ensuite vous remplissez un petit fichier YAML, vous lui faites rejoindre votre réseau wifi et le tour est joué !! 15 minutes plus tard, le capteur apparaît tout seul dans Home Assistant.

Et puis n'importe quel ESP32 qui traîne dans un tiroir fera l'affaire (les C6 et S3 sont les plus à l'aise).

Ce sont des chercheurs qui nous ont pondu cette technologie il y a une quinzaine d'années, et l'IEEE vient de la normaliser depuis l'année dernière sous le doux nom de 802.11bf. Ce qui a tout changé, c'est qu'Espressif a donné un accès au CSI directement sur ses puces alors qu'avant il fallait du matériel à plusieurs centaines d'euros. Maintenant ça tient sur un composant à 10€ et eSpectre va même plus loin avec un petit algo maison qui choisit tout seul les 12 sous-porteuses les plus stables au démarrage. Le seul truc c'est de garder la pièce immobile durant les 10 secondes qui suivent le boot, le temps qu'il se calibre.

Après si vous n'êtes pas très familier avec la domotique, vous pourriez vous demander à quoi ça sert.

Et bien par exemple à allumer la lumière quand vous entrez, couper le chauffage dans les pièces vides, ou garder un œil sur l'activité d'un parent âgé, tout ça sans caméra intrusive. Et si vous partez de chez vous, sachez que ça peut vous alerter au moindre mouvement pendant les vacances.

Le fait de pouvoir l'utiliser également pour la sécurité de votre domicile je trouve que c'est vraiment un gros plus !!

Et puis une fois encore, le respect de la vie privée est au centre des préoccupations du projet puisque toutes les données sont conservées en local, sur l'ESP32. Rien ne quitte votre réseau... On est vraiment à l'opposé par exemple de cette caméra connectée qui suit vos chats et finit par filmer tout le salon.

Sauf que, et Francesco est le premier à le marteler dans la doc du projet, cette même techno peut servir à surveiller des gens sans leur consentement. Concrètement, il suffit que l'attaquant trafique un routeur pour enregistrer 24h/24 les déplacements de personnes qui n'en savent rien. Et cela même à travers les murs, de manière complètement silencieuse et très peu chère.

D'ailleurs le Wi-Fi sait déjà aller plus loin que "ça bouge ou pas", jusqu'à vous reconnaître rien qu'à votre démarche . La surveillance sans la caméra, ça veut dire qu'il n'y a pas de petit voyant rouge ou d'objectif qui déclenche la méfiance. C'est super cool bien sûr, mais attention, juridiquement, car pister les déplacements de gens identifiables sans les prévenir, ça reste de la donnée personnelle et ça vous expose direct au vilain méchant RGPD.

Après, ça ne remplace pas encore un radar et le signal bouge davantage avec l'environnement (les meubles, la météo, un voisin dont le réseau sature le 2.4GHz) qu'avec vous. Donc faux positifs garantis quand le chat ou l'aspi robot passe ou que le store se relève. Et si y'a plusieurs personnes, comme il ne sait pas compter, c'est mouvement ou pas mouvement, point. A titre de comparaison, un capteur radar de type mmWave dédié comme le LD2410 est capable aussi de vous repérer même immobile sur le canapé, donc il vaut mieux conserver ce genre de capteurs aux pièces vraiment critiques où rien ne respire (genre votre coffre fort personnel de 2 m3 caché dans le sous-sol).

Bref, si vous avez déjà Home Assistant et un ESP32 qui dort dans un carton, ça vaut une soirée de test, puisque c'est sur GitHub . Juste, prévenez les gens qui vivent sous le même toit que vous avant de jouer aux espions...

  • ✇Korben
  • SixBack - Ressusciter une Bose SoundTouch avec un ESP32
    Si comme moi, vous avez une enceinte Bose SoundTouch , vous savez que ses boutons de radio internet ont cessé de fonctionner début mai. En effet, Bose a coupé le cloud qui tournait derrière, et les six boutons de présélections sont devenus de jolis boutons inutiles. Mais un dev nommé Tostmann, lui, a refusé cette fatalité et a sorti SixBack, un firmware ESP32 qui ramène tout ça à la vie. L'idée, c'est de faire croire à l'enceinte que rien n'a changé puisque l'ESP32 se fait passer pour les serveu

SixBack - Ressusciter une Bose SoundTouch avec un ESP32

Par : Korben ✨
29 mai 2026 à 11:25

Si comme moi, vous avez une enceinte Bose SoundTouch , vous savez que ses boutons de radio internet ont cessé de fonctionner début mai. En effet, Bose a coupé le cloud qui tournait derrière, et les six boutons de présélections sont devenus de jolis boutons inutiles. Mais un dev nommé Tostmann, lui, a refusé cette fatalité et a sorti SixBack, un firmware ESP32 qui ramène tout ça à la vie.

L'idée, c'est de faire croire à l'enceinte que rien n'a changé puisque l'ESP32 se fait passer pour les serveurs Bose disparus et répond à sa place, sans toucher au firmware d'origine de l'enceinte. Pour réussir cela, il a réimplémenté 22 des 30 points d'accès du service, de l'enregistrement du compte au streaming en passant par les vérifs de mise à jour et voilà comment pour la SoundTouch, c'est comme si le cloud n'était jamais parti !

D'habitude, ce genre de résurrection passe par une redirection DNS bricolée au niveau du routeur, un truc bien lourd et bien casse-gueule, mais Tostmann, lui, exploite un shell de diagnostic ouvert sur le port 17000, accessible en Telnet sans le moindre mot de passe et à partir de là, il réécrit directement les adresses des serveurs vers son ESP32 via ces quelques lignes de commande :

sys configuration bmxRegistryUrl http://IP_ESP32:8000/bmx/registry/v1/services
sys reboot

Côté installation, pas besoin de sortir le fer à souder rassurez-vous ! Vous branchez simplement un ESP32-S3 (comptez une dizaine d'euros) en USB, vous ouvrez sixback.io dans Chrome, Edge, ou maintenant Firefox vous cliquez sur Connect et le navigateur flashera tout seul le firmware de l'ESP32, l'interface et la config WiFi. Et voilà, votre enceinte se mettra à revivre !!

Et comme rien ne touche au firmware de l'enceinte, c'est réversible, suffit de remettre les adresses d'origine via le même shell.

Après, je le reconnais c'est un hack de niche qui ne va peut-être intéresser que 3 personnes parmi vous, mais c'est pas grave parce que moi ça m'intéresse fortement ^^. Notez quand même que ça ne marche que sur les SoundTouch 10, 20 et 30, et uniquement sous les firmwares 27.0.3 et 27.0.6, et rien d'autre.

L'interface pour régler les paramètres de votre enceinte

Côté carte, prenez donc plutôt un ESP32-S3 que les petits C6, qui décrochent parfois du réseau et exigent un reset à la main. Et comme la licence de son code est non-commerciale, sachez que personne ne vendra de boîtier clé en main pour faire ça, donc ce sera du système D ou rien ! Mais je suis certain que vous y arriverez !!

ESP32-S3

Comme je vous le disais, j'en ai une à la maison, que je ne fais tourner qu'en AirPlay, donc les fameux presets, je m'en passe très bien mais je suis content que ce SixBack existe.

C'est quand même dommage à chaque fois de voir un appareil parfaitement fonctionnel transformé en presse-papier parce qu'un fabricant a décidé d'éteindre un serveur... Heureusement que des gens comme Tostmann existent pour s'énerver un peu !

SixBack est dispo sur GitHub .

Source

  • ✇Korben
  • Ce petit gadget DIY vous prédit l'avenir quand vous le secouez
    Le maker connu sous le pseudo gokux a fabriqué un objet aussi inutile que mignon : un fortune cookie électronique. Vous le secouez, et il affiche une prédiction sur son petit écran. Voilà, c'est tout. Et c'est très bien comme ça. Sous le capot, c'est un condensé de composants accessibles. Le cerveau, c'est un Seeed Xiao ESP32-S3 Plus, un microcontrôleur minuscule, autrement dit une puce programmable qui fait tourner le tout. L'affichage passe par un écran e-paper, le même type d'écran que su

Ce petit gadget DIY vous prédit l'avenir quand vous le secouez

22 mai 2026 à 10:44

Le maker connu sous le pseudo gokux a fabriqué un objet aussi inutile que mignon : un fortune cookie électronique. Vous le secouez, et il affiche une prédiction sur son petit écran. Voilà, c'est tout. Et c'est très bien comme ça.

Sous le capot, c'est un condensé de composants accessibles. Le cerveau, c'est un Seeed Xiao ESP32-S3 Plus, un microcontrôleur minuscule, autrement dit une puce programmable qui fait tourner le tout.

L'affichage passe par un écran e-paper, le même type d'écran que sur une liseuse, qui ne consomme du courant que pour changer d'image. Pour détecter quand vous secouez l'objet, gokux a ajouté un accéléromètre MPU-6050, le capteur de mouvement qu'on trouve dans les manettes et les téléphones.

Et une petite batterie Li-Po alimente l'ensemble. Rien d'introuvable, tout se commande en ligne pour une poignée d'euros.

Le bon point, c'est que tout est embarqué. Le gadget stocke plus de 3 000 prédictions et fonctionne entièrement hors ligne, donc pas besoin de connexion, pas de serveur, pas d'appli.

Votre oracle de poche marche même au fond d'une cave. L'écran e-paper apporte un vrai plus ici : une fois la prédiction affichée, elle reste lisible même batterie vide, comme une vraie page de papier. Et gokux n'a pas oublié de glisser deux modes bonus, accessibles via les boutons sur le côté : un lanceur de dés et un tirage à pile ou face. De quoi régler vos petits dilemmes du quotidien sans même sortir le téléphone.

Le projet est entièrement documenté sur Instructables , vous y trouvez la liste des pièces, le câblage, les fichiers à imprimer en 3D, le code et même les instructions pour ajouter vos propres prédictions. Comptez quelques dizaines d'euros de composants et une soirée de montage, pas plus. C'est le projet idéal à offrir, ou à bricoler avec un ado curieux d'électronique.

Et comme le code est ouvert, rien ne vous empêche de remplacer les 3 000 messages d'origine par vos propres blagues, citations ou vannes pour vos collègues. C'est exactement le genre de projet parfait pour débuter, assez simple pour ne pas décourager, assez complet pour apprendre à manipuler un ESP32 et un écran e-paper en même temps.

Bref, ça ne sert objectivement à rien, et c'est précisément pour ça qu'on a envie d'en monter un.

Source : Hackaday

  • ✇Korben
  • Web Serial débarque enfin dans Firefox !
    On est vendredi, j'ai un mal de tête carabiné mais je me pose quand même devant l'ordi pour vous annoncer une bonne nouvelle ! Firefox 151 sur desktop vient enfin d'implémenter une fonctionnalité que Mozilla refusait catégoriquement de supporter depuis 6 ans : le support de l'API Web Serial. Alors non, c'est pas un gros mot, hein, ça veut surtout dire qu'un site web ouvert avec Firefox peut maintenant lire et écrire directement sur du matériel que vous branchez en USB, genre un Arduino, un ESP32

Web Serial débarque enfin dans Firefox !

Par : Korben ✨
22 mai 2026 à 08:43

On est vendredi, j'ai un mal de tête carabiné mais je me pose quand même devant l'ordi pour vous annoncer une bonne nouvelle ! Firefox 151 sur desktop vient enfin d'implémenter une fonctionnalité que Mozilla refusait catégoriquement de supporter depuis 6 ans : le support de l'API Web Serial.

Alors non, c'est pas un gros mot, hein, ça veut surtout dire qu'un site web ouvert avec Firefox peut maintenant lire et écrire directement sur du matériel que vous branchez en USB, genre un Arduino, un ESP32, une imprimante 3D, une clé crypto ou que sais-je encore, sans que vous ayez à installer le moindre logiciel ou pilote.

Le cas d'usage le plus parlant, c'est le flashage de microcontrôleurs. Avant, pour mettre un firmware sur un ESP32, il fallait installer esptool en Python, ou l'IDE Arduino, galérer avec les drivers série, choisir le bon port à la main. Maintenant des outils comme ESPHome ou Home Assistant font tout ça depuis un onglet, en quelques clics. Vous branchez la carte, le site demande l'autorisation d'accéder au port, et c'est réglé. Adafruit fait pareil pour installer CircuitPython sur ses cartes ESP32-S2.

Et pour comprendre pourquoi c'est une vraie bonne nouvelle, il faut se rappeler d'où on vient. Chrome propose quand même Web Serial depuis 2021 mais Mozilla a toujours considéré qu'un accès série accordait trop de contrôle sur un appareil, sans la moindre authentification. Et ils n'ont pas tord... D'ailleurs Apple, de son côté, campe toujours sur cette position et qualifie carrément la spec de dangereuse, notamment à cause des risques de fingerprinting .

Mais ce qui a fait bouger Mozilla, c'est un revirement progressif en interne. En 2022, Bobby Holley, le CTO de Firefox, a rouvert le dossier, puis en 2024, il a posé ses conditions, à savoir un mécanisme de contrôle par add-on et un consentement clairement formulé. Et le résultat, on peut le voir dans l'implémentation finale, puisque l'autorisation marche par site et par port. C'est bien puisqu'un site ne voit absolument rien tant que vous ne lui donnez pas la main, et ne récupère aucune liste des appareils branchés, ni aucune info de fingerprinting exploitable au-delà du port que vous sélectionnez vous-même.

J'étais le premier à pester contre Mozilla pour cette absence de support. Parfois je les trouve trop prudent, au delà du raisonnable, ce qui les mets en décalage avec ce que proposent les autres et ce qui fait leur fait perdre bêtement des parts de marché.

Mais c'est vrai aussi que la prudence sur ce genre d'API qui touche directement au hardware, c'est ce qu'on attend tous d'un navigateur qui mise tout sur le respect de la vie privée de ses utilisateurs. D'ailleurs, pour les parano ou les admins système (oui c'est pareil ^^), sachez qu'en environnement Firefox Enterprise, Web Serial est désactivé par défaut.

Au-delà du flashage de cartes, les usages réels sont déjà très nombreux. Un ingénieur de Mozilla, Florian Quèze, s'en sert par exemple pour lire la consommation d'un compteur USB d'énergie standard (du genre AVHzY C3 ou Joy-IT TC66C) et balancer les données directement dans le Firefox Profiler. Les imprimantes 3D, les briques LEGO programmables, les Raspberry Pi Pico, tout ce petit monde cause série et devient ainsi pilotable depuis une page web.

D'ailleurs je vous parlais récemment de CANviz, qui analyse le bus CAN de votre bagnole directement dans le navigateur, hé bien c'est typiquement le genre de truc que Web Serial rend possible sans app native.

Après la spec Web Serial traîne toujours au Web Incubator Community Group, donc rien n'est gravé dans le marbre mais cela dit, Mozilla pousse pour une vraie standardisation via le WHATWG, ce qui n'était pas gagné vu d'où on est parti.

Voilà, allez, je vous laisse, j'ai un dafalgan qui m'attend ^^

Source

  • ✇Korben
  • Ces badges LED de festival se synchronisent tout seuls
    Tony Goacher a résolu un petit casse-tête avec élégance. Son projet CrowdClock, ce sont des badges lumineux pour festival qui clignotent tous en rythme, parfaitement synchronisés. Sauf qu'il n'y a aucun badge maître, aucune appli, aucun appairage. Les badges se mettent d'accord tout seuls. Le truc tient en une technique toute bête. Chaque badge fait tourner sa propre horloge interne et diffuse en continu sa valeur tout autour de lui, via ESP-NOW (un protocole sans fil léger, qui permet à de peti

Ces badges LED de festival se synchronisent tout seuls

21 mai 2026 à 17:18

Tony Goacher a résolu un petit casse-tête avec élégance. Son projet CrowdClock, ce sont des badges lumineux pour festival qui clignotent tous en rythme, parfaitement synchronisés. Sauf qu'il n'y a aucun badge maître, aucune appli, aucun appairage. Les badges se mettent d'accord tout seuls.

Le truc tient en une technique toute bête. Chaque badge fait tourner sa propre horloge interne et diffuse en continu sa valeur tout autour de lui, via ESP-NOW (un protocole sans fil léger, qui permet à de petits modules de discuter directement entre eux sans passer par le Wi-Fi). Quand un badge capte une valeur d'horloge plus élevée que la sienne, il adopte cette valeur, tout simplement.

Avec cette seule règle, ça fonctionne. Mettez deux groupes de badges désynchronisés dans la même pièce, et en quelques instants tout le monde s'aligne sur l'horloge la plus avancée, puisetdéroule les mêmes animations lumineuses en même temps. D'habitude, synchroniser une flotte d'appareils, ça demande un serveur, une désignation de maître et une négociation en bonne et due forme entre tout ce petit monde. Là, rien de tout ça. Cette absence de mémoire partagée est même ce qui rend le système très solide : un badge qui arrive, qui repart, qui tombe en panne de batterie, rien de tout ça ne flingue la synchro.

Niveau matériel, c'est très accessible : un microcontrôleur ESP32, un anneau de 16 LED RGB adressables (le genre de LED qu'on pilote une par une), une batterie et un support imprimé en 3D. Rien d'exotique, rien de cher. Le code est publié en open source sur GitHub, donc n'importe qui peut reproduire le projet et s'en inspirer. Le tout revient à quelques euros de composants pour chaque badge, de quoi en fabriquer toute une fournée pour un atelier ou un festival.

CrowdClock a été monté avec des jeunes au sein d'une association qui s'appelle Inclusive Bytes, pour un festival. L'idée derrière tout dépasse donc le simple gadget : la foule ne regarde plus le spectacle lumineux, elle le compose. Pour beaucoup de ces jeunes, c'était probablement le premier contact avec les systèmes distribués, et c'est difficile de trouver meilleure démo.

Source : Hackaday

  • ✇Korben
  • Cuivrer une pièce imprimée 3D sans cuve géante, c'est possible en la faisant tourner
    Hendrik s'est attaqué à un problème classique des makers : électroplaquer une pièce imprimée en 3D un peu grosse, ça demande une cuve énorme remplie de produits chimiques pour la submerger entièrement. Sa solution, fabriquée maison, prend le problème dans l'autre sens : si la pièce ne rentre pas dans la cuve, autant la faire tourner doucement dans une cuve plus petite. Le principe est simple. Vous prenez votre pièce 3D, vous la poncez, vous la recouvrez de peinture conductrice (indispensable, si

Cuivrer une pièce imprimée 3D sans cuve géante, c'est possible en la faisant tourner

19 mai 2026 à 17:38

Hendrik s'est attaqué à un problème classique des makers : électroplaquer une pièce imprimée en 3D un peu grosse, ça demande une cuve énorme remplie de produits chimiques pour la submerger entièrement.

Sa solution, fabriquée maison, prend le problème dans l'autre sens : si la pièce ne rentre pas dans la cuve, autant la faire tourner doucement dans une cuve plus petite.

Le principe est simple. Vous prenez votre pièce 3D, vous la poncez, vous la recouvrez de peinture conductrice (indispensable, sinon le métal ne s'accroche à rien).

Ensuite vous la fixez sur un axe motorisé piloté par un ESP32 (un petit microcontrôleur Wi-Fi du même style qu'un Raspberry Pi en plus modeste) qui fait tourner doucement la pièce via un moteur pas-à-pas. La pièce trempe à moitié dans la cuve d'électrolyte, et la rotation se charge du reste. Au bout d'une nuit complète, le cuivre s'est déposé uniformément sur toute la surface.

La cuve elle-même est fabriquée maison en acrylique, dimensionnée juste pour la zone immergée. Une carte électronique custom gère le moteur, un boîtier imprimé en 3D protège l'ensemble.

Une fois le cuivrage terminé, Hendrik polit la couche obtenue puis enchaîne avec d'autres bains pour ajouter d'autres métaux par-dessus si besoin, comme du nickel ou de l'or. Le résultat ressemble à une pièce métallique pleine, alors qu'en dessous c'est juste du plastique imprimé.

C'est exactement le genre de bricolage qui ne paie pas de mine mais qui débloque un truc bien utile. Une cuve d'électrolyse pour un casque ou une grosse pièce cosplay, c'est plusieurs centaines d'euros de produits chimiques, sans compter la place que ça prend dans un atelier.

Là, l'investissement matériel se réduit à un moteur pas-à-pas à 15 euros, un ESP32 à 5 euros, un bout d'acrylique et la peinture conductrice. Le tout est réutilisable indéfiniment, donc l'amortissement se fait rapidement.

Petit bémol quand même : si vous ne plaquez qu'une seule pièce dans votre vie, c'est sans doute plus simple de payer un pro pour vous le faire et il faut accepter de laisser tourner un montage chimique pendant douze heures dans son garage.

Mais pour quelqu'un qui produit des accessoires en série, des prototypes de bijoux ou des pièces cosplay régulièrement, c'est une vraie alternative.

Source : Hackaday

  • ✇Korben
  • Un capteur LiDAR matriciel pour donner la vue en relief à un petit robot
    Le LiDAR, c'est cette techno qui mesure des distances en envoyant des impulsions laser et en chronométrant leur retour, un peu comme un sonar, mais avec de la lumière. On en entend parler surtout pour les voitures autonomes ou les robots aspirateurs. Mellow Labs , une chaîne qui bidouille du hardware, s'est procuré un capteur LiDAR un peu particulier : un modèle matriciel. C'est-à-dire un capteur qui ne mesure pas une seule distance droit devant lui, mais toute une grille de points d'un coup.

Un capteur LiDAR matriciel pour donner la vue en relief à un petit robot

14 mai 2026 à 16:30

Le LiDAR, c'est cette techno qui mesure des distances en envoyant des impulsions laser et en chronométrant leur retour, un peu comme un sonar, mais avec de la lumière. On en entend parler surtout pour les voitures autonomes ou les robots aspirateurs.

Mellow Labs , une chaîne qui bidouille du hardware, s'est procuré un capteur LiDAR un peu particulier : un modèle matriciel. C'est-à-dire un capteur qui ne mesure pas une seule distance droit devant lui, mais toute une grille de points d'un coup.

Concrètement, ce capteur fonctionne comme une grille de 64 capteurs (8 sur 8) qui sort une carte des distances comprises entre 2 cm et 3,5 m. Au lieu de savoir juste "il y a un obstacle à un mètre", le robot récupère une vraie image en relief de ce qu'il a devant lui.

La différence est énorme : un capteur classique vous dit qu'il y a quelque chose, un capteur matriciel vous dit quoi, où, et à quelle hauteur. C'est tout de suite plus exploitable pour un engin qui doit se débrouiller seul, parce qu'il peut distinguer un mur d'une marche, ou un obstacle au sol d'un truc suspendu.

Mellow Labs a greffé ce capteur sur Zippy, son petit robot à chenilles imprimé en 3D et piloté par un ESP32, la puce bon marché qu'on retrouve dans la moitié des projets de bricolage électronique de la planète. L'objectif : faire passer Zippy du mode télécommandé à un vrai mode autonome. Avec sa grille de points, le robot peut enfin voir le sol devant lui et décider tout seul où aller. Enfin, en théorie.

Sauf que voilà, ça ne s'est pas fait en claquant des doigts. Premier souci, la moitié des données du capteur ne servait à rien, parce que la grille captait aussi le sol juste sous le robot. Du coup il a fallu trier, ne garder que la partie utile, et réduire encore le volume de données à traiter.

Mellow Labs a fait plusieurs allers-retours, avec, comme souvent désormais, un coup de main d'un modèle d'IA pour générer le code, avant que l'ensemble tourne enfin correctement !

Source : Hackaday

  • ✇Korben
  • Raspberry Pi 4 : un nouveau modèle 3 Go de RAM, et des hausses de prix qui piquent
    La fondation Raspberry Pi vient d'annoncer une nouvelle version du Pi 4 avec 3 Go de RAM, vendue 83,75 dollars (environ 100 euros). Mais derrière cette annonce se cache une mauvaise nouvelle : les prix de toute la gamme augmentent à cause de la flambée de la mémoire. Un modèle 3 Go pour limiter la casse Annoncé un 1er avril, ce nouveau Raspberry Pi 4 n'est pas une blague. Le modèle embarque deux puces LPDDR4 de 1,5 Go chacune, une configuration qui permet de réduire les coûts de production par r

Raspberry Pi 4 : un nouveau modèle 3 Go de RAM, et des hausses de prix qui piquent

Par : Korben
3 avril 2026 à 10:51

La fondation Raspberry Pi vient d'annoncer une nouvelle version du Pi 4 avec 3 Go de RAM, vendue 83,75 dollars (environ 100 euros). Mais derrière cette annonce se cache une mauvaise nouvelle : les prix de toute la gamme augmentent à cause de la flambée de la mémoire.

Un modèle 3 Go pour limiter la casse

Annoncé un 1er avril, ce nouveau Raspberry Pi 4 n'est pas une blague. Le modèle embarque deux puces LPDDR4 de 1,5 Go chacune, une configuration qui permet de réduire les coûts de production par rapport aux puces 2 Go classiques.

Le prix de la mémoire LPDDR4 a été multiplié par sept en un an, et c'est cette explosion qui a poussé la fondation à trouver une alternative. Le Pi 4 3 Go se positionne entre le modèle 2 Go et le 4 Go, avec un tarif de 83,75 dollars, soit environ 100 euros et 15% de moins que le nouveau prix du 4 Go.

Des hausses de prix qui font mal en Europe

La fondation a relevé les prix de l'ensemble de sa gamme pour les versions 4 Go et plus. En France, la douche est froide : le Raspberry Pi 4 4 Go est passé de 65 euros à 120 euros TTC chez Kubii, le principal revendeur agréé. Le Pi 5 16 Go grimpe de 212 à 353 euros. Seul le Pi 4 2 Go reste stable à environ 63 euros.

La cause est la même pour tout le monde : la demande en mémoire des centres de données, tirée par l'intelligence artificielle, fait grimper les prix des puces LPDDR4 et LPDDR5 sur l'ensemble du marché. Côté disponibilité du nouveau modèle 3 Go, c'est encore très limité par chez nous.

Cette situation inquiète pas mal de monde dans la communauté. Jeff Geerling, créateur de contenu bien connu dans l'univers Raspberry Pi, estime que ces hausses de prix risquent d'exclure une partie des bidouilleurs. Certains commencent d'ailleurs à se tourner vers des alternatives à base de microcontrôleurs comme les ESP32, qui restent abordables. Les anciens modèles de Raspberry Pi (Zero, 2, 3), qui utilisent de la mémoire LPDDR2, sont pour le moment moins touchés par la hausse.

C'est un peu le monde à l'envers : un Raspberry Pi, c'est censé être un petit ordinateur pas cher, et là on se retrouve avec un Pi 4 4 Go à 120 euros en France. La crise de la mémoire liée à l'IA touche tout le monde, même les petites cartes de bricolage.

Bon au moins, le modèle 3 Go montre que la fondation cherche des solutions pour garder des prix un minimum accessibles, et c'est quand même rassurant de voir qu'ils ne se contentent pas de répercuter les hausses sans réagir.

Source : Hackaday

  • ✇LinuxFr.org : les dépêches
  • Cryptographie embarquée : briques de base et communication avec serialguard
    Il était une fois un petit ESP32, installé dans une cave, qui voulait communiquer avec son copain sur le toit pour envoyer des données par 4G. Il parlait peu, donc il pouvait utiliser la norme radio LoRa. Elle est à bas débit, mais permet une portée bien plus grande qu’une modulation classique. Le problème, c’est qu’il parlait en clair, et que n’importe qui pouvait écouter ou pire : injecter de fausses données, voire corrompre le serveur distant. Le protocole de communication à la mode est celu

Cryptographie embarquée : briques de base et communication avec serialguard

Il était une fois un petit ESP32, installé dans une cave, qui voulait communiquer avec son copain sur le toit pour envoyer des données par 4G. Il parlait peu, donc il pouvait utiliser la norme radio LoRa. Elle est à bas débit, mais permet une portée bien plus grande qu’une modulation classique. Le problème, c’est qu’il parlait en clair, et que n’importe qui pouvait écouter ou pire : injecter de fausses données, voire corrompre le serveur distant.

Le protocole de communication à la mode est celui de Signal, utilisé aussi par WhatsApp et Messenger. Un autre protocole en vogue est WireGuard, dont l’objectif est d’offrir un VPN léger pour Linux, en s’appuyant sur un ensemble restreint de briques cryptographiques modernes et fortement recommandées, qui ne sont plus laissées au choix de l’utilisateur.

L’idée était donc de trouver une implémentation de ce type pour l’embarqué. Eh bien, je n’ai presque rien trouvé.

Sommaire

Briques de base

TLS est la référence absolue pour tous les algos, mais c’est à vous de faire votre choix. Libsodium est une implémentation des derniers algos recommandés et fait le choix pour vous. Ces deux bibliothèques sont énormes et sont optimisées pour PC. Un professeur de cryptographie a écrit une série de tweets qui contient une petite lib qui reprend les algorithmes de libsodium en version auditable (https://tweetnacl.cr.yp.to/). Mais elle est lente.

Une autre personne écrit ce que je cherche : Monocypher. C’est un fichier .c avec les algo principaux de libsodium et qui compile en pur C sans dépendance ! C’est parfait pour mon besoin.

Cette bibliothèque fournit uniquement les briques de base, on est très loin d’un protocole Signal. Quand on parle de cryptographie, on pense à AES pour le chiffrement symétrique, à RSA pour le chiffrement à clef publique et la signature, aux hashs SHA1 ou SHA512 pour un hash de qualité cryptographique. Les propriétés nécessaires sont fascinantes mais cela ne dit pas comment bien les utiliser ensuite.

Le chiffrement symétrique

Il s’agit de chiffrer un bloc avec une clé de taille fixe. Le représentant le plus connu est AES, avec des clés de 128 ou 256 bits. On a un bloc, on a une clé, et on obtient un bloc plus ou moins aléatoire. AES utilise des modes (GCM, XTS, …) pour renforcer le mélange et garantir la sécurité selon différents contextes.

Ici, l’algorithme recommandé est ChaCha20. Pas besoin de mode externe : tout est prévu dans l’algorithme de base.

Au déchiffrement, la brique ne se pose pas de question : si la donnée a été altérée, le résultat le sera aussi.Il faut donc ajouter un protocole d’authentification, qui utilise la même clé et un hash pour vérifier l’intégrité. Les algorithmes classiques sont MAC, HMAC, mais il est facile de faire une erreur dans leur utilisation.

Monocypher utilise Poly1305 pour authentifier le message (AEAD – Authenticated Encryption with Associated Data). Son API combine XChaCha20 et Poly1305, ce qui évite de se poser des questions : en cas de modification du message chiffré, la fonction de déchiffrement renvoie une erreur explicite.

Cette fonction nécessite un NONCE ("Number used once"), qui doit être différent à chaque appel.

Le hash

Un hash prend un bloc de données, fait une grosse salade et rend un chiffre de taille fixe avec de bonnes propriétés crypto. Le but est d’avoir une empreinte de taille fixe pour un bloc de données, et qu’il soit impossible de forger un hash identique en modifiant un peu les données d’origine. En gros.

Le hash recommandé est BLAKE2b : “as secure as SHA-3 and as fast as MD5”. Il fait 256 ou 512 bits.

“Password hashing” ou la création de clef à partir de mot de passe

Lorsqu’un mot de passe est saisi, il n’est jamais utilisé tel quel : il est d’abord transformé en une valeur de taille fixe via une fonction de hachage. Pour contrer les attaques par force brute, on a commencé par appliquer des centaines d’itérations de SHA1, avant d’adopter des fonctions de hachage volontairement lentes, comme bcrypt ou scrypt. Le but étant justement d’éviter qu’elles soient rapides, contrairement aux fonctions de hachage classiques.

Aujourd’hui, Argon2 est recommandé.

Chiffrement à clef publique

L’image est souvent celle d’un cadenas ouvert : n’importe qui peut fermer le cadenas, mais seul le possesseur de la clef peut l’ouvrir. RSA a été le premier algorithme inventé avec cette propriété. Aujourd’hui, la mode est aux courbes elliptiques avec X25519.

La fonction principale est basée sur l’échange Diffie-Hellman (DH). C’est le truc magique de la crypto asymétrique.

DH(Clef publique de A, Clé privée de B) = DH(Clef publique de B, Clé privée de A) = N

Sans une clef privée, il est cryptographiquement impossible de retrouver N.

Comment créer une clef privée ? C’est simplement 32 octets très aléatoires. Toute la sécurité dépend de cela. On se rappelle de la faille Debian utilisant un générateur prévisible en 2008.

Générateur d’aléatoire

Pour faire de la cryptographie sérieusement, il faut un vrai générateur aléatoire de qualité cryptographique. Monocypher, par exemple, n’en fournit pas, car cela dépend trop du matériel utilisé. C’est donc à vous d'en fournir un correct.

Ne surtout pas utiliser random() ou rand() : ces fonctions ne sont pas prévues pour la sécurité. Elles offrent souvent à peine 32 bits d’entropie, ce qui signifie qu’elles peuvent générer des valeurs qui tournent en boucle après seulement 4 milliards de cas, ce qui est trivial à explorer pour un attaquant moderne.

Un bon générateur s’appuie sur des sources d’entropie, autrement dit, des phénomènes imprévisibles : le bruit du système, les délais entre événements, la température, etc. Ensuite, ces sources sont mélangées (souvent via un gros hash) pour produire des nombres avec des propriétés statistiques solides.

Par exemple, Linux collecte plein de métriques internes (activité réseau, mouvements de la souris, etc.) pour alimenter son générateur aléatoire /dev/urandom.

Côté matériel, certaines plateformes proposent un vrai générateur physique : il peut mesurer le bruit électrique à travers une diode via un convertisseur analogique-numérique (ADC), ou encore exploiter les légères variations de vitesse d’oscillateurs internes (anneaux d’inverseurs), qui sont ensuite mélangées avec des circuits comme des LFSR combinés via XOR.

Utilisez le générateur cryptographique fourni par votre plateforme (par exemple getrandom(), arc4random(), ou un TRNG matériel si vous êtes en embarqué).

Il ne faut pas se créer son propre générateur sans savoir exactement ce que l’on fait. Le pire étant de réutiliser des données (des clefs par exemple) pour générer d’autres nombres. On crée ainsi une énorme dépendance entre eux, qui n’ont plus rien d’aléatoire.

Les dernières failles des imprimantes Brother proviennent du fait que les mots de passe d’administration sont dérivés de leur numéro de série (!).

Signature

On a un bloc de données, on signe avec une clef privée, on vérifie la signature avec la clef publique.

Monocypher propose EdDSA.

Serial Guard, le protocole de communication

Il ne faut pas créer sa propre cryptographie, c’est trop facile de se tromper. C’est pourtant exactement ce que j’ai fait. La suite peut donc contenir des erreurs. L’idée est de créer un protocole léger de communication. Si des experts passent par là et voient une horreur, qu’ils n’hésitent pas à crier.

On a maintenant les blocs de base. Et il faut maintenant les agencer comme il faut. On veut que A communique avec B (Alice et Bob), sans que E puisse comprendre les messages, insérer des messages, modifier des messages, rejouer des messages, récupérer les messages dans le futur s’il a tout enregistré et récupérer les clefs privées.

Dans le monde de l’embarqué « simple », on communique avec des read et des write sur lien série. L’idéal est d’avoir à peu près la même API.

Il faut réduire au minimum l’échange d’informations préalable pour être le plus léger possible.

Je laisse de coté le "framing", c'est à dire la mise en paquet pour être envoyé sur un lien physique. Un lien série envoie des octets, serialguard fonctionne par paquets d'octet. Il faut reconstituer un paquet avant de l'envoyer dans la bibliothèque.

La base est d’avoir une clef privée chacun, à longue durée de vie. Cela permet de s’authentifier selon le principe : si c’est toujours la même clef depuis l’installation, c’est toujours le même pair : TOFU.

Si on a besoin de faire mieux, il faudrait qu’une « clef de confiance » signe cette clef. Mais on entre dans les méandres complexes d’une public key infrastructure, des certificats ou des web of trust type GPG.

Pour pouvoir tout de même changer une clef privée à long terme, tout en ayant de la sécurité pour éviter les man-in-the-middle, il faut garder un secret partagé dans tous les pairs. Cela peut être très compliqué sur un réseau de serveurs, mais ici, chaque boîtier est programmé au même endroit.

Il s’agit simplement d’un nombre de 32 octets aléatoire partagé par tous. C’est nommé pompeusement pre-shared key (PSK).

Il faudra éviter de la laisser traîner dans le code source.

Une clef de session est une clef temporaire, renouvelable. L’idée est d’utiliser la cryptographie asymétrique pour se mettre d’accord sur une clef symétrique.

Si on utilise le nombre généré par Diffie-Hellman (DH) directement, il est unique par pair de clefs privées : ce n’est pas top. On pourrait échanger des nombres aléatoires pour se mettre d’accord sur une clef symétrique, mais je veux limiter les échanges au minimum.

Pour cela, je vais utiliser une clef de session asymétrique, qui est l’invention du protocole Signal. Une fois la clef symétrique générée, la clef privée éphémère est jetée. Il sera impossible ensuite de déchiffrer la session, même dans le futur.

On commence donc par un échange de 2 clefs publiques : l’une à durée de vie longue et l’autre éphémère.
On croise les 8 clefs (2 publiques et 2 privées de chaque côté) dans 3 échanges DH, on trie les nombres pour avoir le même ordre des 2 côtés, et le résultat est donné à la fonction de hachage avec la PSK.

On a ainsi notre clef de session symétrique.

Le rejeu

Tant que la session est active, l’envoi d’un message précédent reste valide. Pour éviter cela, un NONCE est utilisé dans le chiffrement symétrique. C’est un nombre fourni quelconque mais qui ne doit jamais être identique d’un paquet à l’autre. Il peut être transmis avec le paquet, mais cela prend de la place.

J’ai choisi d’utiliser un simple compteur, cela évite de devoir se rappeler les NONCE passés pour éviter le rejeu.

Les liaisons n’étant pas fiables, un paquet peut être corrompu : il faut pouvoir décoder le paquet suivant. J’ai simplement choisi de tester les 10 nombres successifs en cas d’erreurs, avant d’échouer.

Durée de session

Une session doit être limitée en temps ou en quantité d’informations transmises. Il faut trouver un événement symétrique des 2 côtés pour redéclencher un handshake. J’ai laissé ce point à l’application. Cela pourrait être inclus dans le protocole réseau de plus haut niveau.

Schéma

Envoi d’un seul message

Ce schéma ne couvre pas le cas d’envoi d’un seul message.

Dans l’Internet des objets, on pousse un message dans MQTT et on ne s’attend pas à une réponse. Cela serait bien plus pratique de pouvoir le faire. Il faut pouvoir faire l’envoi sans handshake préalable. Mais il faut tout de même envoyer les clefs publiques, ce qui prend de la place.

Le système a besoin de la clef publique du serveur et du PSK, et tout le reste est fourni en plus du chiffré (NONCE, clef publique, et clef publique éphémère) dans le message envoyé.

La différence est qu’il n’y a que 2 DH, et pas de clef éphémère du côté serveur.

Travail en cours

C’est encore un travail en cours. Il manque des tests sur le terrain et l’évaluation des performances sur plusieurs plateformes.

Commentaires : voir le flux Atom ouvrir dans le navigateur

❌
❌