Hack Sonic Pad de Creality – Debian

Avant toute choses , soyez conscient que le hack du Sonic Pad est à vos risque, ni moi ou Creality ne seront responsable en cas de problème.

Ce dont vous aurez besoin :

Avant de commencer , pensez a faire une sauvegarde de vos fichier de configuration  » printer.cfg »

1ere étape – Installation des drivers :

il va falloir passer le Pad en mode Burning.
Pour cela:
1- le pad doit être éteint.
2- placer votre pointe dans le trou le plus a droite et garder le bouton enfoncé
3- allumez le pad , seule la led verte dois s’allumer ( l’écran reste noir)

Emplacement du bouton du Sonic Pad pour le mode Burning

4 – branchez le câble USB sur le port camera et sur votre PC, dans votre gestionnaire de périphérique , vous devriez voir apparait un périphérique inconnue.

Périphérique inconnu dans le gestionnaire de périphériques Windows

Faite un clic droit et sélectionnez > Parcourir mon poste de travail pour rechercher des pilotes

Recherche de pilotes sur l'ordinateur dans Windows

donnez le chemin vers le dossier PhoenixSuit_V1.10\Drivers et faites Suivant

Choix du dossier des pilotes PhoenixSuit
Installation du pilote USB du Sonic Pad

Voila , le Pad peu maintenant être flashé 😉

Pilote installé, le Sonic Pad est prêt à être flashé


2eme étape : Flash du pad

Dans le dossier Tools fourni par Creality , lancez PhoenixSuit
Dans l’onglet Firmware , donnez le chemin de la nouvelle image pour votre pad « t800-sonic-debian« 

Logiciel PhoenixSuit avec l'image Debian du Sonic Pad

Vous pouvez maintenant lancez votre pad en mode Burning comme expliqué dans la première étape (trombone + power 😉 )
Et si tout va bien , vous devriez avoir ceci sur l’écran :

Confirmation du flash dans PhoenixSuit

un petit YES et le flash se lance

Progression du flash du Sonic Pad dans PhoenixSuit

une fois terminé (+- 4min) , le Pad se relancera automatiquement , et vous devriez avoir le beau logo Debian s’afficher à l’écran

Logo Debian affiché sur l'écran du Sonic Pad

3eme étape : Wifi + configuration de Klipper grâce a Kiauh

Rendez-vous dans un premier temps sur le pad : MENU > Network > Wifi
un ptit clic sur la flèche de votre réseaux pour lui donner le password .
Une fois connecté , vous y trouverai l’adresse IP du pad  » si vous ne voyez pas l’adresse ip s’afficher , faite un retour arriere et revenez sur wifi , cela devrais être bon cette fois »

passons maintenant à la configuration de Klipper , de base si vous tapez l’adresse ip de votre pad dans le navigateur , il ne se passe rien , et c’est normal 😉 il n’y a de base aucune interface installé.
Nous allons donc devoir le faire en SSH , avec Putty , mobaxterm , …
Vous allez avoir aussi besoin du login et password mis a dispo sur la release que vous avez téléchargez : Login: sonic ; password : pad

Connexion SSH au Sonic Pad avec MobaXterm

première choses à faire , étendre la partition pour que tout l’espace sois dispo et une petite mise a jour de Debian :

sudo resize2fs /dev/mmcblk0p5
sudo apt-get update && sudo apt-get install git -y
sudo reboot

premier lancement de Kiauh

./kiauh/kiauh.sh

Si une mise a jour est dispo , faites Y et relancer ensuite la commande

Menu principal de l'outil Kiauh dans le terminal

Par défaut , il y a une session klipper installé , sans interface

Klipper déjà installé par défaut sans interface, vu dans Kiauh

Vous pouvez simplement installer Mainsail ou fluid , mais bon , vous avez surement comme moi plusieurs imprimantes à brancher ?
Dans ce cas la , il va falloir supprimer Klipper et Moonraker pour refaire une belle installation multisession
– Menu 3 : Remove

Menu Remove de Kiauh pour supprimer Klipper et Moonraker

On va donc supprimer :
1 Klipper – 2 Moonraker

Kiauh après suppression de Klipper et Moonraker

