Hardware Support
Boards and peripherals required for GhostESP SubGHz
SubGHz functionality requires a CC1101-based radio module. Not all GhostESP boards include this hardware.
Supported boards
SubGHz support depends on the board configuration. Check the build configuration (sdkconfig) for these options:
- CONFIG_HAS_SUBGHZ - Board has local CC1101 hardware
- CONFIG_HAS_SUBGHZ_REMOTE - Board supports remote SubGHz mode (display/control only)
Boards with SubGHz support will have the CC1101 module integrated or available as an add-on.
CC1101 module
The SubGHz functionality uses the Texas Instruments CC1101 low-power sub-1 GHz transceiver chip.
Frequency coverage
The CC1101 supports the following frequency ranges:
- 300-348 MHz
- 387-464 MHz
- 779-928 MHz
GhostESP uses the common bands within these ranges: 315, 390, 433.92, 868.35, and 915 MHz.
SPI configuration
The CC1101 communicates via SPI. The board configuration defines the following pins:
- CONFIG_SUBGHZ_SPI_HOST - SPI bus number (typically 2 or 3)
- CONFIG_SUBGHZ_SPI_MOSI_PIN - MOSI pin
- CONFIG_SUBGHZ_SPI_MISO_PIN - MISO pin
- CONFIG_SUBGHZ_SPI_SCK_PIN - SCK pin
- CONFIG_SUBGHZ_CSN_PIN - Chip select pin
- CONFIG_SUBGHZ_GDO0_PIN - GPIO0 interrupt pin
- CONFIG_SUBGHZ_GDO2_PIN - GPIO2 interrupt pin
These values are set in the board’s sdkconfig file and should not be modified unless adding custom hardware.
Antenna requirements
A properly matched antenna is essential for SubGHz operation:
- Frequency-specific: Use an antenna tuned to the target frequency band.
- Impedance: 50 ohm impedance matching is standard.
- Connector: SMA or u.FL connector depending on the board.
- Gain: Higher gain antennas improve range but may violate regulatory limits.
Common antenna types
- Dipole antennas - Simple, omnidirectional, good for general use
- Helical antennas - Compact, moderate gain
- Yagi antennas - Directional, high gain for long-range applications
Power considerations
The CC1101 operates at low power but current draw increases during transmission:
- Receive mode: ~15 mA
- Transmit mode: ~30-50 mA (depending on power setting)
Ensure your power supply can handle these currents, especially during extended transmission periods.
Remote mode
Some boards support remote SubGHz mode (CONFIG_HAS_SUBGHZ_REMOTE only). In this mode:
- The board acts as a display/control interface
- Actual SubGHz operations are performed by a peer device
- Commands are sent over the communication link
- Useful for separating display from radio hardware
Developer notes
When adding SubGHz support to a custom board:
- Integrate a CC1101 module with appropriate SPI connections
- Configure the SPI pins in the board’s sdkconfig
- Set CONFIG_HAS_SUBGHZ=y in the configuration
- Add an appropriate antenna connector
- Test with the
subghz statuscommand to verify hardware detection
Regulatory compliance
SubGHz radio operation is subject to local regulations:
- FCC (USA) - Part 15 rules for unlicensed operation
- ETSI (Europe) - CE marking requirements
- Other regions - Check local regulations before transmission
Always ensure your usage complies with local laws and regulations regarding radio transmission.
Troubleshooting
- SubGHz not available: Verify CONFIG_HAS_SUBGHZ or CONFIG_HAS_SUBGHZ_REMOTE is set in the build config.
- Hardware detection fails: Check SPI pin configuration and CC1101 power supply.
- Poor reception: Verify antenna connection and use a frequency-matched antenna.
- Transmission issues: Ensure adequate power supply and check regulatory compliance for transmission power.
