Overview
Two areas to test on DevKit 2: SD card storage (offline audio recording) and button behavior (tap events via BLE).SD Card Storage
When the device is disconnected from the phone (LED is red), audio data is written to the SD card instead of streaming over Bluetooth.SD Card Commands
Commands are sent as 6-byte packets:[command, file_number, offset_byte0, offset_byte1, offset_byte2, offset_byte3]
Example: Read file 1 starting at byte 255:
Response Codes
If you don’t receive code
100 or 200, the command was not completed.Testing Process
Prerequisites: Python packages from
requirements.txt, plus ffmpeg and opus for audio decoding. The test scripts live in omi/firmware/scripts/devkit/.Discover Devices
Run
discover_devices.py to list all nearby Bluetooth devices. Look for “Omi” or “Omi Devkit 2” and note the device ID.Check File Sizes
Run
get_info_list.py — replace the device_id value with your device ID. This lists the size of each audio file on the SD card.Download Audio
Run
get_audio_file.py — replace the device_id value with your device ID. Audio data streams to my_file.txt in the current directory.Decode Audio
Run
decode_audio.py to convert the downloaded data into a WAV file. If successful, you’ll have a playable recording of what was spoken near the mic.(Optional) Delete Audio
Run
delete_audio_files.py — replace the device_id value with your device ID. This clears audio data from the specified file.Safe SD Card Removal
1
Reset the device
Double-tap the reset button inside the kit
2
Remove the SD card
Remove the card to inspect contents on your computer
3
Reinsert and restart
Put the SD card back and tap the button to restart
Device Behavior
App-Side SD Card Import
When the device connects to the app with stored audio:- A green banner appears showing estimated download time
- Tap the banner (or go to Settings → Device Settings → Storage) to open the import screen
- Press the download button to start importing — a progress bar shows completion
The green banner only appears for DevKit 2 devices. DevKit 1 devices do not support SD card import.
Button Events
After connecting to the BLE notification service, these events fire:
Verify that each physical action sends the correct BLE packet.
Known Issues
Empty audio file on SD card (v2.0.1)
Empty audio file on SD card (v2.0.1)
Some devices create an empty
a01.txt file, preventing audio from being written.Fix:- Delete the audio file
- Press the reset button to reboot
- The device will auto-generate the required files on startup