Overview
4G Direct Upload allows Bota Pin 4G devices to upload recordings directly to Bota’s API via cellular (LTE-M) connectivity, eliminating the need for a paired mobile phone during upload. Benefits:- Upload recordings without a nearby phone
- Real-time transcription for time-sensitive use cases
- Reduced latency from recording to insight
- Better for always-on, autonomous device usage
- Medical clinics where devices are shared and not paired to personal phones
- Field sales where reps may not have their phone nearby
- Remote workers who want instant transcription
- Enterprise deployments with dedicated devices
How It Works
Traditional Upload Flow (BLE)
4G Direct Upload Flow
api.bota.dev using its embedded cellular modem.
Network Selection
Devices intelligently select the best network based on availability, cost, speed, and battery:WiFi
Best for: Free, fast uploadsWhen used: Connected to known WiFi networkPriority: Highest (free data)
4G/LTE-M
Best for: Uploads without WiFiWhen used: No WiFi, good cellular signalPriority: Medium (metered data)
Bluetooth
Best for: Slow but reliableWhen used: No WiFi/4G, phone nearbyPriority: Lowest (slowest)
Upload Modes
You can control network selection via device settings:| Mode | Behavior | Use Case |
|---|---|---|
auto (Recommended) | Smart selection: WiFi → 4G → BLE | Most users |
wifi_preferred | Use WiFi when available, then 4G | Balance cost & convenience |
4g_preferred | Use 4G first, fallback to WiFi | Always-on, real-time needs |
wifi_only | Wait for WiFi connection (no 4G) | Cost-sensitive, no urgency |
4g_only | Use 4G exclusively | Testing, guaranteed 4G upload |
ble_only | Traditional BLE → phone upload | Disable direct upload |
Device Settings
Configure upload behavior via the Device Settings API:Quick Example: Enable 4G Uploads
Complete Upload Settings
Data Usage & Costs
Estimating Data Consumption
Recording Size Formula:- 5 minute meeting: ~1.2 MB
- 30 minute meeting: ~7.2 MB
- 1 hour meeting: ~14.4 MB
Daily Data Limits
Setdaily_data_limit_mb to cap cellular usage:
- 4G uploads blocked for remainder of day
- Device falls back to WiFi or BLE
- Counter resets at midnight (device local time)
Monitoring Data Usage
Track data consumption via the Get Device Settings endpoint:Upload While Recording (Streaming)
For long recordings (>30 minutes), enable streaming upload to upload chunks while recording continues:- Device records audio in 5-minute chunks (double buffering)
- While recording chunk 2, upload chunk 1 in background
- Continue until recording ends
- Call
/finalizeto stitch chunks and trigger transcription
- Reduced device storage requirements (only 2 chunks in memory)
- Faster transcription (backend can start transcribing early chunks)
- Better network resilience (failed chunks can retry independently)
Roaming & International Use
By default, 4G uploads are disabled when roaming to avoid high charges.Allow Roaming Uploads
Travel Mode Preset
For international travel, use WiFi-only mode:Battery Optimization
4G uploads consume more power than BLE. Optimize battery life with these settings:Delay Uploads Until Charging
Off-Peak Uploads
Upload during off-peak hours (e.g., overnight while charging):Mobile App Integration
Fetch Current Settings
Update Settings from App
Write Settings to Device via BLE
If the device is connected via BLE, write settings to hardware immediately:Preset Configurations
Common upload presets for different use cases:Maximum Quality (Enterprise)
Balanced (Recommended)
Data Saver
Battery Saver
Monitoring Upload Status
Track Upload Method
Each recording tracks the upload method used:Analytics Queries
Query recordings by upload method:Troubleshooting
Recording Not Uploading via 4G
Check:- Device has 4G connectivity (signal strength > -85 dBm)
- Upload mode is not
ble_onlyorwifi_only - Daily data limit not exceeded
- Device not roaming (if
allow_roaming: false) - Battery level sufficient (if
pause_on_low_battery: true)
Upload Failed - Poor Signal
If 4G signal is weak (< -95 dBm), device will fallback to BLE or queue upload for later. Solution: Configure WiFi credentials via mobile app, or setmode: "wifi_preferred".
Data Limit Exceeded
When daily limit is hit:- Device blocks 4G uploads
- Falls back to WiFi or BLE
- Resets at midnight
daily_data_limit_mb or enable WiFi fallback.
Security & Authentication
4G uploads use device tokens (dtok_*) for authentication. Tokens are:
- Bound to specific device + end user
- Short-lived (90 days, auto-renewed)
- Written to device flash during provisioning

