Calliope mini v3: Inbetriebnahme scheitert

Hallo, meine 8jährige Tochter hat zu Weihnachten einen Calliope v3 geschenkt bekommen, den sie sich sehr wünschte, nachdem sie sich vor einigen Monaten auf einem Techniktag für Kinder mehrere Stunden mit so einem Teil begeistert beschäftigte.

Hier zu Hause kommt gerade keine Begeisterung auf. Wir bekommen das Teil schlichtweg nicht Betrieb genommen; soll heißen, wir kriegen keine Verbindung hin, weder Bluetooth noch kabelgebunden durch USB.

Nach dem ersten Auspacken und Einschalten und Installation der App aus dem Playstore wurde zwar eine erste Verbindung etabliert, die sich aber sofort wieder trennte, während irgendwas geflasht wurde (ohne dass dies veranlasst wurde). Ich meine mich an “Firmware” zu erinnern.

Ich kann leider nicht konkreter werden, weil ich selber kaum durchblicke und nicht mehr weiß, was zuletzt für technische Prozesse abliefen oder gestört wurden. Der aktuelle Zustand ist: Das Gerät wird eingeschaltet und die Dioden zeigen ein rotes Quadrat (ausschließlich die Außendioden). Es gelingt mir noch, über die App eine erneute Bluetooth-Verbindung herzustellen - danach wechselt das Gerät wieder zu diesem Quadrat. Ich verstehe die Dokumentation aber so, dass an dieser Stelle diese Introsequenz kommen sollte mit diesen 4 vorinstallierten Anwendungen.

Meine Tochter hat über ein Tablet das Flashen eines erstellten “MakeCode” versucht. Das bricht ab mit der Meldung: Verbindung fehlgeschlagen. Es besteht also nach wie vor keine Verbindung.

Das gleiche rote Quadrat erscheint, wenn das Gerät über USB mit einem (Linux-)PC verbunden wird. Die Terminal-Eingabe “ls /dev/ttyS.*” bleibt ohne Ergebnis.

Was kann ich tun? Gibt es die Möglichkeit, das Gerät in den Auslieferungszustand zurückzuversetzen? Einen Hardware-Defekt möchte ich an dieser Stelle lieber nicht annehmen.

Momentan sind wir hier beide nur gefrustet. Ich hoffe, dass die Begeisterung bei meiner Tochter nicht verraucht und freue mich über ein paar Denkanstöße.

Danke schon mal an dieser Stelle und viele Grüße,
djhooker

Nach 3x kurz Reset drücken muss kurz ein >B Symbol angezeigt werden und dann das Koppel Muster. Es geht auch (wie bei v1 und v2) A+B gedrückt halten und währenddessen Reset (mit dem dritten Finger) drücken.

Auf dem iPad muss der Calliope mini App Bluetooth erlaubt sein. Das wird nur beim ersten Start der App abgefragt und immer nicht beachtet. In Einstellungen gehen (beim iPad Zahnrad App), die App Calliope mini (links unten) suchen und oben Bluetooth an schalten:

Dann in der App nicht MakeCode starten, sondern auf der Seite mit dem roten Symbol koppeln (das Koppel Muster abmalen) bis es darunter blau und oben grün ist.

Und dann links bei v3 auf Startprogramm klicken und Übertragen.

Dann muss das funktionieren:
CALLIOPE | Erste Schritte


Wenn nach 3x Reset das Koppel Muster nicht kommt, muss er mit USB Kabel an einen PC angeschlossen werden und dort als Laufwerk MINI erscheinen.

Dann kann das (selbe) Startprogramm hier herunter geladen und in MINI kopiert werden (auf v3 achten):
Anwendungen | Calliope Dokumentation

Nachdem irgend eine (hex) Datei erfolgreich übertragen wurde, verabschiedet sich das USB Laufwerk MINI von dem PC. Darauf reagiert jedes Betriebssystem anders, aber immer mit einer Fehlermeldung. Manchmal kommt MINI dann wieder. Oder man muss das USB Kabel raus ziehen und neu anstecken, um wieder was zu übertragen.

Jetzt sollte aber das übertragene Programm schon gestartet sein.
CALLIOPE | Erste Schritte