il n’y a donc plus rien , on va pouvoir relancer une belle installation
On commence avec Klipper en laissant le choix recommandé pour la version de Python

Installation de Klipper avec Kiauh, choix de la version Python

il va falloir aussi maintenant lui donner le nombre de session que nous allons avoir besoin , et au passage pourquoi pas leur donner des nom facilement reconnaissable

Choix du nombre et du nom des sessions Klipper dans Kiauh

une fois terminé , idem pour 2- Moonraker , 3- Mainsail ou 4- Fluid et 12 – crowsnest
apres quelques Yes , reboot …

Kiauh affichant deux instances Klipper et Moonraker installées

vous devriez voir dans Kiauh , 2 Klipper et 2 moonraker installé

la dernière choses à installer sont les dépendance pour utiliser l’adxl

sudo apt install avrdude gcc-avr binutils-avr avr-libc stm32flash binutils-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib gcc-arm-none-eabi

maintenant vous pouvez vous rendre sur votre navigateur ou la vous allez pouvoir ajouter vos imprimantes

renseigner comme ceci :
Adresse ip du pad et ensuite le port 7125 pour la première , 7126 pour la seconde , ect …

Ajout d'une imprimante dans Mainsail avec IP et port


Interface Mainsail avec plusieurs imprimantes configurées
Interface Mainsail d'une imprimante prête à configurer

Maintenant comme je suis sure que vous avez suivis mon conseil de faire une sauvegarde de votre config , vous pouvez vous rendre dans > Machine , ouvrir le fichier printer.cfg pour y coller votre propre config
Gardez uniquement les premières lignes qui corresponde a votre interface mainsail ou fluid , le virtual-sdcard (avec le nom de votre session)

[include mainsail.cfg]
[virtual_sdcard]
path: /home/sonic/MaxNeo_data/gcodes
on_error_gcode: CANCEL_PRINT

Vous devrez aussi changer le nom du serial dans la partie [mcu ]
Pour cela utilisez la commande

