Vue normale

QRTape - De la musique en QR codes sur papier

Par : Korben
7 mars 2026 à 11:30

Les bandes de papier perforé, ça vous parle ? C'est les trucs qui sortaient des mainframes dans les années 60... Hé bien, y'a un mec qui a décidé de remettre ça au goût du jour, sauf qu'au lieu de petits trous, lui il utilise des QR codes. Et au lieu d'y stocker des données binaires, il y stocke de la musique.

Le projet (un peu old c’est vrai 😜) s'appelle QRTape et le principe c'est que vous prenez un fichier audio, vous le compressez en Opus à 12 kbps (fichier .opus de quelques Ko), vous découpez le résultat en morceaux de 2 331 octets, et chaque morceau devient un QR code imprimé sur un ruban de papier continu.

Une webcam Logitech C920 branchée en USB lit alors les codes un par un sur /dev/video0 pendant qu'un moteur pas-à-pas fait défiler la bande, et hop, ça joue du son !

Le plus beau dans l'histoire, c'est le côté bricolage total car la structure du "magnétophone" est faite en carton, les bobines sont des rouleaux d'essuie-tout avec des embouts en carton, et l'entraînement c'est un élastique (oui, un élastique !). Le moteur NEMA 17 est piloté par un Arduino Uno qui fait défiler 1 à 2 QR codes par seconde devant la caméra. C'est pas une hi-fi, mais ça marche très bien sur un Raspberry Pi 3 !

Côté logiciel, c'est la bibliothèque ZBar (libzbar0 sous Linux) qui décode les QR codes en temps réel. Chaque code contient un identifiant de séquence sur 2 octets, la taille du chunk, les données audio et un checksum CRC16 pour détecter les erreurs. Du coup si un code est illisible (froissé, mal imprimé), le système le skippe et passe au suivant sans couper la lecture.

D'ailleurs, le format choisi c'est du QR version 40, le plus gros possible, avec correction d'erreur moyenne. Ça donne 2 331 octets exploitables par code (le reste étant de la correction d'erreur). Attention par contre, si votre bande de papier se froisse ou prend l'humidité, c'est mort... le CRC16 détecte l'erreur mais ne corrige rien.

Et une fois imprimé, il obtient un morceau de 4 minutes 21 qui tient sur 157 QR codes, soit une bande de papier de quelques mètres.

Si vous aimez ce genre de projets rétro-futuristes, je vous invite à jeter aussi un oeil à QArt Coder qui génère des QR codes artistiques ou encore aux boîtiers Raspberry Pi en cassette audio recyclée . Y'a clairement une communauté de gens qui kiffent mélanger le vintage et le numérique et vous en faites peut-être partie ? !

Après on va pas se mentir, la qualité audio à 12 kbps mono c'est pas non plus du FLAC mais ça reste écoutable. Et le simple fait d'entendre de la musique sortir d'une bande de papier qui défile dans un truc en carton... c'est quand même la classe !

Du coup si vous avez une imprimante à étiquettes et un Arduino qui traîne, vous savez quoi faire ce dimanche.

ESPHome - Transformez un ESP32 à 5 euros en capteur domotique sans dépendre du cloud

Par : Korben
19 février 2026 à 10:15

Aujourd'hui j'aimerais vous parler un peu de bidouille et plus particulièrement de domotique . Hé oui, si comme moi, vous en avez marre que tous vos objets connectés passent par des serveurs chinois (souvent à la sécurité douteuse) ou américains (souvent directement connecté à la NSA) pour vous dire qu'il fait 22°C dans votre salon, on va voir comment ensemble créer ses propres capteurs 100% locaux avec ESPHome .

ESPHome, c'est un framework open source qui transforme n'importe quel ESP32 ou ESP8266 en appareil connecté intelligent sans vous prendre la tête. Vous écrivez un petit fichier YAML, vous flashez la puce, et hop, vous avez un capteur qui cause directement avec Home Assistant. Comme ça y'a pas de cloud et encore moins de données qui partent on ne sait où.

Et c'est hyper accessible... Suffit de savoir remplir un fichier texte avec quelques indentations (le fameux YAML), et voilà vous savez utiliser ESPHome.

ESPHome fait partie de l'Open Home Foundation ( Source )

Ce qu'il vous faut

  • Un ESP32 (genre un Wemos D1 Mini ou un NodeMCU)
  • Un capteur DHT22 (température et humidité)
  • Quelques fils Dupont
  • Temps estimé : 30 minutes

Niveau branchement, c'est pas sorcier. Le DHT22 a 3 broches utiles : VCC sur le 3.3V de l'ESP, GND sur GND, et DATA sur un GPIO de votre choix (le GPIO4 marche nickel). Pensez aussi à ajouter une résistance de 4.7kΩ entre DATA et VCC si vous voulez des lectures béton (beaucoup de modules l'ont déjà intégrée, mais vérifiez bien).

source

Ensuite, pour installer ESPHome sur votre ordi, ça se passe avec pip :

pip install esphome

Une fois l'outil en place, vous créez votre configuration YAML. Voici un exemple tout simple pour notre capteur :

esphome:
 name: capteur_salon

esp32:
 board: esp32dev

sensor:
 - platform: dht
 pin: GPIO4
 temperature:
 name: "Température Salon"
 humidity:
 name: "Humidité Salon"
 update_interval: 60s

Hé voilà ! Ce fichier suffit à tout configurer. Ensuite, pour flasher, branchez votre ESP en USB et lancez la commande :

esphome run capteur_salon.yaml

La première fois, ça compile tout le firmware et ça flashe. Une fois que c'est fait, l'ESP apparaît automatiquement dans Home Assistant si vous avez activé l'intégration. Et le top du top, c'est que les prochaines mises à jour se feront en WiFi (OTA), ce qui est super pratique quand le truc est planqué derrière un meuble.

Et si vous voulez aller plus loin dans l'intégration domotique locale, je vous conseille aussi de voir comment utiliser le GPIO directement sur Home Assistant .

Et voilà comment, avec dix balles et un peu de curiosité, vous avez un capteur qui n'espionne plus votre vie. Youuhouuu !

❌