Bitte nicht in MINI nach der übertragenen Datei suchen. Es ist normal, dass die weg ist. Die wurde in den Prozessor geladen. MINI funktioniert nicht wie ein USB Stick.

2 „Gefällt mir“

Die Anleitung von @asp.net ist super, aber für iOS. Du nutzt ja vermutlich Android?
Dann könnt ihr theoretisch direkt aus Chrome per WebUSB auf den Calliope mini eine Datei überspielen und benötigt nicht unbedingt die App (die überspielt allerdings auch ohne Frage keine Datei – vor allem keine Firmware)… Das Übertragen startet immer erst nach aktivem Befehl.
Ich weiß nicht, welches Linux du hast. Für das Mounten, kannst du dieses Script ja mal ausprobieren (calliope_mount.sh mount bzw. calliope_mount.sh unmount sollte funktionieren):

#!/bin/bash
# calliope_mount.sh
# Mountet und unmountet einen Calliope mini unter Linux
# Basiert auf: microbit_mount.sh

BASEPATH="/media/$(whoami)/"
# Der Calliope mini hat standardmäßig das Label "MINI"
TARGET_LABEL="MINI"

# Prüfen, ob Argumente übergeben wurden
if [ $# -eq 0 ]
then
    echo "Kein Argument angegeben. Bitte nutze 'mount' oder 'unmount'."
    exit 1
fi

# Hilfe-Anzeige
if [ "$1" == "--help" ]
then
    echo "Mountet oder unmountet einen Calliope mini"
    echo "Argumente:"
    echo "  mount   - Den Calliope einbinden (mounten)"
    echo "  unmount - Den Calliope sicher entfernen (unmounten)"
    exit 0
fi

# Prüfen, wie oft das Label in udisksctl gefunden wird
# Wir suchen exakt nach dem Label, um Verwechslungen zu vermeiden
RESULTS=$(udisksctl dump | grep IdLabel | grep -c "$TARGET_LABEL")

case "$RESULTS" in

0 )     echo "Kein Gerät mit dem Namen '$TARGET_LABEL' in 'udisksctl dump' gefunden."
        echo "Ist der Calliope mini angeschlossen?"
        exit 0
        ;;

1 )     # Den exakten Label-Namen extrahieren (falls Groß-/Kleinschreibung abweicht)
        DEVICELABEL=$(udisksctl dump | grep IdLabel | grep "$TARGET_LABEL" | cut -d ":" -f 2 | sed 's/^[ \t]*//')
        
        # Das zugehörige Device (/dev/sdX) finden. 
        # Hinweis: Das Device steht im Dump meist einige Zeilen VOR dem IdLabel.
        DEVICE=$(udisksctl dump | grep "IdLabel: \+$DEVICELABEL" -B 15 | grep " Device:" | cut -d ":" -f 2 | sed 's/^[ \t]*//')
        
        echo "Einen '$TARGET_LABEL' gefunden auf Gerät: $DEVICE"

        # Prüfen, ob das Gerät bereits gemountet ist
        if [[ -z $(mount | grep "$DEVICE") ]]
        then
            echo "Status: $DEVICELABEL ist aktuell NICHT gemountet."
            if [ "$1" == "mount" ]
            then
                echo "Versuche zu mounten..."
                udisksctl mount -b "$DEVICE"
                exit 0
            fi
        else
            echo "Status: $DEVICELABEL ist bereits gemountet."
            if [ "$1" == "unmount" ]
            then
                echo "Versuche zu unmounten..."
                udisksctl unmount -b "$DEVICE"
                exit 0
            fi
        fi
        ;;

* )     echo "Es wurde mehr als ein Gerät mit dem Namen '$TARGET_LABEL' gefunden."
        echo "Bitte unnötige Geräte entfernen, um Verwechslungen zu vermeiden."
        ;;

esac

echo "Skript beendet ohne Aktion (falsches Argument oder Zustand unverändert)."
1 „Gefällt mir“

Hi djhooker,

ich finde es ganz toll, dass deine Tocher einen eigenen Calliope hat. Eigentlich sollten alle Kinder eine solche Chance bekommen. Schade, dass der Einstieg in das Coden mit dem Calliope bei euch so viel Frust auslöst.

