Skip to content
Android app to write NFC tags for the TonUINO diy music box
Kotlin Ruby
Branch: master
Clone or download
Latest commit 0735d22 Feb 5, 2020
Type Name Latest commit message Commit time
Failed to load latest commit information.


Android app to write and read NFC tags that can be used on the TonUINO DIY music box.

The app is available for download on github, installable using the Google Play Store or the F-Droid Store.

The github releases are built on CircleCI CircleCI.
Google Play releases are built using fastlane.


  • Hide on-screen-keyboard when switching between edit fragments
  • Add entry "unknown <#>" to mode spinner on EditSimple fragment
  • Allow users to write a note or title to the NFC tag
  • Allow users to keep a list of tags
  • Add support for further NFC tag technologies
    • Mifare Ultralight
    • Generic NfcA
  • [ ] Simulate NFC tag (unfortunately not possible with current Android APIs
  • Use proper Material design theming instead of faking it
    • MainActivity if NFC is not available
  • Use data binding

Tonuino 2.0.x



# name range description
0 cookie uint32 Identifiziert Tonuino, erwartet 0x1337b347
4 version uint8 immer 1
5 folder uint8 Werte von 1 bis 99, siehe dfplayer doku
6 mode uint8 Werte von 1 bis 5, siehe nächste Tabelle
7 special uint8

Verschiedene Modi
Basierend auf dem Wert von mode und was geschieht, wenn die vorwärts und zurück Tasten betätigt werden

# Titel Beschreibung vorwärts zurück
1 Hörspiel eine zufällige Datei aus dem Ordner stop Titel von vorne spielen
2 Album kompletten Ordner spielen nächster Titel vorherigen Titel spielen
3 Party Ordner in zufälliger Reihenfolge abspielen zufälliger Titel Titel von vorne spielen
4 Einzel Eine Datei aus dem Ordner abspielen stop Titel von vorne spielen
5 Hörbuch kompletten Ordner spielen und Fortschritt merken nächster Titel vorherigen Titel spielen
6 Admin Noch ohne Funktion - -

Wird nur in bestimmten Modi benutzt für:

  • mode 4: Titelnummer
  • mode 6: Platzhalter, bisher ohne Funktion

Tonuino 2.1.0


Normal Tags

# name range description
0 cookie uint32 Identifies a Tonuino tag, usually 0x1337b347
4 version uint8 always 2
5 folder uint8 Values from 1 to 99, see dfplayer docs
6 mode uint8 Values from 1 to 5, see next table
7 special uint8
8 special2 uint8

TODO normal tags table

Modifier Tags

All have a folder value of 0

Modifier byte 6 byte 7 Description
SleepTimer 1 Play duration in minutes (255 max) Pauses playback after timer
FreezeDance 2 - Randomly pauses the track after 5 to 30 seconds
Locked 3 - All buttons are locked and no new card will be read
ToddlerMode 4 - All buttons are locked
KindergardenMode 5 - Previous and back buttons are locked. Adding a new card will not stop the current track but will schedule it as next track
RepeatSingleModifier 6 - Repeat current track
FeedbackModifier 7 - Will e.g. tell volume before changing it


How discovered NFC tags are dispatched to activities:

Currently only Mifare Classic and Ultralight, but I want to look into supporting generic NfcA in the future. Links:

NFC Host Card Emulation

It would be great if the app also can act as an NFC tag to simulate TonUINO tags, some links to this:

You can’t perform that action at this time.