Logo du projet fl3xbl0w

Contrôleur de Moteur du Tapis de Course - fl3xbl0w

Lancé le 28 mai 2022

Projet d'ingénierie inverse. A commencé avec le tapis de course Bowflex Treadmill 22 mais s'est généralisé pour tout appareil Android vendu par Nautilus Inc. (Nautilus, Bowflex, Schwinn).

Cela s’applique principalement au Treadmill 22 & Treadmill 56.

La carte de contrôle du moteur est fabriquée par Electronics Way Industry.

Contrôleur de Carte de Contrôle du Moteur B017D

Compte tenu du manuel de service fourni par Nautilus Inc. (sauvegarde sur archive.org) :

Schéma électrique du tapis de course

Et en se concentrant spécifiquement sur cette partie :

Chemin de communication du tapis de course

Nous pouvons identifier le “câble de communication” qui connecte le contrôleur du moteur comme étant un connecteur à 5 broches. Il n’y a qu’un seul connecteur à 5 broches. J’ai étiqueté les fils avec leurs couleurs correspondantes (les données & l’interrupteur sont opto-isolés) :

couleur du filétiquette
rougeGND
blancRXD
noirTXD
jaune+12
vertSW

La carte n’est pas connectée directement à la console Android.

Le seul connecteur à 5 broches est de la marque Molex. Une recherche Google pour “connecteurs Molex petits” m’a mené à une image de ce qu’ils appellent Molex Micro-Fit 3.0 Single Row (5-Pin), qui est utilisé pour connecter la carte de contrôle du moteur :

Connecteur Molex Micro-Fit 3.0

Lien AliExpress

En regardant dans NautilusLauncher.apk via jadx-gui, je peux voir qu’ils communiquent avec la tablette Android avec leur “Console Universelle” en utilisant Série à 230400 Bauds (en utilisant /dev/ttyS4). Ce n’est PAS ce que nous analysons ici. Cela se réfère à la communication entre Android et la “Console Universelle”. Nous enquêtons sur les comms entre la “Console Universelle” et la “Carte de Contrôle du Moteur”.

Essayer de connecter un ESP32 ou un pont série basé sur CH340 directement aux fils entre la base du tapis de course et la carte de contrôle Bowflex a fait que la base du tapis de course ne s’initialisait pas correctement, donc j’ai commencé à soupçonner qu’ils utilisent RS232.

Note : En se connectant seulement à GND et RXD, nous pouvons “voir” des informations hexadécimales apparemment aléatoires à 9600 bauds. Se connecter à TXD empêche la base du tapis de course de s’initialiser.

— À suivre, j’ai besoin de temps pour jouer avec mon nouvel analyseur logique —

Contenu traduit par gpt-4-1106-preview

©2022-2024 Sebastián Barrenechea. Tous droits réservés.

Construit avec Astro v4.15.9.