<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Gaëtan Benaloul]]></title><description><![CDATA[Gaëtan Benaloul]]></description><link>https://blog.broutous.fr</link><generator>RSS for Node</generator><lastBuildDate>Wed, 15 Apr 2026 16:14:05 GMT</lastBuildDate><atom:link href="https://blog.broutous.fr/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Un vibreur bluetooth comme feedback pour une interface en JS (part 1)]]></title><description><![CDATA[(cover générée par IA)
Pour un enfant souffrant d’un lourd retard cognitif et notamment pour un enfant non-verbal, on essaie d’établir des canaux de communication alternatifs. Une des pistes est d’utiliser une tablette tactile et une interface simple...]]></description><link>https://blog.broutous.fr/un-vibreur-bluetooth-comme-feedback-pour-une-interface-en-js-part-1</link><guid isPermaLink="true">https://blog.broutous.fr/un-vibreur-bluetooth-comme-feedback-pour-une-interface-en-js-part-1</guid><category><![CDATA[iot]]></category><category><![CDATA[health]]></category><category><![CDATA[health iot]]></category><category><![CDATA[arduino]]></category><dc:creator><![CDATA[Gaëtan Benaloul]]></dc:creator><pubDate>Fri, 21 Feb 2025 22:57:17 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1740178725629/016926f7-d1e8-40ea-9bdc-b8415684aae4.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>(cover générée par IA)</em></p>
<p>Pour un enfant souffrant d’un lourd retard cognitif et notamment pour un enfant non-verbal, on essaie d’établir des canaux de communication alternatifs. Une des pistes est d’utiliser une tablette tactile et une interface simple permettant de jouer des sons. Via de gros boutons sur l’interface, on peut essayer de permettre à l’enfant d’exprimer par exemple un choix entre deux possibilités.</p>
<p>Il existe déjà un certain nombre de solutions dans le circuit commercial assez fermé du matériel adapté à ce genre de rééducation et aides spécialisées. Comme d’habitude, ça coûte un prix exorbitant et dans bien des cas c’est difficile à supporter quand on a quelque intérêt dans le DIY tech en général.</p>
<p>Ici, connaissant bien cet enfant, j’ai voulu miser à la fois sur le feedback visuel (changement de couleur des boutons au clic), sonore (il <s>est</s> sera possible d’enregistrer un son à affecter à un bouton en particulier), mais également sur le feedback haptique avec une vibration comme celle qu’on peut trouver dans une manette de jeu.</p>
<p><strong>Il y a des contraintes particulières :</strong></p>
<ul>
<li><p>Je ne me vois travailler sur ce genre d’interface pour tablette tactile qu’en javascript dans un navigateur/une application ionic ou electron. Il faut donc un mode de communication hardware adapté.</p>
</li>
<li><p>C’est un enfant qui aime beaucoup bouger et ne fait pas particulièrement attention à son environnement. Il faut donc une solution complètement sans fil, compacte et <strong>solide</strong>.</p>
</li>
<li><p>Il faut que cette communication sans fil ait le moins de latence possible, sans quoi la notion de feedback sera perdue. Il faut un retour immédiat à l’action qui a été faite par l’enfant !</p>
</li>
</ul>
<h2 id="heading-choix-du-materiel">Choix du matériel</h2>
<p>Pour la question de la communication sans fil, les choix sont assez restreints. En tout cas je me suis vite arrêté sur la solution du <strong>bluetooth</strong>, puisque le <strong>wifi</strong> sera d’une part très pénible à configurer (reconfigurer à chaque changement de réseau, une belle galère à chaque fois) et d’autre part induirait sans doute beaucoup trop de latence. La solution d’une communication série via du <strong>433Mhz</strong> aurait sans doute pu fonctionner mais je trouve que ça manque de standard. En plus de ça, jusqu’ici toutes mes tentatives de faire fonctionner ce genre de matériel ont lamentablement échoué ! Le bluetooth lui est nativement intégré à la plupart des navigateurs récents et permet une communication avec une latence très faible. C’est suffisamment standardisé pour que l’écart technique entre le POC et le produit final semble assez réduit, et l’implémentation est assurée sur n’importe quelle solution à venir (comme ça pas besoin de se restreindre au javascript et aux navigateur web).</p>
<p>Le boitier de ce vibreur doit donc être compact. Il faut trouver la solution la plus réduite possible pour :</p>
<ul>
<li><p>la batterie</p>
</li>
<li><p>le microcontrôleur</p>
</li>
<li><p>le module bluetooth</p>
</li>
</ul>
<p>Pour la question du microcontrôleur et du bluetooth, la solution semble toute désignée : les modules <strong>ESP32-WROOM-32</strong> sont programmables via l’IDE Arduino et proposent une interface BLE integrée. Je vois en écrivant ce billet qu’ils sont en NRND (Not Recommended for New Designs), mais il se trouve que j’en ai encore en stock alors c’est ce que j’utiliserai ! J’imagine qu’on trouve facilement ce genre de modules ESP32 dans des versions plus récentes, avec probablement des optimisations intéressantes. J’y jetterai un oeil un jour :)</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1740149082792/bd1d0789-26b7-4505-ae82-32ea488c5d61.png" alt class="image--center mx-auto" /></p>
<p>Pour la batterie, j’ai pris cette petite batterie 3.7v, qui suffira à alimenter l’ESP32. Ce dernier prend du 3.3v donc j’utiliserai un petit régulateur pour être sûr de ne pas tuer l’ensemble avec du 4.2v lorsque la batterie est à pleine charge. En plus de ce régulateur, j’y ajoute un BMS. Je n’ai que ces gros modules sous la main, mais ça ira pour le POC.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1740149199469/b57798e2-4dc4-4e36-9967-0066443aa905.png" alt class="image--center mx-auto" /></p>
<p>A l’origine, j’ai imaginé ce projet parce que j’avais récupéré quelques vibreurs de manettes de XBox. J’ai pu tester deux trois choses fondamentales avec ces vibreurs, mais ils sont bien trop gros. J’ai donc mis la main sur ces tout petits vibreurs sur AliExpress. La vibration qu’ils assurent est assez importante et leur facteur de forme permet quand même une integration compacte.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1740179763928/23de6f65-deca-4cc3-a4bd-5396784bbfed.png" alt class="image--center mx-auto" /></p>
<h2 id="heading-le-montage">Le montage</h2>
<p>Je reviens sur mes contraintes : il faut que le tout soit compact et solide, mais également léger. La solution sur laquelle je me suis arrêté pour le moment est celle de monter ce vibreur sur un bracelet. Attaché à la main qui va manipuler la tablette, il me semble que c’est le mieux adapté pour que le feedback soit associé directement à l’action par l’enfant.</p>
<p>Il me restait une petite longueur de bande en nylon qui parait faire tout à fait l’affaire. En plaçant mes composants sur la bande, j’ai tout de suite identifié une première idée : monter le moteur, la batterie et l’ESP sur la longueur, en utilisant des nappes de fils pour connecter tout le monde, plutôt que de tout monter à l’intérieur d’un boîtier. J’imagine donc à la place trois petits boîtiers (batterie + régulateur/BMS + vibreur).</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1740148965777/c59d60b3-94cc-44b7-b8b0-458865fb4a95.png" alt class="image--center mx-auto" /></p>
<p>Ces boîtiers seront imprimés en PLA, je vais attendre d’avoir terminé l’électronique pour passer à cette partie.</p>
<p>Ce premier assemblage fonctionne, et je reviendrai en détail sur ces étapes dans un autre article. J’ai également déjà prototypé une petite interface surtout pour le POC concernant la communication Bluetooth dans le navigateur avec javascript. Là encore, je détaillerai tout ça dans un prochain article.</p>
<p>Côté purement électronique, comme on peut le voir sur la photo ci-dessus, il me manque l’assemblage de la batterie. Je dois ajouter un connecteur JST sur la batterie elle-même avant de faire les tests (j’ai déjà testé avec une autre batterie).</p>
<h2 id="heading-prochaine-etape">Prochaine étape…</h2>
<ul>
<li><p>Montage de la batterie [article à venir]</p>
</li>
<li><p>Exploration du proto javascript [article à venir]</p>
</li>
<li><p>Assemblage final du premier proto [article à venir]</p>
</li>
</ul>
]]></content:encoded></item><item><title><![CDATA[Une console de salon DIY (part 1)]]></title><description><![CDATA[(cover générée par IA)
Il m’arrive de temps en temps de récupérer de matériel “légèrement dépassé”, genre cartes mères de laptops, cartes graphiques… Le genre de choses qui restent facilement à moisir dans un sachet antistatique pendant des années ju...]]></description><link>https://blog.broutous.fr/une-console-de-salon-diy-step-1</link><guid isPermaLink="true">https://blog.broutous.fr/une-console-de-salon-diy-step-1</guid><category><![CDATA[hardware]]></category><category><![CDATA[#RetroGaming]]></category><category><![CDATA[DIY]]></category><category><![CDATA[gaming]]></category><dc:creator><![CDATA[Gaëtan Benaloul]]></dc:creator><pubDate>Fri, 21 Feb 2025 22:57:17 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1740178782424/fc943d33-1d04-4ab6-9fb0-51f3c67cd54e.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>(cover générée par IA)</em></p>
<p>Il m’arrive de temps en temps de récupérer de matériel “légèrement dépassé”, genre cartes mères de laptops, cartes graphiques… Le genre de choses qui restent facilement à moisir dans un sachet antistatique pendant des années jusqu’à l’heure de la déchetterie.</p>
<p>Je me creuse pas mal la tête pour essayer de leur trouver une nouvelle vie intéressante. C’est pas facile, parce que ce sont des éléments qui ne s’assemblent que dans des machines incapables (à priori) de faire face à un usage quotidien normal. Il semble presque obligatoire de les spécialiser.</p>
<p>L’idée de faire de ce matos ancien des petites consoles retro, basées sur une distribution genre RetroArch par exemple, n’est pas nouvelle ni originale. Mais parfois ça tombe bien, il me faut justement une console pour mes enfants. Ils adorent les vieux jeux, ça c’est bien, mais ils jouent aussi à des choses beaucoup plus récentes. Il faut donc adapter cette idée pour permettre l’usage de matériel un poil plus costaud.</p>
<ul>
<li><p>Une carte mère avec un processeur correct</p>
</li>
<li><p>Suffisamment de RAM pour un usage de 2025, au moins 8Go (mais 16, ça sera le vrai but)</p>
</li>
<li><p>Une carte graphique.</p>
</li>
</ul>
<h2 id="heading-quel-materiel">Quel matériel ?</h2>
<h3 id="heading-carte-mere">Carte mère</h3>
<p>J’ai sous la main deux cartes mères de laptop qui ne feront sûrement pas le boulot, CPU trop faiblard, 4go de RAM. Ca n’ira pas, mais en attendant de trouver quelque chose de plus cohérent, je pense que c’est tout de même là dessus que je baserai un certain nombre de POC. A commencer par la mise en place de la carte graphique via un adaptateur mini-pci-e vers pci-e et d’une alimentation.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1740069901827/d94db1d4-c84f-4eeb-a67e-e5ea0c77e465.jpeg" alt class="image--center mx-auto" /></p>
<p>Pour le moment je vais utiliser cette MB d’un laptop Asus, on voit que j’ai déjà bricolé un petit câble d’alimentation et que j’ai installé l’adaptateur mini-pci-e à la place de la carte wifi.</p>
<h3 id="heading-carte-graphique">Carte graphique</h3>
<p>Je n’ai pas encore testé la carte graphique, une carte MSI non identifiée (ça sera la surprise, on verra quand elle fonctionnera 😶).</p>
<p>Pour la tester il faut l’alimenter correctement, on peut voir ici qu’il faut deux connecteurs Molex 6Pin pour nourrir ce monstre antique (en toc ?) avec du 12v.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1740070901522/66c440f2-9240-4bad-b33d-7393a683810b.jpeg" alt class="image--center mx-auto" /></p>
<p>Je ne vais pas utiliser d’alimentation ATX, mais une petite alimentation à découpage 12v, et j’ai donc bricolé deux faisceaux de câbles pour une connexion sur cet alim. Je précise que c’est temporaire, je ferai sûrement quelque chose de plus robuste pour la version finale de l’alim.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1740075002426/40fcb8c0-575e-4b12-bd42-e863ac38ac7c.jpeg" alt class="image--center mx-auto" /></p>
<h2 id="heading-le-boitier">Le boîtier</h2>
<p>J’ai déjà des idées de design pour le boitier, je pense que c’est l’occasion de faire un objet pas trop moche. Je vois du bois, de la lumière discrète. Tant que je n’ai pas les dimensions de la carte mère finale je ne peux pas tout à fait finaliser de facteur de forme, donc je n’ai pas grand chose de concret à écrire dans cette partie.</p>
<h2 id="heading-conclusion">Conclusion</h2>
<p>Je pense avoir coché toutes les cases nécessaires pour lancer ce petit projet, même s’il reste quelques inconnues j’ai au moins pu identifier et récupérer tout le matériel nécessaire. La suite des aventures parlera du software, je ne m’y connais pas vraiment sur les distributions linux envisagées. Il y aura aussi rapidement un détour sur le fameux test de la carte graphique que je n’ai pas eu le temps de faire.</p>
]]></content:encoded></item></channel></rss>