Table of Contents
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
BHT TX transmits remote streetlight management messages using two protocols — Xylos and EPAR — developed by BH-Technologies for public lighting control in France and some other European cities. The two protocols are selected via tabs and differ in their encoding and address structure. Settings are saved to tx_bht.ini.
Note: Transmission on the frequencies used by these systems requires authorisation. Use only in a closed RF environment or with explicit permission from the network operator.
Xylos Tab
Xylos encodes commands as a sequence of 20 CCIR tones (100 ms per tone, 400 ms silence). Each field in the address hierarchy narrows which receivers respond.
- Header A / Header B: Two 2-digit numeric codes (0–99 each). These form the protocol header identifying the network.
- City code: Numeric code identifying the municipality. Range: 0–99.
- Family: Receiver family number. Range: 0–9.
- Subfamily: Receiver sub-group. Range: 0–9. The All checkbox sends a wildcard that matches all subfamilies in the selected family.
- Receiver ID: Individual receiver address. Range: 0–99. The All checkbox sends a wildcard that addresses all receivers in the selected subfamily.
- Relay 1–4: Four independent relay states. Each relay can be set to Ignore (no change), Off, or On, shown as bulb icons.
EPAR Tab
EPAR (also called EP) uses OOK encoding at approximately 580 baud. Each transmission is repeated 26 times.
- City code: Municipality code. Range: 0–255.
- Group: Receiver group on the installation. Options: A, B, C, or TP (test point).
- Relay 1–2: Two relay states, each Off or On.
Common Controls
- Scan: When checked, the app steps through the address range automatically after each transmission, incrementing the receiver address until the full range is covered. A progress bar tracks scan progress.
- Flashing: After each transmission, the app waits the number of seconds set in the speed field, flips all relay states to the opposite, then retransmits. This creates a flashing/toggling effect on the controlled lights.
- Speed: Interval in seconds between flashing toggles. Range: 1–99 s. Default: 1 s.
- Frequency: Editable via the keypad. The Xylos protocol operates in the 31–32 MHz band; EPAR deployments vary by installation.
- LNA gain (0–47 dB) and RF Amp (0 or 14 dB): Standard TX gain controls.
- TX / Stop: Starts or stops the transmission.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Start here
Contributors
How to collaborate
Contributing Guidelines
How to ask questions correctly
Hardware
- PortaPack Versions (which one to buy)
- Features
- HackRF Versions
- Description of the hardware
- Enclosure/cases
- Repairs
- Mods
User manual
Intended use and Legality
- Usage cautions
- First steps
- Firmware update procedure
- User interface
- Powering the PortaPack
- Troubleshooting
- Won't boot
- Config Menu
- Firmware upgrade
- Diagnose firmware update in Windows
- Receive Quality Issues
- No TX/RX
- TX Carrier Only
- H2+ speaker modifications
- Dead Coin Cell Battery
- Factory Defaults
- SD card not recognized by PC with the SD-card over USB selected
- DFU overlay
- Full reset
- SolveBoard
- How to Format SDCard
- What if I don't like some of the apps
Applications
- 📥 Receivers
- 📤 Transmitters
- ADS-B(S) TX
- Adult Toys
- APRS TX
- BHT Xy/EP
- BLE TX
- BLESpam
- Burger Pager
- CVS Spam
- EPIRB
- FlipperTX
- GPS Sim
- Hopper
- Jammer
- KeeLoq TX
- Key fob TX
- LGE Tool
- MDC-1200 TX
- Morse TX
- OOK
- OOK Brute
- OOK Editor
- P25 TX
- POCSAG TX
- RDS
- RTTY TX
- SAME TX
- Signal gen
- Soundboard
- Spectrum Painter
- SSTV
- TEDI/LCR
- TouchTunes
- TPMS TX
- 🔄 Transceivers
- 🟡 Recon
- 🔴 Capture
- ▶️ Replay
- 🖲️ Remote
- 🔍 Looking Glass
- 🛠️ Utilities
- 🎮 Games
- ⚙️ Settings
- 💻 HackRF Mode
Misc
Developer Manual
- Compilation of the firmware
- Compile on WSL with ninja
- How to compile on Windows faster with WSL 2
- Using Docker and Kitematic
- Docker command-line reference
- Using Buddyworks and other CI platforms
- Notes for Buddy.Works (and other CI platforms)
- Using ARM on Debian host
- All in one script for ARM on Debian host
- Compile on Arch based distro (exclude Asahi), or other weird distros
- Dev build versions
- Notes About ccache
- Create a custom map
- Code formatting
- PR process
- Description of the Structure
- Software Dev Guides
- Tools
- Research
- UI Screenshots
- Maintaining
- Creating a prod/stable release (Maintainers only)
- Maintaining rules
- Development States Notes
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Note
The wiki is incomplete. Please add content and collaborate.
Important
- This is a public wiki. Everything is visible to everyone. Don't use it for personal notes.
- Avoid linking to external tutorials/articles; they may become outdated or contain false information.