Wenn du den Calliope mit dem originalen Calliope-USB-Kabel an einen PC ansteckst, sollte sich ein USB-Laufwerk MINI zeigen. Dies ist bei den Betriebssystemen Linux, macOS und Windows gleich. Programmieren lässt sich der Calliope mit einer Vielzahl von Programmierumgebungen, wobei in der Regel der Start mit MakeCode am einfachsten erscheint. MakeCode läuft im Webbrowser und muss nicht auf dem Computer installiert werden. Zum Programmieren muss eine Verbindung zum Internet bestehen (jedenfalls am Anfang), damit die Programmierumgebung vollständig geladen und das Programm in eine vom Calliope lesbare HEX-Datei umgewandelt werden kann.

Beim Start von MakeCode wird die eine Taste „Neues Projekt“ angezeigt. Dort klickst du drauf, wenn du ein neues Programm beginnen möchtest. Du gibst dem Programm einen Namen „blinkendes-herz“ und wählst den Calliope v3 als Hardware aus. Eines der einfachsten Programme ist das blinkende Herz, bei dem die Calliope-LEDs ein Herz zeigen, gefolgt von einem leeren Bild. In der dauerhaften Wiederholschleife wird das Bild animiert und das Herz blinkt … in diesem Fall baut die Programmierumgebung eine automatische Verzögerung ein. Beim Klick auf die Taste „Herunterladen“ wird eine Datei mini-herz.hex ins Verzeichnis „Downloads“ gespeichert.

Die Datei „mini-blinkendes-herz.hex“ schiebst du im Betriebssystem aus dem Verzeichnis „Downloads“ auf das Laufwerk „MINI“, also auf den Calliope. Nach dem Kopieren wird das Laufwerk „MINI“ automatisch ausgeworfen und der Calliope neu gestartet. Der Calliope sollte jetzt auf der LED-Matrix ein blinkendes Herz zeigen. Wenn du nun auf das Laufwerk „MINI“ schaust, wirst du dort die Programmdatei „mini-herz.hex“ nicht finden … das ist richtig so … der Calliope hat das Programm intern verarbeitet und zeigt es nicht mehr an … mach dir dazu erst mal keine Gedanken. Hier ist die HEX-Datei, die du bei eurem Calliope hochladen kannst.
mini-blinkendes-herz.hex (883,2 KB)

Solltest du als Browser einen der Browser Chrome, Chromium, Edge oder Brave verwenden, wurde dir beim Klick auf „Herunterladen“ die Option angeboten, den Calliope mit dem Browser über WebUSB zu koppeln. WebUSB sorgt für die besonders einfache Verbindung zum Calliope, mit der die Programmierumgebung MakeCode die Programme direkt über USB auf den Calliope übertragen kann.

Ich selber verwende den Calliope fast ausschließlich mit Linux und habe keine Probleme mit der Verbindung. Ich gehe davon aus, dass auf deinem PC ein aktuelles Linux mit grafischer Oberfläche und dem Browser Chromium installiert ist. Beim Anstecken des Calliope über USB sollte das Laufwerk „MINI“ automatisch in der grafischen Oberfläche erscheinen. Ich selber habe bisher nicht versucht, den Calliope im Terminal anzusprechen, aber du findest auch hier das gemountete Laufwerk „MINI“.

Ich wünsche euch viel Erfolg bei euren Experimenten und beim Coden! Calliope macht Spaß!

Herzliche Grüße
Ralf

PS:
Wenn du ein anderes USB-Kabel verwendest, könnte es eventuell kein Datenkabel sein. Mit einem Ladekabel kannst du zwar ein Handy laden, aber eventuell keine Datenverbindung zum Calliope herstellen.

1 „Gefällt mir“

Liebe Leute, habt vielen Dank für eure Antworten. Ich war jetzt während der Neujahrsferien nicht am Calliope und wollte vorab mitteilen, dass ich eure Resonanz großartig finde. Ich will mich heute Abend nochmal dransetzen und eure Hinweise durchgehen.

Herzliche Grüße,
djhooker

