PINGOOD TechnologyAI TOYS SUPPLIER · ODM & OEMBook a call
🌐 English

How to integrate a card-size AI voice recorder with your own app (open BLE protocol + SDK)

SDKBluetooth LEAndroidIntegrationSNUGOGO CB08
Updated 2026-11-04

To integrate a card-size AI voice recorder with your own app, you connect to it over Bluetooth LE, list and download its recordings, then send the audio to the speech-to-text service of your choice. SNUGOGO CB08 from AI HW Stack publishes its BLE protocol and a plain-Java Android sample on GitHub, so you can do all of this without an account, an API key or a partner agreement.

This guide walks through the integration step by step, using the open BLE protocol (sample edition) and the Android sample.

What you get: SDK and protocol at a glance

Item Detail
Protocol BLE GATT, service 0xAE20; write 0xAE21; notify 0xAE22 / 0xAE23; no pairing or authorization. Document licensed CC BY 4.0
Android sample Plain Java, no third-party libraries, Android 6.0 or later (minSdk 23), MIT licence
Functions (sample edition) Scan, connect, battery / storage / firmware / device ID, recording list, download with resume, play, transcribe, share, delete, import from USB
Web demo Chrome or Edge (Web Bluetooth): connect, list, download with pause and resume, play and save; no-card demo mode
Audio Opus, mono, 20 ms frames, 16 kbit/s constant (every frame 40 bytes); 2,000 bytes per second; optional WAV
Transfer ≈ 30 KB/s; a 1-hour recording in about 4 minutes (30.7 KB/s measured on a Xiaomi Mi 6, Android 9, firmware V1.0.0)
Battery 400 mAh; 15–20 hours of continuous recording; about 200 days of standby once switched off
Storage 32 GB sample cards, about 255 hours (Opus + WAV); up to 512 GB and Opus-only firmware for volume orders
Transcription Any OpenAI-compatible speech-to-text service; the key stays on the phone
Platforms Same protocol on Android and iOS; Android reference code today

Step 1: Try it without a card

Install the APK from GitHub Releases and tap Try demo (no recorder needed). A recording made on a real card is built in, and Download, Play, Transcribe, Share and Delete run the same code as with a card. Or open the web demo and tap Try demo (no card needed).

Step 2: Scan and connect

Step 3: Speak the frame format

Every frame is 0x5A (magic) + sequence number + CRC-16/XMODEM (little-endian) + length (little-endian) + [TYPE][CMD][parameters]. Notifications may split or merge frames, so reassemble by the length field. Reference implementation: Protocol.java.

Useful first commands (TYPE 0): set clock (0-0), get storage (0-1), get battery (0-3), get firmware (0-10), get device ID (0-12). On iOS, where the system hides the MAC, use 0-12 to tell cards apart.

Step 4: List and download recordings

  1. Send 2-0 to get the file list; collect 2-1 frames until 2-18 arrives.
  2. File names look like noteYYYYMMDD-hhmmss.opus (call… for call mode). The list cuts names to 20 bytes, so append .opus before downloading.
  3. Send 2-2 (offset + 24-byte name) as one 36-byte write, append every 2-4 payload, and stop at 2-5 code 0.
  4. Resume: if the link drops, send 2-2 again with the offset you already have, rounded down to a whole 40-byte packet.

Step 5: Play the audio

The card stores bare Opus packets with no container. Wrap them in Ogg Opus (RFC 7845) to play or upload them. On Android 9, rewrite "code 3" packets as single-frame packets; OggOpus.repack() in the sample does this losslessly.

Step 6: Transcribe with your own service

Transcriber.java asks once for the base URL, API key and model of any OpenAI-compatible speech-to-text service. The key is stored only on the phone, and long recordings are sent in 10-minute pieces. Recordings never pass through our servers.

Step 7: Delete and power behaviour

Delete one file with 2-8 and check 2-13. When not connected and not recording, the card switches itself off after about 5 minutes. Deleting is irreversible, so test it only on test recordings.

What the developer package adds (from 1,000 units)

Tiers, MOQ and prices

Tier Quantity Cost (as published)
Open source (GitHub) No card needed No cost; MIT code, CC BY 4.0 protocol
Sample order From 1 card US$55 per sample unit, shipping included; no license fee, no royalties
Hardware order 100–999 cards US$30 per card from 100, US$28 from 300, US$26 from 500 (EXW, 32 GB); no license fee, no royalties
Developer package 1,000+ cards US$24 per card from 1,000, US$22 from 3,000 (EXW, 32 GB); no license fee, no royalties

Samples can be paid by Stripe or PayPal; bulk orders by bank transfer. Quotes are valid for 30 days. Full terms: developer page.

How to choose an AI voice recorder SDK: a neutral checklist

  1. Byte-level documentation: frame format, CRC, every command, timeouts and an acceptance checklist.
  2. Readable source: can your team read and change it, or is it a compiled library only?
  3. License terms: commercial use, attribution, and whether the code can be reused.
  4. No hidden gating: does connecting need a partner account, an API key or device binding?
  5. Fees: per device, per minute or renewal fees, stated in writing.
  6. Measured performance: transfer speed and battery figures with the test phone and firmware named.
  7. Resume and recovery: what happens when Bluetooth drops mid-download or mid-recording?
  8. Platform coverage: which platforms have tested code today, and which share the protocol only.
  9. Data path: can audio go straight from your app to your own speech-to-text endpoint?
  10. Maintenance: which firmware version the docs were tested on, and where to ask questions.

FAQ

Is the BLE protocol really open? Yes. The sample-edition protocol is public on GitHub under CC BY 4.0, and the Android sample is MIT-licensed.

Do I need an account, API key or partner agreement? No. The recorder needs no pairing, bonding or authorization.

Which programming languages are covered? The Android sample is plain Java; the web demo is a single HTML file using Web Bluetooth. The protocol is documented at byte level, so it can be implemented on any platform with Bluetooth LE.

Does it work on iPhone? Yes, over Bluetooth with the same protocol. iOS Bluetooth was tested with our official iPhone app (App Store coming soon). There is no iOS developer sample yet.

How fast is the download? About 30 KB/s, set by the card. A 1-hour Opus recording (7.2 MB) takes about 4 minutes.

Can I stream live audio? Live audio and remote recording control are part of the order edition, from 1,000 units.

Is the audio encrypted on the card? No. Recordings are stored as plain Opus packets and Bluetooth access is not authenticated. Delete recordings from the card once your app has stored them safely.

Can I update the firmware over Bluetooth? No. The protocol has no firmware update command.

Next steps

Contact: [email protected] · AI HW Stack (Pingood Technology Co., Limited, Hong Kong)

Related

Want to try the hardware behind these notes?

Six AI hardware platforms are in mass production. Tell us your market and channel and we send an evaluation sample.

Request a sample