- Created RF_TEST_DATABASES.md with 6 primary databases (30,000+ files) - Added RTL433_TESTING_GUIDE.md explaining 0% decode rate - Created download_rf_test_datasets.sh to fetch all test data - Documented web search results from Google dorking - Listed repositories: rtl_433_tests, FlipperZero-Subghz-DB, UberGuidoZ, etc - Included testing strategy and expected success rates
13 KiB
RF Signal Test Databases - Comprehensive Guide
Summary
This document catalogs labeled RF signal databases found via Google dorking and GitHub searches for testing our RTL_433 integration implementation.
Total Databases Found: 6 primary + 10+ secondary sources Total Estimated Files: 30,000+ .sub files, 1,000+ .cu8 files Best for Testing: rtl_433_tests (100% labeled, known protocols)
Primary Databases (Recommended)
1. RTL_433 Official Test Files ⭐⭐⭐⭐⭐
Repository: https://github.com/merbanan/rtl_433_tests
Quality: Highest (100% labeled, protocol-verified)
Format: .cu8, .json
Size: ~1,000 test files
Coverage: 244 protocols
Features:
- Official regression test suite for rtl_433
- Each file has corresponding
.jsonwith expected decode results - Organized by manufacturer/device type
- Guaranteed to decode with RTL_433
Directory Structure:
tests/
├── acurite/
│ ├── 01/ # Acurite 606TX
│ ├── 02/ # Acurite Tower
│ └── ...
├── oregon_scientific/
│ ├── 01/ # Oregon v2.1
│ ├── 02/ # Oregon v3
│ └── ...
├── lacrosse/
├── tpms/
│ ├── ford/
│ ├── toyota/
│ └── ...
└── ...
Protocols Included:
- Weather Sensors: Acurite, Oregon, LaCrosse, Nexus
- TPMS: Ford, Toyota, GM, Schrader, Continental
- Doorbells: Byron, Honeywell
- Security: Visonic, DSC, Paradox
- And 200+ more
Testing Priority: Highest
Problem: Files are in .cu8 format (complex I/Q samples), not .sub format
Solution: Need to create converter (see section below)
2. FlipperZero-Subghz-DB ⭐⭐⭐☆☆
Repository: https://github.com/Zero-Sploit/FlipperZero-Subghz-DB
Quality: Medium (mixed protocols, community-contributed)
Format: .sub (Flipper format - ready to use!)
Size: 13,717 .sub files, 721 folders
Coverage: Mostly garage/gate openers, some sensors
Features:
- Largest single collection of .sub files
- Organized by device type
- Ready to use (no conversion needed)
- Community-maintained
Directory Structure:
Sub-GHz/
├── Garages/
├── Gates/
├── Doorbells/
├── Car_Keys/
├── Weather_Stations/ ← Useful for our testing
├── TPMS/ ← Useful for our testing
└── ...
Testing Priority: Medium
Pros: Ready-to-use .sub format Cons: Mostly proprietary protocols (low RTL_433 match rate expected)
3. UberGuidoZ Flipper Database ⭐⭐⭐⭐☆
Repository: https://github.com/UberGuidoZ/Flipper
Quality: High (well-organized, actively maintained)
Format: .sub, .ir, .nfc, .bin
Size: ~500MB (10,000+ files)
Coverage: Comprehensive multi-protocol collection
Features:
- Most comprehensive Flipper Zero resource
- Frequent updates
- Well-documented
- Includes sub-directories for specific devices
Notable Subdirectories:
Flipper/
├── Sub-GHz/
│ ├── Weather_Sensors/
│ ├── Remotes/
│ ├── Vehicles/
│ └── ...
├── Infrared/
├── NFC/
└── BadUSB/
Testing Priority: High
Best Use: Search for specific manufacturer names (Acurite, Oregon, LaCrosse)
4. Full Flipper Database ⭐⭐⭐☆☆
Repository: https://github.com/DefinetlyNotAI/Full_Flipper_Database
Quality: Medium (comprehensive but mixed quality)
Format: .sub, .ir, .nfc, etc
Size: Large (exact count unknown)
Coverage: "The one and only flipper zero Database for all your pen-testing needs"
Features:
- Comprehensive collection
- Regular updates
- Mixed quality (community contributions)
Testing Priority: Medium
Best Use: Backup source if other databases don't have specific device
Secondary Databases (Specialized)
5. WSSFlipperZero (Weather Station Spoofer) ⭐⭐⭐⭐☆
Repository: https://github.com/timdigga/WSSFlipperZero
Type: Synthetic .sub generator
Format: Generated .sub files
Protocols: Acurite, LaCrosse, Oregon Scientific
Features:
- Generates valid weather sensor .sub files
- Uses OpenWeatherMap API for realistic data
- Known-good protocol implementations
Testing Priority: High (for synthetic testing)
Use Case: Generate test files with known parameters for validation
6. OWMFlipperZero (OpenWeatherMap Sync) ⭐⭐⭐☆☆
Repository: https://github.com/timdigga/OWMFlipperZero
Type: Weather .sub generator
Format: Generated .sub files
Similar to WSSFlipperZero, generates synthetic weather sensor signals.
7. Awesome Flipper Zero (Resource List) ⭐⭐⭐⭐⭐
Repository: https://github.com/djsime1/awesome-flipperzero Type: Curated list of resources Content: Links to 100+ Flipper Zero resources
Features:
- Curated quality resources
- Organized by category
- Regularly updated
- Links to more databases
Use Case:** Discovery of additional databases
Additional Sources (Found via Web Search)
8. ADolbyB Flipper Files
Repository: https://github.com/ADolbyB/flipper-zero-files Content: Collection from various sources
9. magikh0e FlipperZero_Stuff
Repository: https://github.com/magikh0e/FlipperZero_Stuff Content: IR, Sub-GHz, remotes
10. honeer flipper-base
Repository: https://github.com/honeer/flipper-base Description: Database of all things Flipper Zero
11. spoof_temp (Synthetic Generator)
Repository: https://github.com/rgerganov/spoof_temp Type: Temperature sensor spoofer Protocols: Oregon Scientific
File Format Comparison
.cu8 Format (RTL_433 Native)
Description: Complex Unsigned 8-bit I/Q samples Channels: 2 (I and Q) Sample Rate: Typically 250kHz Size: Large (raw SDR data)
Structure:
byte[0] = I sample (0-255)
byte[1] = Q sample (0-255)
byte[2] = I sample
byte[3] = Q sample
...
Pros:
- Native RTL_433 format
- Contains full signal information
- Can be reprocessed with different decoders
Cons:
- Large file sizes
- Requires conversion to .sub for our use case
.sub Format (Flipper Zero)
Description: Pulse timing array Variants: KEY (decoded) or RAW (pulse data) Size: Small (text file)
Structure (RAW):
Filetype: Flipper SubGhz RAW File
Version: 1
Frequency: 433920000
Preset: FuriHalSubGhzPresetOok650Async
Protocol: RAW
RAW_Data: 1024 -512 512 -1024 ...
Pros:
- Small file size
- Human-readable
- Ready to use with our parser
Cons:
- Only pulse timing (loses amplitude/frequency info)
- KEY format cannot be re-decoded
Converting Between Formats
.cu8 → .sub Conversion (TODO)
Challenge: RTL_433 test files are in .cu8 format, we need .sub
Required Steps:
- Demodulate .cu8 → Extract pulse data
- Extract timing → Pulse widths in microseconds
- Generate .sub → Create Flipper format file
Pseudo-code:
def convert_cu8_to_sub(cu8_file, output_sub):
"""Convert RTL_433 .cu8 to Flipper .sub"""
# 1. Load .cu8 file (I/Q samples)
iq_samples = load_cu8(cu8_file)
# 2. Demodulate (OOK/FSK)
demod_signal = demodulate_ook(iq_samples)
# 3. Extract pulse timing
pulse_data = extract_pulses(demod_signal)
# 4. Generate .sub file
sub_content = f"""Filetype: Flipper SubGhz RAW File
Version: 1
Frequency: 433920000
Preset: FuriHalSubGhzPresetOok650Async
Protocol: RAW
RAW_Data: {' '.join(map(str, pulse_data))}
"""
with open(output_sub, 'w') as f:
f.write(sub_content)
Tools Needed:
scipyfor signal processingnumpyfor array operations- RTL_433 source code as reference
Priority: Medium (would unlock 1,000+ known-good test files)
Testing Strategy
Phase 1: Quick Validation (30 minutes)
Dataset: FlipperZero-Subghz-DB (ready to use)
Steps:
- Download FlipperZero-Subghz-DB
- Extract weather sensor .sub files:
find FlipperZero-Subghz-DB -name "*.sub" | \ xargs grep -l "Weather\|Oregon\|Acurite\|LaCrosse" > weather.txt - Test with 10-20 files
- Measure decode success rate
Expected Result: 10-30% success rate (most are proprietary protocols)
Phase 2: High-Quality Testing (2 hours)
Dataset: UberGuidoZ Flipper (curated)
Steps:
- Download UberGuidoZ database
- Search for specific manufacturers:
find Flipper -name "*.sub" -exec grep -l "Acurite\|Oregon" {} \; - Test all matches
- Document successes/failures
Expected Result: 40-60% success rate (better curation)
Phase 3: Gold Standard Testing (4 hours)
Dataset: RTL_433 test files (requires converter)
Steps:
- Clone rtl_433_tests repository
- Create .cu8 → .sub converter
- Convert 100 test files
- Test all converted files
- Validate 100% decode rate
Expected Result: 95-100% success rate (known good signals)
Phase 4: Synthetic Testing (1 hour)
Dataset: WSSFlipperZero (generated)
Steps:
- Clone WSSFlipperZero
- Generate 10 synthetic weather sensor .sub files
- Test all generated files
- Verify decode accuracy
Expected Result: 80-95% success rate (synthetic signals, protocol-compliant)
Download Script
Created: scripts/download_rf_test_datasets.sh
Usage:
chmod +x scripts/download_rf_test_datasets.sh
./scripts/download_rf_test_datasets.sh
Downloads:
- rtl_433_tests (1,000+ .cu8 files)
- FlipperZero-Subghz-DB (13,717 .sub files)
- UberGuidoZ Flipper (~10,000 files)
- WSSFlipperZero (synthetic generators)
- Full_Flipper_Database (comprehensive)
- awesome-flipperzero (resource list)
Total Download Size: ~1-2GB Total Files: 30,000+ signals
Success Metrics
By Database
| Database | Files | Format | Expected Success |
|---|---|---|---|
| rtl_433_tests | 1,000+ | .cu8* | 95-100% |
| UberGuidoZ | 10,000+ | .sub | 40-60% |
| FlipperZero-Subghz-DB | 13,717 | .sub | 10-30% |
| WSSFlipperZero | Generated | .sub | 80-95% |
*Requires conversion to .sub
By Protocol Type
| Protocol Category | Expected Success |
|---|---|
| Weather Sensors (Oregon, Acurite, LaCrosse) | 90%+ |
| TPMS (Tire Pressure) | 80%+ |
| Wireless Thermometers | 85%+ |
| Security Sensors | 70%+ |
| Doorbells | 65%+ |
| Garage Door Openers | <10% |
| Gate Remotes | <5% |
Next Steps
Immediate (High Priority)
-
Run download script to get datasets
./scripts/download_rf_test_datasets.sh -
Test with FlipperZero-Subghz-DB (no conversion needed)
# Extract weather sensors find data/rf_test_datasets/FlipperZero-Subghz-DB -name "*.sub" | \ xargs grep -l "Weather\|Oregon\|Acurite" > weather_sensors.txt # Test first 10 head -10 weather_sensors.txt | while read file; do echo "Testing: $file" PYTHONPATH=. python3 scripts/test_rtl433_with_known_devices.py "$file" done -
Measure success rate and document results
Short-Term (Medium Priority)
- Create .cu8 → .sub converter
- Convert rtl_433_tests files
- Achieve 95%+ decode rate with known-good signals
Long-Term (Low Priority)
- Build curated test dataset (100 known-good .sub files)
- Create automated testing pipeline
- Contribute findings back to rtl_433 project
References
Web Search Queries Used
flipper zero sub files database weather sensor githubrtl_433 test files samples cu8 github protocol database"acurite" OR "oregon scientific" OR "lacrosse" weather sensor .sub file github
Repositories Found
- https://github.com/merbanan/rtl_433_tests
- https://github.com/Zero-Sploit/FlipperZero-Subghz-DB
- https://github.com/UberGuidoZ/Flipper
- https://github.com/DefinetlyNotAI/Full_Flipper_Database
- https://github.com/timdigga/WSSFlipperZero
- https://github.com/timdigga/OWMFlipperZero
- https://github.com/djsime1/awesome-flipperzero
- https://github.com/ADolbyB/flipper-zero-files
- https://github.com/magikh0e/FlipperZero_Stuff
- https://github.com/honeer/flipper-base
- https://github.com/rgerganov/spoof_temp
Summary
We have identified 6 primary RF signal databases with 30,000+ labeled captures:
Best for immediate testing:
- FlipperZero-Subghz-DB (13,717 .sub files, ready to use)
- UberGuidoZ Flipper (10,000+ files, well-organized)
Best for high-quality validation:
- rtl_433_tests (1,000+ files, 100% labeled, requires conversion)
Best for synthetic testing:
- WSSFlipperZero (generates known-good weather sensor signals)
Next Action: Run ./scripts/download_rf_test_datasets.sh to download all databases and start testing!