# Snap! und Calliope

**URL:** <https://forum.calliope.cc/t/snap-und-calliope/2928>\
**Category:** Hardware Fragen und Probleme\
**Created:** [9. Juli 2024 um 18:51 UTC](https://forum.calliope.cc/t/snap-und-calliope/2928 "2024-07-09T18:51:54Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![ralf.krause](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.calliope.cc/ralf.krause/32/30_2.png) [@ralf.krause](https://forum.calliope.cc/u/ralf.krause)\
**Post date:** [9. Juli 2024 um 18:51 UTC](https://forum.calliope.cc/t/snap-und-calliope/2928/1 "2024-07-09T18:51:54Z")

</div>

Snap! ist eine Programmiersprache, die sich als Weiterentwicklung von Scratch versteht. [https://de.wikipedia.org/wiki/Snap!\_(Programmiersprache)](https://de.wikipedia.org/wiki/Snap!_(Programmiersprache))

Die Programmierung findet im Browser statt und ist unter der Webadresse [https://snap.berkeley.edu/snap/snap.html](https://snap.berkeley.edu/snap/snap.html) zu finden. Die Basisblöcke sind identisch mit Scratch, so dass sich eigentlich jeder, der Scratch kennt, sofort auch in Snap! programmieren kann. Der erweiterte Sprachumfang von Snap! hat es allerdings in sich! Ach ja, Snap! ist natürlich Open Source.

Neben dem erweiterten Sprachumfang gibt es aber auch interessante Hardware-Erweiterungen für Snap! [https://snap.berkeley.edu/extensions](https://snap.berkeley.edu/extensions)  
Die wohl bekannteste Erweiterung ist Snap4Arduino (S4A). Angefangen haben die Programmierer/innen aus Catalonien bereits 2014 mit S4A. [https://s4a.cat](https://s4a.cat) Schon sehr bald sind sie von Scratch 1.4 auf Snap! als Basis für ihre Software umgestiegen. [https://snap4arduino.rocks](https://snap4arduino.rocks).

Aber warum hole ich so weit aus? Ja, ich würde gerne mit Snap! eine Programmiermöglichkeit für den Calliope haben wollen. 🙂 Für den Micro:bit gibt es übrigens eine Ansteuerung mit Snap!. Leider funktioniert die nicht 1:1 mit dem Calliope. Und leider handelt es sich bei dem Projekt im eine öffentlich gefördertes Projekt, dessen Source Code wohl nicht öffentlich verfügbar ist. Für die Software, die zur Verbindung mit Snap! auf den Micro:bit geladen werden muss, habe ich jedenfalls keinen Source Code gefunden. Aber vielleicht geht es ja einfacher als ich denke.

Mein Beispiel zur Ansteuerung des Micro:bit stelle ich gerne hier zur Verfügung. [https://snap.berkeley.edu/snap/snap.html#present:Username=machmitnetz&ProjectName=MicrobitStarterProject&editMode&noRun&lang=de](https://snap.berkeley.edu/snap/snap.html#present:Username=machmitnetz&ProjectName=MicrobitStarterProject&editMode&noRun&lang=de)

Der Micro:bit braucht dafür die Software von Birdbrian Technologies [https://www.birdbraintechnologies.com/downloads/installers/BBTFirmware.hex](https://www.birdbraintechnologies.com/downloads/installers/BBTFirmware.hex)

Lässt sich die Programmierung mit Snap! auf den Calliope übertragen? Es wäre toll!

Beste Grüße  
Ralf

 ![Snap-und-Microbit](https://canada1.discourse-cdn.com/flex027/uploads/calliope/original/2X/c/ca04290417f09d75e16d9e764b90e1f47ebdde72.jpeg)

---

<div class="post-metadata">

**Author:** ![Peter](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.calliope.cc/peter/32/2726_2.png) [@Peter](https://forum.calliope.cc/u/Peter)\
**Post date:** [16. Juli 2024 um 06:58 UTC](https://forum.calliope.cc/t/snap-und-calliope/2928/2 "2024-07-16T06:58:37Z")

</div>

Snap ist großartig. Der Entwickler von Snap4Arduino ist auch Mitentwickler von MicroBlocks, aber auch von Beetleblocks und anderen Snap! Bibliotheken. Beetleblocks werden bald als Bibliothek im kommenden Snap v10 verfügbar sein. Ich denke, dass dies um Snap!shot 2024 herum veröffentlicht wird.

Snap!shot findet online statt, aber die Leute, darunter auch ich, gehen auch nach Walldorf, in die SAP-Zentrale.

Man kann von Snap aus mit einem micro:bit, calliope mini, ESP32, Raspberry Pico etc. kommunizieren, dafür benötigt man aber zum Beispiel MicroBlocks, die die Kommunikation zwischen Mikrocontroller und Snap! gewährleisten. Das konnte man an den Beispielen sehen, die ich im Forum gepostet habe. In meinen Beispielen erfolgt diese Kommunikation über BLE.

---

<div class="post-metadata">

**Author:** ![ralf.krause](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.calliope.cc/ralf.krause/32/30_2.png) [@ralf.krause](https://forum.calliope.cc/u/ralf.krause)\
**Post date:** [16. Juli 2024 um 15:43 UTC](https://forum.calliope.cc/t/snap-und-calliope/2928/3 "2024-07-16T15:43:01Z")

</div>

Hallo Peter,  
ich habe den Beitrag geschrieben, weil es für dem Micro:bit eine Software gibt, bei der eben der Micro:bit alleine mit Snap! Interagiert. Auf den Micro:bit wird eine Firmware geladen, die die die Platine mit Snap! koppelt und die Befehle von Snap! überträgt. Ja, zwischengeschaltet ist noch ein Javascript-Paket, das in das Snap!-Projekt eingebaut ist. Ja, es macht Spaß, wenn der Micro:bit und Snap! kommunizieren. Wer steuert wen?

Genau so wird es auch für Snap4Arduino gemacht. Snap4Arduino funktioniert mit allen Arduino-Boards, die [Firmata oder SA5Firmata](https://github.com/jguille2/SA5/blob/master/README.md) geladen haben.

Mir geht es darum, dass die Programmierumgebung für Einsteiger geeignet ist. Ich denke, dass die Hürde mit der gleichzeitigen Verwendung zweier Programme Snap! und MicroBlocks zu hoch ist, um Einsteiger einzufangen.

Beste Grüße  
Ralf

---

<div class="post-metadata">

**Author:** ![ralf.krause](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.calliope.cc/ralf.krause/32/30_2.png) [@ralf.krause](https://forum.calliope.cc/u/ralf.krause)\
**Post date:** [17. Juli 2024 um 05:14 UTC](https://forum.calliope.cc/t/snap-und-calliope/2928/4 "2024-07-17T05:14:55Z")

</div>

Hier ist ein Beitrag aus dem Jahr 2020, der den Micro:bit wohl mit MicroBlocks und Snap! steuert, wobei ich den MicroBlocks-Code nicht finden konnte.

> **[SNAP! running micro:bit running microBlocks (subset of blocks)](https://forum.snap.berkeley.edu/t/snap-running-micro-bit-running-microblocks-subset-of-blocks/1964)**
>
> microBit-n-microBlocksInSNAP (Shared via SNAP Cloud) Playing around in all three environments prompted me to write this conglomeration. It is not as full-featured as any of the three, but still may provide an intro to those who have not dealt...

Aus dem Jahr 2022 stammt der Beitrag, bei dem ein Snap!-Connector mit Firmware.hex und Javascript-Library beschrieben wird. Die ebenfalls verlinkte Präsentation auf YouTube zu Snap! und Micro:bit stammt von der Snap!Con 2022.

> **[Snap! connector for micro:bit: HEX and library for BLE access to all GPIOs](https://forum.snap.berkeley.edu/t/snap-connector-for-micro-hex-and-library-for-ble-access-to-all-gpios/11524)**
>
> Just realized that I had never posted the work that our NSF project has done to enabling folks to access all the ports on the micro:bit using open source resources. The aim of our work was to allow anyone to freely use a low cost breakout board...

[https://www.youtube.com/watch?v=MBlvIzC7Lxc](https://www.youtube.com/watch?v=MBlvIzC7Lxc)

Der Snap!-Connector für Micro:bit wurde offensichtlich mit Unterstützung der National Science Foundation finanziert, ist aber bereits kurze Zeit nach Abschluss des Projekts unter den genannten Adressen nicht mehr verfügbar. Ist der Snap!-Connector für Micro:bit wirklich Open Source, so dass man ihn für den Calliope mini anpassen kann? Wo finde ich den entsprechenden Quellcode?

Über den Link [https://snap.berkeley.edu/extensions](https://snap.berkeley.edu/extensions) am unteren Rand der Startseite gelangt man zu zahlreichen Snap!-Erweiterungen. Die Materialien zum Micro:bit werden jetzt von der Firma BirdBrain Technologies für deren Produkt Hummingbird angeboten.

> **[Snap! Course - BirdBrain Technologies](https://learn.birdbraintechnologies.com/professional-development/video-courses/hummingbirdbit/snap/2)**

Aus Sicht des Informatiklehrers muss ich sagen, dass wir für die Schule einen solchen Snap!-Connector für den Calliope mini brauchen, wenn Snap! als Programmierumgebung in Frage kommen soll. Mit MicroBlocks kann gezeigt werden, was möglich ist. Aber handhabbar mit 20 Calliope im Unterricht scheint mir nur eine installierbare Firmware zu sein, um sich dann ablenkungsfrei mit der Snap!-Programmierung zu beschäftigen.

Beste Grüße  
Ralf

---

<div class="post-metadata">

**Author:** ![Peter](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.calliope.cc/peter/32/2726_2.png) [@Peter](https://forum.calliope.cc/u/Peter)\
**Post date:** [17. Juli 2024 um 08:00 UTC](https://forum.calliope.cc/t/snap-und-calliope/2928/5 "2024-07-17T08:00:00Z")

</div>

Mittlerweile hat sich bei Snap einiges verändert und auch bei MicroBlocks. Beide Parteien arbeiten eng zusammen.

Was Sie möchten, ist möglich. Sie können einen Calliope mit MicroBlocks genau so programmieren, wie Sie es möchten. Sie geben Ihren Schülern dieses Calliope, damit sie es in Ihrem Unterrichtsprogramm mit Ihren Schülern verwenden können. Sie brauchen keine MicroBlocks mehr, sondern nur noch Snap!. Für eine weitere Lektion muss der Calliope möglicherweise andere Dinge tun, sodass Sie ihn erneut mit MicroBlocks vorbereiten können. Etwas später können die Schüler beginnen, sowohl MicroBlocks als auch Snap zu verwenden.

Gehst du zum Snap!shot in Walldorf? Dann können wir dort weiter diskutieren und experimentieren und uns bei Bedarf mit den Machern von Snap! beraten.

---

<div class="post-metadata">

**Author:** ![ralf.krause](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.calliope.cc/ralf.krause/32/30_2.png) [@ralf.krause](https://forum.calliope.cc/u/ralf.krause)\
**Post date:** [17. Juli 2024 um 08:57 UTC](https://forum.calliope.cc/t/snap-und-calliope/2928/6 "2024-07-17T08:57:47Z")

</div>

Hallo Peter,  
mittlerweile habe ich zusätzliche Infos gefunden, die mich hoffen lassen.

> **[MicroBlocks to Snap! Bridge](https://wiki.microblocks.fun/en/snap/snap_bridge)**
>
> How to use the Snap!Bridge program to communicate between MicroBlocks and Snap!

In seiner Präsentation bei der Snap!Con2023 zeigt John Maloney ausführlich die Verbindung zwischen MicroBlocks und Snap!, und zwar am Beispiel des Micro:bit. John weist ausdrücklich darauf hin, dass MicroBlocks und Snap! nicht gleichzeitig versuchen sollten, auf die USB-Schnittstelle zuzugreifen.  
[https://www.youtube.com/watch?v=ONr9\_Mpw4bM](https://www.youtube.com/watch?v=ONr9_Mpw4bM)

Mit der Dokumention im MicroBlocks-Wiki und der Präsentation gelingt es mir, die gezeigten Dinge auf dem Micro:bit selber auszuprobieren. Der Einstieg sieht gut aus! Vermutlich muss ich den MicroBlocks-Code ändern, damit die Snap!Bridge auch mit dem Calliope mini funktioniert.

Natürlich bin ich anspruchsvoll … gibt es irgendwo Infos, wie diese Snap!Bridge kabellos über Bluetooth funktionieren kann?

Ralf

---

<div class="post-metadata">

**Author:** ![Peter](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.calliope.cc/peter/32/2726_2.png) [@Peter](https://forum.calliope.cc/u/Peter)\
**Post date:** [17. Juli 2024 um 09:45 UTC](https://forum.calliope.cc/t/snap-und-calliope/2928/7 "2024-07-17T09:45:52Z")

</div>

Die Entwicklung von MicroBlocks geht zügig voran, die BLE-Option kam erst 2024 hinzu, sodass auch die Snap Bridge in mancher Hinsicht veraltet ist.

Jetzt benötigen Sie nur noch die MicroBlocks-Bibliothek in Snap und einen Mikrocontroller, der über BLE arbeiten kann, wie zum Beispiel den Calliope Mini 3.

Das BLE-System funktioniert daher nur in einem Chrome-Browser. Es ist jedoch möglich, über Snap und MicroBlocks gleichzeitig mit dem Mikrocontroller verbunden zu sein.

---

<div class="post-metadata">

**Author:** ![Peter](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.calliope.cc/peter/32/2726_2.png) [@Peter](https://forum.calliope.cc/u/Peter)\
**Post date:** [17. Juli 2024 um 09:52 UTC](https://forum.calliope.cc/t/snap-und-calliope/2928/8 "2024-07-17T09:52:38Z")

</div>

Ich habe kein Problem damit, mir Gedanken über die Erstellung von Aufgaben für Studierende oder die Durchführung von Tests zu machen. Ich bin auch ein CoderDojo-Champion in den Niederlanden, sodass ich die Aufgaben nach der Übersetzung möglicherweise selbst verwenden kann.

---

<div class="post-metadata">

**Author:** ![Peter](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.calliope.cc/peter/32/2726_2.png) [@Peter](https://forum.calliope.cc/u/Peter)\
**Post date:** [18. Juli 2024 um 14:55 UTC](https://forum.calliope.cc/t/snap-und-calliope/2928/9 "2024-07-18T14:55:57Z")

</div>

@ralf.krause Dieser Artikel könnte für Sie sehr interessant sein [MicroBlocks Client for Snap! - 夜行人](https://wwj718.github.io/post/programming/snap-microblocks-client-en/)

---

<div class="post-metadata">

**Author:** ![ralf.krause](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.calliope.cc/ralf.krause/32/30_2.png) [@ralf.krause](https://forum.calliope.cc/u/ralf.krause)\
**Post date:** [27. August 2024 um 16:06 UTC](https://forum.calliope.cc/t/snap-und-calliope/2928/10 "2024-08-27T16:06:14Z")

</div>

Hi Peter,  
die Beschreibung für die Verbindung zwischen MicroBlocks und Snap! Ist für den Micro:bit geschrieben. [https://wiki.microblocks.fun/en/snap/snap\_bridge](https://wiki.microblocks.fun/en/snap/snap_bridge)

Kannst du mir bitte sagen, was ich in der Datei microblocks\_bridge\_v1.3.xml ändern muss, damit alle Eingänge, Ausgänge und Sensoren des Calliope 3 richtig angesteuert werden.

Beste Grüße  
Ralf

---

<div class="post-metadata">

**Author:** ![Peter](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.calliope.cc/peter/32/2726_2.png) [@Peter](https://forum.calliope.cc/u/Peter)\
**Post date:** [27. August 2024 um 16:41 UTC](https://forum.calliope.cc/t/snap-und-calliope/2928/11 "2024-08-27T16:41:41Z")

</div>

Hi,

I wouldn’t know what you should change, I didn’t write it and never used it with Calliope. I once tested it with a micro:bit but never with a calliope. I always use the MicroBlocks library in Snap! using BLE and works for me. Maybe you could ask on the MicroBlocks Discord or the Snap! community.