2 „Gefällt mir“

Hallo, vielen Dank nochmal für eure Antworten. Ich konnte mir heute Nachmittag endlich nochmal Zeit nehmen.

Das Reseten/in den BT-Kopplungsmodus (3x Reset) klappte auf dem üblichen Weg nicht. Ich habe den Calliope daher an meinen Rechner angeschlossen (Linux Mint 22.2). Dort wurde er auch gleich als Mini-Laufwerk erkannt und ein Explorer-Fenster öffnete sich. Dorthin kopierte ich die oben verlinkte Datei “miniV3_start.hex”, die prompt auf den Calliope transferiert wurde. Leider kein Grund zur Freude. Anstatt dieses ominösen Quadrats wird nun eine Abfolge der Zeichen “5; 2; 1, :frowning: “ angezeigt. Der Calliope ist nach wie vor nicht über die Hardware direkt steuerbar: 3x Resettaste bewirkt nur ein kurzes Verschwinden des aktuell angezeigten Zeichens. Dafür wurde auf dem Calliope eine Datei “FAIL.txt” erzeugt, in der folgendes steht:

“error: The hex file cannot be decoded. Checksum calculation failure occurred.
type: transient, user”

Ist das ein Hardwaredefekt?

Einen schöne Woche wünscht
djhooker

Die Fehlermeldung stimmt. Die oben verlinkte Datei ist kaputt. Auch bei mir kommt 521.
Die Erklärung der Error Codes muss man finden:
Error Codes | Calliope Dokumentation
Windows sagt noch: Konnte nicht auf Viren überprüft werden.
Die heruntergeladene Datei miniV3_start.hex enthält Quelltext einer Webseite: CSS und JavaScript.

Dann gibt es noch den Link, der funktioniert:
https://calliope.cc/downloads/miniV3_start.hex
gefunden in CALLIOPE | FAQ und in der App.

Du könntest aber auch irgend ein (leeres) MakeCode Projekt über das USB Kabel übertragen.
Das ganze Betriebssystem ist immer in der HEX Datei drin, bis auf einen Loader.
Das wird auch mit einem leeren Projekt wieder drauf gespielt.

Ich habe die aktuellen und alten Downloads auf meiner Webseite gesammelt:
CALLIOPE Projekt herunterladen
(Auf der Seite ganz unten.)

FG Lutz

1 „Gefällt mir“

Ich weiß nicht, welche Hex-Datei ihr aus dem Thread geladen habt, aber ich bekomme zu dem Link oben ( CALLIOPE | Erste Schritte) von Ralf diese URL: https://calliope.cc/downloads/miniV3_start.hex und die Datei funktioniert bei mir ohne Probleme.

2 „Gefällt mir“

Liebe Leute, habt vielen Dank. Nachdem ich die neue Startdatei über den Nemo-Explorer geladen hatte, funktionierte alles - zuerst die Grundprogramme, dann das Übertragen eines Demoprogramms und schlussendlich die Übertragung eines eigenen Textes.

Bluetooth-Kopplung war jetzt auch kein Thema mehr.

Für mich ist das alles eine Herausforderung, weil ich selbst nie etwas mit Programmieren zu tun hatte. Auch Linux ist für mich noch recht neu, weil ich hier noch sehr in Windows-Strukturen denke (bin seit ca. einem Jahr von 30 Jahre Windows weg), aber ich fühl mich inzwischen sehr wohl damit. Ich lerne also - was IT im weitesten Sinne betrifft - gerade sehr viel neues :slight_smile:

Töchterchen wird sich hoffentlich freuen, dass sie nun wieder einsteigen kann.

Bestimmt wird es auch die eine oder andere weitere Frage geben.

Vielen Dank noch einmal - ein tolles Forum!
djhooker

2 „Gefällt mir“

MakeCode läuft unter Linux hervorragend mit dem Chromium-Browser. Du koppelst den Calliope über WebUSB mit dem Browser und das direkte Herunterladen des Programms auf den Calliope ist möglich. Du musst also mit dem Chromuim-Browser nicht erst eine HEX-Datei herunterladen und anschließend auf den Calliope schieben.

Viel Erfolg!
Ralf