Skip to content

"Flasher" le smoothieware

Intro

Quelque soit la carte "Smoothieware-compatible" que l'on utilise, le principe d'utilisation est le même. Ici, on va présenter les choses pour notre carte SCMB mais c'est strictement comparable avec la emotronic ou la smoothieboard.

La prise en main du smoothieware, ici avec la SimpleCncMillBoard, n'a rien de complexe

Ce qu'il faut savoir avant de commencer

Les cartes pour Smoothieware et le firmware Smoothieware, c'est différent d'Arduino !

La première chose à bien comprendre :

  • Les cartes pour Smoothieware, dont la carte SimpleCncMillBoard, sont opensource/openhardware... mais ce ne sont pas des cartes Arduino : ce sont des cartes à processeur 32 bits type ARM Cortex A3 : les choses sont donc un peu différentes.
  • De même, le firmware Smoothieware est opensource, est écrit en C, mais n'est pas chargé dans la carte via le logiciel Arduino.

Pour dire les choses autrement, il s'agit de cartes à micro-contrôleur "classique", certes "évolué" mais "classique" en ce sens que cela n'a rien à voir avec le logiciel Arduino, les cartes Arduino, etc... C'est important de bien comprendre çà avant toute chose... car sinon, on mélange tout !

Principe du chargement et de la configuration du firmware

Le firmware Smoothieware est placé sur une carte SD, cette carte SD est mise en place sur la carte Smoothie et à la mise sous tension, le firmware est chargé depuis la carte SD au lancement de la carte.

Dans sa forme simple et minimale, pour fonctionner correctement, il faut placer sur la carte SD :

  • le fichier binaire, appelé firmware.bin : c'est le fichier exécutable du firmware lui-même
  • le fichier de configuration, appelé config.txt : c'est le fichier qui paramètre le firmware pour une carte précise et/ou un usage précis.

Lors du boot de la carte, à la mise sous tension (= lors de la connexion du câble USB) ou lors d'un reset (= lors d'un appui sur le BP reset) :

  • grâce au bootloader présent dans le microcontrôleur, le firmware est chargé dans la carte si le fichier est nommé firmware.bin, sinon le firmware déjà chargé précédemment est réutilisé.
  • le fichier de config.txt est lu par le firmware pour configurer le fonctionnement
  • Il fait savoir également que d'autres types de fichiers peuvent placés sur la carte SD pour configurer des actions à réaliser au boot, ce genre de chose, notamment le fichier on_boot.gcode. Voir ici à ce sujet : http://smoothieware.org/sd-card

Visuellement, cette séquence correspond à un clignotement successif des LEDs de la carte et après quelques secondes, la carte devient visible sur le système comme un volume.

Important à savoir

Une fois que le firmware sur la carte SD a été chargé, il est renommé firmware.CUR (pour "current" ) et une fois nommé ainsi, il n'est pas rechargé. Donc en clair, pour qu'il soit rechargé après une modif ou bien si vous utilisez la même carte SD sur une autre carte Smoothie, veillez à ce qu'il soit nommé firmware.bin avant de refaire un reboot. A noter que ceci peut devoir être fait sur PC si la carte est "vierge" et ne boote pas car le firmware est *.CUR

Principe de communication avec la carte

Les cartes pour Smoothieware, et donc la carte SimpleCncMillBoard, est une carte qui est connectée en USB à l'ordinateur de contrôle. La connexion USB ainsi établie pourra être utilisée de 2 façon :

  • soit être utilisée pour communiquer sur le port série,
  • soit être utilisée en tant que volume disque, en clair comme une clé USB, le volume accessible étant ici la carte SD de la carte Smoothie.

Pour info, cette fonctionnalité est implémentée en natif dans le micro-contrôleur présent sur la carte.

Attention : pas les 2 à la fois !

En pratique, il faudra faire soit l'un, soit l'autre : ou bien on accède au volume (uniquement pour des paramétrages), ou bien on communique en série. Stopper l'un avant de faire l'autre sous peine d'avoir des soucis de communication.

Passer à l'action

De quoi a-t-on besoin ?

Pour une première approche et à des fins de tests simples, on a besoin au minimum :

  • de la carte Smoothie utilisée, ici la Simple Cnc Mill Board
  • d'une carte microSD et de son adaptateur SD standard (avec la SCMB, le format est carte SD standard mais sur la smoothieboard ou la emotronic, c'est micro-SD)
  • d'un câble USB

Pour tester plus avant (optionnel dans une première approche), on aura besoin au moins :

  • d'un driver moteur externe (à moins d'utiliser un pololu présent sur la carte si disponible)
  • d'une alimentation 12V pour le driver
  • d'un moteur pas à pas

Préparer la carte SD

Carte SD de classe 10, c'est mieux !

Pour cette étape, une carte micro-SD de 4 Go (avec adaptateur) mais en classe 10 fera l'affaire

La première chose à faire est de préparer une carte SD sur laquelle il faudra copier :

Pour cela, simplement mettre la carte micro-SD sur son support SD standard et la mettre dans le lecteur de carte SD de votre ordinateur. Y placer les 2 fichiers.

Première connexion à la carte

Une fois fait :

  • retirer proprement le volume de votre ordinateur puis placer la carte SD dans son emplacement sur la carte Smoothie,
  • connecter le câble USB entre la carte et le PC

Les LEDs se mettent à clignoter puis après quelques secondes, vous devez voir que le volume est détecté par le système. Vous n'êtes pas obligé de le monter sur le système à ce stade : simplement, vous devez le voir apparaître.