# Mblock 5 pour l'animation STEM



# Création de blocs d'extensions aevc mBlock 5 Extension Builder

Voir [https://forum.makeblock.com/t/how-to-add-an-extension-for-mblock/2280](https://forum.makeblock.com/t/how-to-add-an-extension-for-mblock/2280)

Mblock est normalement installé dans `C:\ProgramData`

Sur mon PC il est installé dans `C:\Users\USER\mblock` (voir aussi dans `C:\Users\Public\Programs`

Les extensions sont installées dans : `C:\Users\USER\mblock\exts`

Les sources sont en JavaScript... Il faut trouver comment remonter aux sources C (fichiers .c et .h) qui appellent les librairies dont dépendent les blocs de programmation et définissent le code C équivalent à chaque bloc. A défaut, trouver si les fournisseurs de l'extensions ont mis le code source sur une forge logicielle publique.

### Création de nouveau bloc avec mBlock 5 Extension Builder

<div class="page-content clearfix" component="page-display" id="bkmrk-cr%C3%A9er-un-compte-sur-" option:page-display:page-id="341"><div class="page-content clearfix" component="page-display" option:page-display:page-id="341"><div dir="auto"><div style="clear: left;">  
</div>- Créer un compte sur [https://ext.mblock.cc/](https://ext.mblock.cc/)
- Une bonne documentation existe en Anglais : [https://www.yuque.com/makeblock-help-center-en/extension-builder](https://www.yuque.com/makeblock-help-center-en/extension-builder)
- Mais elle n'explique pas comment créer un bloc qui fait appel à une librairie externe non disponible dans mBlock. Voir prochain paragraphe -&gt; Maintenant si : [https://www.yuque.com/makeblock-help-center-en/extension-builder/arduino-add-third-party-library](https://www.yuque.com/makeblock-help-center-en/extension-builder/arduino-add-third-party-library)

</div></div></div>### Avec des librairies de dépendance

[https://support.makeblock.com/hc/en-us/articles/15264543414935-Example-Arduino-Add-a-Third-party-Library-for-an-Arduino-Extension](https://support.makeblock.com/hc/en-us/articles/15264543414935-Example-Arduino-Add-a-Third-party-Library-for-an-Arduino-Extension)

[https://www.yuque.com/makeblock-help-center-en/extension-builder/arduino-add-third-party-library](https://www.yuque.com/makeblock-help-center-en/extension-builder/arduino-add-third-party-library)

Pour inspiration, on importe une librairie existante :

[![image.png](https://innovation.iha.unistra.fr/uploads/images/gallery/2025-04/scaled-1680-/1Ffimage.png)](https://innovation.iha.unistra.fr/uploads/images/gallery/2025-04/1Ffimage.png)

Pour créer une nouvelle librairie :

[![image.png](https://innovation.iha.unistra.fr/uploads/images/gallery/2025-04/scaled-1680-/2a2image.png)](https://innovation.iha.unistra.fr/uploads/images/gallery/2025-04/2a2image.png)

[![image.png](https://innovation.iha.unistra.fr/uploads/images/gallery/2025-04/scaled-1680-/MZHimage.png)](https://innovation.iha.unistra.fr/uploads/images/gallery/2025-04/MZHimage.png)

Scroller jusqu'en bas et importer un dossier `src` contenant les fichiers `.h` et `.cpp` de votre lib

[![image.png](https://innovation.iha.unistra.fr/uploads/images/gallery/2025-04/scaled-1680-/IZ4image.png)](https://innovation.iha.unistra.fr/uploads/images/gallery/2025-04/IZ4image.png)

### Publier un block

[https://www.yuque.com/makeblock-help-center-en/extension-builder/how-to-publish](https://www.yuque.com/makeblock-help-center-en/extension-builder/how-to-publish)

[https://www.yuque.com/makeblock-help-center-en/extension-builder/publishing-criteria](https://www.yuque.com/makeblock-help-center-en/extension-builder/publishing-criteria)

### Sources

<div class="page-content clearfix" component="page-display" id="bkmrk-introduction-extensi" option:page-display:page-id="341"><div dir="auto">- Introduction Extension Builder et usage basique : [https://www.yuque.com/makeblock-help-center-en/extension-builder](https://www.yuque.com/makeblock-help-center-en/extension-builder)
- Comment ajouter un bloc qui fait appel à une librairie qui n'est pas dispo dans mBlock ? [https://support.makeblock.com/hc/en-us/articles/15264543414935-Example-Arduino-Add-a-Third-party-Library-for-an-Arduino-Extension](https://support.makeblock.com/hc/en-us/articles/15264543414935-Example-Arduino-Add-a-Third-party-Library-for-an-Arduino-Extension)

</div></div>

# Création d'une extension pour Mblock pour une carte type arduino

Pour l'exemple, nous allons créer une extension Mblock pour un servo-moteur 360° à rotation continue.

Ouvrir Mblock et aller dans le menu des extensions.

[![capture1.PNG](https://innovation.iha.unistra.fr/uploads/images/gallery/2025-03/scaled-1680-/capture1.PNG)](https://innovation.iha.unistra.fr/uploads/images/gallery/2025-03/capture1.PNG)

Cliquer sur "Créer une nouvelle extension". Cela vous ouvre une page dans le navigateur.

[![Capture2.PNG](https://innovation.iha.unistra.fr/uploads/images/gallery/2025-03/scaled-1680-/capture2.PNG)](https://innovation.iha.unistra.fr/uploads/images/gallery/2025-03/capture2.PNG)

> Ci un message d'erreur s'affiche dans votre navigateur et que vous ne pouvez pas utiliser l'éditeur d'extension mblock. Ouvrez L'IDE mblock en ligne via ce lien : [https://ide.mblock.cc/](https://ide.mblock.cc/) et recommencez les étapes ci-dessus

Initialement le site est en chinois. Pour mettre le site en français il vous suffit d'utiliser le traducteur intégrer dans votre moteur de rechercher Avec Google Chrome, aller dans les paramètres puis "Traduire".

[![Capture3.png](https://innovation.iha.unistra.fr/uploads/images/gallery/2025-03/scaled-1680-/capture3.png)](https://innovation.iha.unistra.fr/uploads/images/gallery/2025-03/capture3.png)

Cliquez sur "Mes plugins" &gt; "Mes extension" &gt; "Créer une nouvelle extension"

[![Capture4.PNG](https://innovation.iha.unistra.fr/uploads/images/gallery/2025-03/scaled-1680-/capture4.PNG)](https://innovation.iha.unistra.fr/uploads/images/gallery/2025-03/capture4.PNG)

Sélectionner la case "Modèles prédéfinis Arduino" puis valider. Saisissez ensuite un nom pour votre extension puis validez.

Vous arrivez maintenant sur cette onglet :

[![Capture5.PNG](https://innovation.iha.unistra.fr/uploads/images/gallery/2025-03/scaled-1680-/capture5.PNG)](https://innovation.iha.unistra.fr/uploads/images/gallery/2025-03/capture5.PNG)

Cliquez sur cette icone

![Capture6.PNG](https://innovation.iha.unistra.fr/uploads/images/gallery/2025-03/scaled-1680-/capture6.PNG)

# Animation avec un bloc non publié

Ouvrir l'IDE de test de l'extension et récupérer l'URL du type

[https://ide.mblock.cc/preview.html#/?extId=39817](https://ide.mblock.cc/preview.html#/?extId=39817)

Connexion au PC

Ouvrir Chrome  
sélectionner DuckduckGo

ide.mblock.cc  
skip  
etudiant1@fablab-alsacenord.fr  
etudiantfablab1  
[https://ide.mblock.cc/preview.html#/?extId=39817](https://ide.mblock.cc/preview.html#/?extId=39817)