An experimental Ada radio framework for the RP2040 without a dedicated RF transceiver.
Status: Currently supports programmable carrier generation.
Radio_Kit explores radio signal generation using the RP2040's native clock-generation hardware. The current version provides programmable carrier generation through the RP2040's general-purpose clock outputs.
Radio_Kit is inspired by RadioMCU, an experimental project demonstrating FM signal generation on the RP2040 without a dedicated RF transceiver. The project also takes technical inspiration from pico-fractional-pll for RP2040 clock-generation techniques.
Radio_Kit is an independent Ada implementation and does not reuse RadioMCU or pico-fractional-pll source code.
- Written in Ada
- Designed specifically for the RP2040
- Uses
pico_bsp - No dedicated RF transceiver required
- Configurable carrier frequency from 6 Hz to 90 MHz
- 90 MHz SYS clock configuration
- RP2040 fractional GPOUT divider support
Applications select a GPIO pin instead of directly selecting a GPOUT.
| GPIO Pin | Clock Output |
|---|---|
| GPIO21 | GPOUT0 |
| GPIO23 | GPOUT1 |
| GPIO24 | GPOUT2 |
| GPIO25 | GPOUT3 |
Each clock output can only be reserved by one Radio_T instance.
The repository includes a basic example demonstrating carrier generation with Radio_Kit.
The example is located at:
examples/basic_carrier
It demonstrates how to configure a Radio_T instance and transmit a carrier using one of the supported GPIO clock outputs.
See examples/basic_carrier for the complete example and build instructions.
Version: 0.2.0
The current implementation supports unmodulated carrier generation.
Future versions may add:
- Stop and output release support
- Runtime frequency changes
- FM and other modulation methods
- PIO and DMA-based signal generation
- Data transmission
- Experimental RP2040-to-RP2040 communication
Radio_Kit can generate signals that may radiate electromagnetic energy, especially when wires or other conductive structures are connected to an output GPIO.
Use the library responsibly, follow applicable RF regulations, and avoid unauthorized transmissions.
Apache License 2.0.