Calliope mini

cc.calliope.mini
by Zapstore _@zapstore.dev

Republished from GitHub / F-Droid by the Zapstore main account.

The Calliope mini Android App is designed to make working with the Calliope mini easy and convenient.

First release: Nov 4, 2025, 2 total releases.

Most recent release: Apr 28, 2026.

Website Repo

Appears in 0 app stacks.

0 sats / 0 zaps received in the past year.

Sats Received

Underlying data available via MCP: app_zaps, app_releases.

Zap Count

Underlying data available via MCP: app_zaps, app_releases.

Releases

  • Apr 28, 2026 2.0.9
    # Calliope mini Android App — v2.0.9 * Merged Pfl by @tsisar in https://github.com/calliope-edu/Calliope-Android-App/pull/45 **Full Changelog**: https://github.com/calliope-edu/Calliope-Android-App/compare/v2.0.8...v2.0.9 - `versionCode` 27 - `versionName` 2.0.9 ---
    More…
    ## English ### Highlights - **Partial flashing rewritten** as a unified Kotlin foreground service with substantially improved BLE stability. - **Open Roberta Lab support** for partial flashing — hex files without DAL section can now be flashed incrementally. - **MicroPython hex files** are now correctly handled by partial flashing. - **Modernized UI** with MaterialCardView and a floating bottom navigation bar. - **Legacy (V2) DFU** flashing fixed and stabilized against Nordic DFU library 2.10.1 / 2.11.0. ### Partial Flashing #### New - Rewritten as a unified Kotlin service (`PartialFlashingService`) replacing the legacy Java module. - Runs as a **foreground service** with progress notifications for the connection and validation phases. - Support for hex files **without a DAL section** (Open Roberta Lab). - Code start address from the hex file is now verified against the device memory map before flashing. - `REGION_INFO` response validation with null-safe hash comparison. - Background flashing is **disabled by default** (can be re-enabled in settings). #### Stability fixes - New BLE operation queue serializes GATT operations to prevent overlapping writes. - Connection retry with exponential backoff on initial connect. - Service discovery delay increased to 1600 ms (per Nordic recommendation). - Bonding is now performed as a safety net after service discovery. - All PF characteristic writes use `WRITE_TYPE_NO_RESPONSE`. - GATT cache cleared before service discovery. - `disconnectAndClose` now waits for the disconnect callback instead of `Thread.sleep`. - Block acknowledgment timeouts trigger retransmit instead of immediate failure. - Race condition in packet acknowledgment state reset fixed. - BLE scanning resumes correctly after the system kills `CheckService`. - `CheckService` refactored to continuous state-based scanning for better device detection. ### DFU (full flashing) - Fix for **V2 (Legacy) DFU** with Nordic DFU library 2.10.1. - Improved error recovery in the legacy DFU path. - Nordic DFU library updated to **2.11.0**. ### Editors / UI - Modernized UI: MaterialCardView popup items, floating bottom navigation bar. - Editor order is now **persisted across app restarts**. - FAB (floating action button) position is **persisted across app restarts**. - Editor type handling refactored to use a typed `EditorType` enum; fixes editor ID mismatch between swipe navigation and settings. - Editor visibility settings: simplified titles, dynamic summary text on the checkboxes (matches main preferences). - Popup item corner radius updated to 12 dp. - Navigation fade gradient hidden in fullscreen mode. - Snowfall effect now starts on **St. Nicholas Day (Dec 6)**. ### MakeCode / Web - `lang` parameter now uses the device locale. - The `androidapp=1` query parameter is no longer appended to MakeCode URLs. - Web download handling and filename interception refactored. ### MicroPython - New MicroPython demo games bundled. - Snake demo migrated to Python. ### Dependencies - Nordic DFU **2.11.0** - AndroidX Navigation **2.9.7** --- ## Deutsch ### Wichtigste Neuerungen - **Partielles Flashen komplett neu** als einheitlicher Kotlin-Vordergrunddienst mit deutlich stabilerer BLE-Verbindung. - **Unterstützung für Open Roberta Lab** beim partiellen Flashen — Hex-Dateien ohne DAL-Bereich können jetzt inkrementell geflasht werden. - **MicroPython-Hex-Dateien** werden vom partiellen Flashen jetzt korrekt verarbeitet. - **Modernisierte Oberfläche** mit MaterialCardView und schwebender unterer Navigationsleiste. - **Legacy-DFU (V2)** repariert und mit Nordic DFU 2.10.1 / 2.11.0 stabilisiert. ### Partielles Flashen #### Neu - Neu implementiert als einheitlicher Kotlin-Dienst (`PartialFlashingService`); ersetzt das alte Java-Modul. - Läuft als **Vordergrunddienst** mit Fortschrittsbenachrichtigungen für die Verbindungs- und Validierungsphase. - Unterstützung für Hex-Dateien **ohne DAL-Bereich** (Open Roberta Lab). - Die Startadresse des Codes aus der Hex-Datei wird vor dem Flashen mit der Speicheraufteilung des Geräts abgeglichen. - Validierung der `REGION_INFO`-Antwort mit null-sicherem Hash-Vergleich. - Hintergrund-Flashen ist **standardmäßig deaktiviert** (kann in den Einstellungen aktiviert werden). #### Stabilitätskorrekturen - Neue BLE-Operationswarteschlange serialisiert GATT-Vorgänge, um überlappende Schreibvorgänge zu vermeiden. - Wiederholungsversuche mit exponentiellem Backoff beim ersten Verbindungsaufbau. - Verzögerung bei der Service-Discovery auf 1600 ms erhöht (gemäß Empfehlung von Nordic). - Bonding wird jetzt nach der Service-Discovery als Absicherung durchgeführt. - Alle PF-Charakteristik-Schreibvorgänge nutzen `WRITE_TYPE_NO_RESPONSE`. - GATT-Cache wird vor der Service-Discovery geleert. - `disconnectAndClose` wartet jetzt auf den Disconnect-Callback statt auf `Thread.sleep`. - Timeouts bei der Block-Bestätigung lösen eine erneute Übertragung aus statt eines sofortigen Abbruchs. - Race Condition beim Zurücksetzen des Paket-Bestätigungsstatus behoben. - BLE-Scan wird korrekt fortgesetzt, nachdem das System den `CheckService` beendet hat. - `CheckService` auf kontinuierliches, zustandsbasiertes Scannen umgestellt — bessere Geräteerkennung. ### DFU (vollständiges Flashen) - Fehler beim **V2-DFU (Legacy)** mit Nordic DFU 2.10.1 behoben. - Verbesserte Fehlerbehandlung im Legacy-DFU-Pfad. - Nordic DFU auf **2.11.0** aktualisiert. ### Editoren / Oberfläche - Modernisierte Oberfläche: MaterialCardView-Popup-Elemente, schwebende untere Navigationsleiste. - Reihenfolge der Editoren wird **über App-Neustarts hinweg gespeichert**. - Position des Floating Action Buttons (FAB) wird **über App-Neustarts hinweg gespeichert**. - Editor-Typen werden über ein typisiertes `EditorType`-Enum verwaltet; behebt eine Diskrepanz zwischen Swipe-Navigation und Einstellungen. - Sichtbarkeitseinstellungen für Editoren: vereinfachte Titel, dynamischer Zusammenfassungstext bei den Checkboxen (analog zu den Haupteinstellungen). - Eckenradius der Popup-Elemente auf 12 dp aktualisiert. - Navigations-Fade-Gradient im Vollbildmodus ausgeblendet. - Schneefall-Effekt startet jetzt am **Nikolaustag (6. Dezember)**. ### MakeCode / Web - `lang`-Parameter nutzt jetzt das Gerätelocale. - Der Query-Parameter `androidapp=1` wird nicht mehr an MakeCode-URLs angehängt. - Verarbeitung von Web-Downloads und Dateinamen-Interception überarbeitet. ### MicroPython - Neue MicroPython-Demospiele enthalten. - Snake-Demo nach Python portiert. ### Abhängigkeiten - Nordic DFU **2.11.0** - AndroidX Navigation **2.9.7**
  • Nov 4, 2025 2.0.8 Release page →
    ## What's Changed * More refactoring by @tsisar in https://github.com/calliope-edu/Calliope-Android-App/pull/40 * Android 15 UI by @tsisar in https://github.com/calliope-edu/Calliope-Android-App/pull/41 * Web ble by @tsisar in https://github.com/calliope-edu/Calliope-Android-App/pull/43 **Full Changelog**: https://github.com/calliope-edu/Calliope-Android-App/compare/v2.0.7...v2.0.8