AxeOS est le système d'exploitation et l'interface web construite sur la firme — le tableau de bord et la couche de contrôle avec lesquels vous interagissez directement dans votre navigateur. Au quotidien, la plupart des gens appellent simplement l'ensemble du système « AxeOS ».
AxeOS est une firme open-source conçue spécifiquement pour la famille de mineurs Bitaxe. Elle s'exécute sur la puce ESP32-S3 en utilisant le framework ESP-IDF et démarre un serveur web local via son Wi‑Fi intégré, afin que vous puissiez ouvrir un navigateur, accéder à 192.168.xx.xx et surveiller immédiatement le hashrate, la température de l'ASIC/de la puce (généralement entre 50 et 65 °C) et l'état de la connexion Stratum. AxeOS ne nécessite aucun logiciel PC externe, aucune application mobile ni aucun compte cloud. Une fois configuré, un mineur Bitaxe fonctionne de manière totalement autonome — il vous suffit d'un appareil sur le même réseau disposant d'un navigateur web.
1、Comment cela fonctionne-t-il 🏃
Lorsqu'on voit un mineur Bitaxe pour la première fois, une question revient souvent : qu'est-ce qui fait réellement fonctionner cette petite boîte ? La réponse est la firme AxeOS — le « système nerveux » de l'appareil — responsable de piloter les puces ASIC (BM1366 / BM1368 / BM1370 / BM1373) pour effectuer le hachage SHA-256, tout en coordonnant la communication Wi‑Fi, les stratégies thermiques/ventilation et les poignées de main du protocole de pool.
Le code source sous-jacent s'appelle ESP-Miner et est hébergé à l'adresse github.com/bitaxeorg/ESP-Miner. ESP-Miner est un paquet de firme complet qui gère tout, de la communication bas niveau avec l'ASIC jusqu'à la mise en réseau.
Sous le capot, après le démarrage, AxeOS suit à peu près cette séquence :
- 💪 Test d'auto-diagnostic au démarrage (POST) : vérifie si l'ASIC répond correctement et lit la configuration du pool stockée dans la NVS (stockage non volatile).
- ➡️ Connexion Wi‑Fi : rejoint le réseau local via WPA2 et obtient une adresse DHCP ; en cas d'échec, bascule en mode point d'accès (hotspot SSID :
bitaxe) pour vous permettre de le configurer lors de la première utilisation. - 🔥 Poignée de main Stratum : établit une connexion TCP de longue durée vers le pool et complète les étapes d'authentification
mining.subscribe+mining.authorize. - ⚠️ Ordonnancement des tâches : l'ESP32-S3 transmet les travaux/blocs du pool à l'ASIC, qui recherche continuellement des Nonces valides à des débits exprimés en GH/s ou TH/s.
- ➡️ Rapport des résultats : lorsqu'un share (part) satisfaisant la difficulté cible est trouvé, il est soumis en retour via le protocole Stratum V1 — généralement avec une latence aller-retour bien inférieure à 30 ms.
La logique d'exécution repose essentiellement sur une architecture orientée événements + ordonnancement de tâches temps réel. Le noyau FreeRTOS d'ESP-IDF découpe l'exécution entre plusieurs tâches concurrentes : échantillonnage de température (~toutes les 500 ms via thermistance NTC), contrôle PWM du ventilateur, tâche du serveur HTTP et tâche du client Stratum. Cela permet au tableau de bord de rester réactif et de se rafraîchir en direct, même lorsque le mineur tourne à plein régime.
2、Fonctionnalités d'AxeOS ❓
Si l'on regarde la liste des fonctionnalités d'AxeOS, son objectif n'est pas seulement de « faire tourner la machine » — il cherche à pousser la contrôlabilité d'un mineur solo aussi loin que possible dans la pratique. Du réglage du hashrate et de la politique thermique aux mises à jour OTA, le fait de concentrer tout cela dans un système embarqué léger est étonnamment impressionnant. Les fonctionnalités principales peuvent être regroupées en trois couches :
❄️ Couche performances & réglages de puissance — la partie que les passionnés préfèrent ajuster. Depuis le Tableau de bord, vous pouvez régler la fréquence de fonctionnement de l'ASIC et sa tension de cœur (par exemple, sur un Bitaxe GT, la plage tourne autour de ~525 MHz et VCORE ~1,15 V ; ajuster ces deux paramètres ensemble permet de trouver le point idéal de stabilité selon votre refroidissement). Les valeurs par défaut officielles visent souvent ~625 MHz ; les retours de la communauté suggèrent que, tant que la puce reste sous ~70 °C, pousser un peu au-delà peut donner des gains notables — souvent cités autour de 8 %+ dans certaines configurations (cela dépend de votre matériel).
- 🔥 Fréquence et tension réglables indépendamment : modifiez les valeurs depuis l'interface web et appliquez sans nécessairement redémarrer complètement (selon le paramètre).
- 💪 Contrôle automatique PWM du ventilateur : adapte dynamiquement le rapport cyclique de 0 à 100 % selon la température de la puce ; vous pouvez également verrouiller un pourcentage manuel fixe.
- ➡️ Seuil de protection anti-surchauffe : plafond configurable (souvent réglé par défaut autour de 60–70 °C) ; déclenche un bridage/comportement protecteur si la limite est dépassée.
- ❓ Auto-récupération du hashrate : si le lien Stratum tombe, la firme réessaie avec un recul exponentiel (généralement à partir de ~5 s et jusqu'à ~60 s) pour se reconnecter automatiquement.
🏃 Les mises à jour OTA (Over-The-Air) sont un autre grand soulagement : vous n'avez pas besoin d'ouvrir le boîtier ni de manipuler USB/UART. Depuis le menu Paramètres du Tableau de bord, vous pouvez téléverser un fichier .bin, ou coller l'URL d'un asset GitHub Release pour le télécharger directement. Les mises à jour prennent généralement ~30–45 secondes, et le mécanisme de secours basé sur le bootloader aide à éviter de « briquer » l'appareil en cas de problème. La branche AxeOS v2.x (2024) a également introduit la prise en charge des graphiques LVGL pour les unités dotées d'un écran OLED/LCD local (ex. Bitaxe Supra).
Remarque : Les points de terminaison de l'API REST d'AxeOS (tels que GET /api/system/info, PATCH /api/system) ne sont pas chiffrés et sont destinés à un accès LAN uniquement. Si votre réseau domestique expose l'IP du mineur vers l'extérieur, appliquez des ACL au niveau du routeur ou des règles de pare-feu pour empêcher toute modification non autorisée.
3、Comment accéder au Tableau de bord AxeOS 🔥
Le premier obstacle le plus courant est simplement : « Je ne trouve pas l'IP. » Pas de panique — une fois que vous connaissez la procédure, c'est rapide. De la mise sous tension à l'affichage du Tableau de bord, cela peut prendre moins de 3 minutes une fois habitué.
Prérequis : votre Bitaxe GT et votre ordinateur/téléphone doivent être sur le même réseau local (LAN). La firme se fait annoncer via mDNS avec le nom d'hôte par défaut bitaxe.local, ce qui fonctionne nativement sur la plupart des systèmes macOS/Linux. Les utilisateurs Windows peuvent avoir besoin des services Apple Bonjour, ou alors consulter simplement l'IP depuis la liste des clients DHCP du routeur.
- ➡️ Configuration initiale (mode AP) : si le mineur ne s'est pas encore joint au Wi‑Fi, il crée un hotspot ouvert nommé bitaxe. Connectez-vous dessus, accédez à
192.168.88.195, saisissez le SSID/mot de passe de votre Wi‑Fi domestique, enregistrez et redémarrez. - 🔥 Accès en mode normal : après le redémarrage, le mineur rejoint votre réseau ; localisez son IP louée (page d'administration du routeur ou un scanneur comme Fing sur iOS/Android) et ouvrez cette IP dans votre navigateur, ex.
192.168.x.x. - 💪 Raccourci mDNS : sur les réseaux où mDNS est résolu, tapez simplement
http://bitaxe.localdans la barre d'adresse — fini la chasse à l'IP. - ❓ Si ça ne charge pas : vérifiez la bande — l'ESP32-S3 sur le Bitaxe GT utilise le 2,4 GHz ; il ne peut pas se connecter à un SSID en 5 GHz uniquement.
Le serveur HTTP du Tableau de bord écoute sur le port 80, implémenté avec le composant léger esp_http_server, et supporte plusieurs connexions simultanées (généralement cité autour de ≤ 4). Cela signifie que vous pouvez l'avoir ouvert à la fois sur un téléphone et un ordinateur portable et voir les données synchronisées en direct.
⚠️ Important : par défaut, le Tableau de bord n'a aucun mot de passe — tout appareil sur le même LAN peut afficher et modifier les paramètres. Sur les réseaux partagés (bureau, Wi‑Fi d'appartement, etc.), la mesure de sécurité recommandée consiste à restreindre l'accès à l'IP du mineur via les règles de pare-feu/ACL du routeur.
4、➡️ Vue d'ensemble du Tableau de bord
Lorsque le Tableau de bord AxeOS s'ouvre, vous n'êtes pas assailli de graphiques chaotiques ni de télémétrie écrasante. C'est un panneau unique, temps réel, épuré, avec les métriques clés disposées clairement et qui se rafraîchit environ toutes les deux secondes — regarder votre machine travailler est étrangement satisfaisant.
L'écran principal est généralement organisé en quatre zones fonctionnelles :
| Zone | Affichages clés | Plage typique |
|---|---|---|
| Panneau Hashrate | Hashrate actuel / moyenne sur 5 min / mini-graphique de tendance | 2400+ GH/s (conditions nominales BM1370) |
| Panneau Température | Temp. de la puce ASIC / temp. ambiante / RPM ventilateur | ASIC 50–70 °C ; ventilateur 1500–4500 RPM |
| État du Pool | État de connexion au pool / parts acceptées / taux de rejet | Taux de rejet sain généralement < 2 % |
| Infos Système | Temps de fonctionnement / version firme / IP / MAC | Peut tourner 720 h (30 jours)+ sans redémarrage nécessaire |

Une fois sur le panneau de contrôle AxeOS, voici ce que signifient les principales métriques :
- Hashrate : performance de minage actuelle, généralement affichée en TH/s (milliers de milliards de hachages par seconde).
- Efficacité (J/TH) : efficacité énergétique — combien de joules sont consommés par terahash de travail effectué.
- % Erreur (ou variance) : écart entre le hashrate observé et le hashrate nominal attendu, exprimé en pourcentage.
- Temp (Puce) : température mesurée de la puce ASIC en °C.
- Temp VR : température sur/autour des régulateurs de tension.
- Puissance (W) : consommation électrique totale en watts.
- Tension d'entrée (mV) : tension d'alimentation délivrée à la carte.
- Tension de cœur / VCORE (mV) : tension réellement fournie au cœur de l'ASIC.
- Vitesse ventilateur (RPM / %) : vitesse actuelle du ventilateur en RPM et/ou en rapport cyclique %.
- Parts acceptées : nombre de soumissions de parts valides confirmées par le pool.
- Parts rejetées / Travaux rejetés : soumissions rejetées par le pool (périmées, invalides ou mauvaise difficulté).
- Meilleure difficulté / Meilleure part : part au plus haut niveau de difficulté trouvée jusqu'ici dans cette session — le chiffre que tout le monde adore capturer en capture d'écran.
- Hauteur de bloc : dernière hauteur de bloc Bitcoin reportée par le pool.
- Difficulté du pool : difficulté cible actuellement assignée par le pool à votre worker.
- Temps de réponse / Latence : temps aller-retour pour la soumission d'une part au pool, en millisecondes.
- Temps de fonctionnement (Uptime) : depuis combien de temps le Bitaxe tourne depuis le dernier redémarrage.
- Graphique de hashrate : historique en double axe montrant les performances récentes (généralement jusqu'à ~1 heure d'échantillons ; l'intervalle/granularité dépend de la version, mis à jour souvent toutes les quelques secondes).
La page Paramètres est là où se trouvent les boutons actionnables : point de terminaison du pool (Stratum+TCP ou Stratum+SSL), fréquence, VCORE, mode ventilateur (Auto/Manuel) et le point d'entrée pour les mises à jour OTA. Après modification, cliquez sur Enregistrer et redémarrer — le mineur redémarre généralement et reprend le minage en environ 8 secondes, donc le temps d'arrêt du hashrate est court.
Le graphique de hashrate affiche par défaut couramment les 10 dernières minutes de données (intervalle d'échantillonnage d'environ 10 secondes). Des événements comme une reconnexion Stratum apparaissent souvent sous forme d'une brève chute/zéro facile à repérer visuellement. Notez également le champ Meilleure part : il suit la part au plus haut niveau de difficulté trouvée jusqu'ici dans cette session — plus le chiffre est gros, plus vous avez « frappé fort » avec vos nonces, et c'est l'une des statistiques les plus partagées dans la communauté.
D'un point de vue architectural, le frontend du Tableau de bord est en HTML + JavaScript pur, avec les ressources statiques empaquetées dans une partition SPIFFS (autour de ~200 Ko). Les données en direct sont récupérées via du polling REST plutôt que par WebSocket persistant, ce qui maintient la pression mémoire faible — la SRAM disponible de l'ESP32-S3 est d'environ 512 Ko, et l'utilisation du tas (heap) d'AxeOS sous charge se situe souvent autour de 60–80 Ko, laissant une marge de manœuvre pour la stabilité.
