Canaux
# Tout
RSS
Retour aux notes

publié 2026-04-11

J’ai réécrit le service Pironman 5 en Go pour réduire l’empreinte RAM

l-you avatarLiterally You

J’utilise un SunFounder Pironman 5 sur un serveur Raspberry Pi 5, et j’aime vraiment le matériel du boîtier. Ce que je n’aimais pas, c’était la surcharge logicielle.

Le service d’origine, basé sur Python, utilisait environ 70-110 MB de RAM pour le contrôle du ventilateur, le RGB, les pages OLED, la configuration, les logs et un daemon. Pour ce que ce service fait réellement, je le trouvais trop lourd.

J’ai donc réécrit le daemon essentiel Pironman 5 en Go pour mon usage personnel :

https://github.com/l-you/pironman5-go

La version actuelle n’est pas un remplacement strictement à l’identique. J’ai modifié certaines API, simplifié certains comportements, et ajouté quelques fonctionnalités que je voulais, comme des images OLED personnalisées à partir de bitmaps monochromes ou de fichiers PBM.

J’ai aussi supprimé le tableau de bord. Pour mon cas d’usage, ce n’était pas essentiel.

Si quelqu’un veut une version plus proche du comportement « essentials » d’origine, sans le tableau de bord et avec la même surface d’API, il y a un commit plus ancien pour ça :

https://github.com/l-you/pironman5-go/commit/faeff568730a411a95ee3708839ab3612b9ee1f4

Sur mon Raspberry Pi 5, la réécriture a réduit l’utilisation de RAM à environ 10 MB, a un peu diminué le CPU au repos, et a réduit le temps de redémarrage d’environ 5s à moins de 30ms.

Je dois aussi être clair sur le statut du projet. Je l’ai créé pour des besoins personnels. Je l’utilise moi-même, mais je ne promets pas de versioning rigoureux, de CI, ni de builds binaires vérifiés. Si quelqu’un veut l’utiliser avec prudence, compiler depuis les sources est l’option la plus sûre.

Un autre détail pratique : l’IA a fait presque tout le travail d’implémentation pour la version initiale, tests compris. J’ai surtout fourni les contraintes, la direction, et les décisions sur ce qui devait rester, ce qui devait changer, et ce qui devait être retiré. Je suis honnêtement impressionné par la qualité de la première version utilisable.

Ce dépôt existe parce que je voulais un service de contrôle Pironman 5 plus léger sur mon propre Raspberry Pi. Il résout ce problème suffisamment bien pour moi.

pièce jointe mise en avant

My personal Rapsberry PI 5 + Pironman Setup