ls /dev/serial/by-path/*


et remplacer le /dev/serial/by-id/usb_serial_2 par /dev/serial/by-path/platform-5200000.ehci1-controller-usb-0:1.2:1.0-port0 – avec le nom de votre serial évidement 😉
Le reste vous pouvez simplement le coller dessous (mais n’oubliez pas par contre de supprimer votre virtual-sdcard )

Une fois sauvegardé et relancé , voila une imprimante de faites 😉

Interface Mainsail avec l'imprimante connectée au Sonic Pad

Pour ce qui est du theme , je vous laisse regarder l’article : Créer votre propre thème pour Klipper

Pour le Multicam

Interface Mainsail avec la vue de la caméra

Il va falloir pour cela passer par le SSH , car le fichier à modifier touche toutes vos session

Si vous utilisez Mobaxterm , il vous sera très facile d’éditer le fichier directement sur le pad , rendez-vous dans le répertoire /home/sonic/printer_data/config/
et ouvrez le fichier : crowsnest.conf

Repérez la section cam 1 que vous allez simplement copier et coller dessus
Changez le cam 1 en Cam 2
Le port 8080 en port 8081

[cam 1]
mode: ustreamer                         # ustreamer - Provides mjpg and snapshots. (All devices)
                                        # camera-streamer - Provides webrtc, mjpg and snapshots. (rpi + Raspi OS based only)
enable_rtsp: false                      # If camera-streamer is used, this enables also usage of an rtsp server
rtsp_port: 8554                         # Set different ports for each device!
port: 8080                              # HTTP/MJPG Stream/Snapshot Port
device: /dev/video0                     # See Log for available ...
resolution: 720x480                     # widthxheight format
max_fps: 25                            # If Hardware Supports this it will be forced, otherwise ignored/coerced.
#custom_flags:                          # You can run the Stream Services with custom flags.
#v4l2ctl:                               # Add v4l2-ctl parameters to setup your camera, see Log what your cam is capable of.

[cam 2]
mode: ustreamer                         # ustreamer - Provides mjpg and snapshots. (All devices)
                                        # camera-streamer - Provides webrtc, mjpg and snapshots. (rpi + Raspi OS based only)
enable_rtsp: false                      # If camera-streamer is used, this enables also usage of an rtsp server
rtsp_port: 8554                       # Set different ports for each device!
port: 8081                              # HTTP/MJPG Stream/Snapshot Port
device: /dev/video1                     # See Log for available ...
resolution: 720x480                     # widthxheight format
max_fps: 25                            # If Hardware Supports this it will be forced, otherwise ignored/coerced.
#custom_flags:                          # You can run the Stream Services with custom flags.
#v4l2ctl:                               # Add v4l2-ctl parameters to setup your camera, see Log what your cam is capable of.

Dans votre interface , vous allez maintenant pouvoir définir quel camera va avec quel imprimante en modifiant les URL de cette maniere :
/webcam/?action=stream en /webcam2/?action=stream & /webcam/?action=snapshot en /webcam2/?action=snapshot

Réglage des URL de la seconde caméra dans Mainsail

4eme étape : KlipperScreen

Dernière choses maintenant à faire , rendre les imprimante disponible sur l’écran
Go en SSH et éditer le fichier : /home/sonic/KlipperScreen/ks_includes/defaults.conf
et y ajouter les ligne suivante :


[main]

default_printer: MaxNeo
use_default_menu: True
# Define printer and name. Name is anything after the first printer word

[printer MaxNeo]
# Define the moonraker host/port if different from 127.0.0.1 and 7125
moonraker_host: 127.0.0.1
# ports 443 and 7130 will use https/wss
moonraker_port: 7125
# Moonraker API key if this is not connecting from a trusted client IP
moonraker_api_key: False

[printer X5SA]
# Define the moonraker host/port if different from 127.0.0.1 and 7125
moonraker_host: 127.0.0.1
# ports 443 and 7130 will use https/wss
moonraker_port: 7126
# Moonraker API key if this is not connecting from a trusted client IP
moonraker_api_key: False

Adaptez les lignes selon votre config

KlipperScreen sur le Sonic Pad avec le choix des imprimantes

5eme étape : ADXL

il va falloir maintenant installer les composant de votre ADXL pour que celui-ci soit pris en compte.

il n’y a pas de grande différence avec l’installation sur Raspi que j’avais déjà expliqué dans cette article : installation-un-adlxr-dans-klipper
il y a juste quelque petite choses en moins. vous pouvez simplement copier-coller les ligne de code pour l’installation.

Installation de Mumpy :

sudo apt update
sudo apt install python3-numpy python3-matplotlib libatlas-base-dev
~/klippy-env/bin/pip install -v numpy

Installation du MCU

cd ~/klipper/
sudo cp ./scripts/klipper-mcu.service /etc/systemd/system/
sudo systemctl enable klipper-mcu.service
cd ~/klipper/
make menuconfig

Retirer la sélection de « Enable extra low-level …. «  si il y a la petite etoile , et choisisez : Linux Process comme micro-controller

Menuconfig Klipper avec Linux Process comme microcontrôleur

quittez le menu et dans la console :

sudo service klipper stop
make flash
sudo service klipper start

le process est plutôt long ….

Vous ne pouvez activer l’adxl que dans une session à la fois.
Je vous conseille donc de créer un fichier adxl.cfg et de coller le code :

[mcu rpi]
serial: /tmp/klipper_host_mcu

[adxl345]
cs_pin: rpi:None
spi_speed: 2000000
spi_bus: spidev2.0

[resonance_tester]
accel_chip: adxl345
accel_per_hz: 70
probe_points:
      150,150,10

Dans votre printer.cfg
Ajoutez la ligne :

[include adxl.cfg] 

une fois utilisé , placez simplement le symbole : # devant votre include pour qu’il ne soit plus pris en charge et eviter des erreurs de connnection entre les machine.

Relancez bien le tout , surtout klipper ; une fois fait vous pouvez tester si l’adxl fonctionne en tapant la commande suivante.
ACCELEROMETER_QUERY
Ce qui devrait vous donnez un resultat du genre :

Résultat de la commande ACCELEROMETER_QUERY dans Klipper

Voici le moment de tester votre machine. Commencez par un home.
vous pouvez maintenant lancer le test de résonnance selon le type de machine


Pour les delta :
 
SHAPER_CALIBRATE

Pour les cartésienne : 

SHAPER_CALIBRATE AXIS=Y ou X selon l'endroit ou se trouve votre ADLXR