Challenger RP2040 SubGHz

by Invector Labs

Image of Board

The Challenger RP2040 SubGHz board is an Arduino/Circuitpython compatible Adafruit Feather format micro controller board based on the Raspberry Pico (RP2040) chip.

This is a spin-off from our Challenger RP2040 LoRa board but in this case we replaced the LoRa module with a low power SubGHz radio module also from Hope RF. The transceiver features a proprietary long range modem that provides ultra-long range spread spectrum communication and high interference immunity whilst minimizing current consumption.

The RFM69HCW is a transceiver module capable of operation over a wide frequency range, including the 315,433,868 and 915MHz license-free ISM (Industry Scientific and Medical) frequency bands. Currently we are only supporting the 868 and 915MHz bands but this may change in the future. All major RF communication parameters are programmable and most of them can be dynamically set. The RFM69HCW offers the unique advantage of programmable narrow-band and wide- band communication modes.

The RFM69HCW is connected to the RP2040 via SPI channel 1 and a few GPIO’s that is required for signaling. A U.FL connector is used to attach your antenna to the board.

Technical details

  • +20 dBm – 100 mW Power Output Capability
  • High Sensitivity: down to -120 dBm at 1.2 kbps
  • High Selectivity: 16-tap FIR Channel Filter
  • Bullet-proof front end: IIP3 = -18 dBm, IIP2 = +35 dBm,80 dB Blocking Immunity
  • Low current: Rx = 16 mA, 100nA register retention
  • Programmable Pout: -18 to +20 dBm in 1dB steps
  • Constant RF performance over voltage range of module
  • FSK Bit rates up to 300 kb/s
  • Fully integrated synthesizer with a resolution of 61 Hz
  • FSK, GFSK, MSK, GMSK and OOK modulations
  • Built-in Bit Synchronizer performing Clock Recovery
  • Incoming Sync Word Recognition
  • 115 dB+ Dynamic Range RSSI
  • Automatic RF Sense with ultra-fast AFC
  • Packet engine with CRC-16, AES-128, 66-byte FIFO
  • Built-in temperature sensor

Purchase

Contribute

Have some info to add for this board? Edit the source for this page here.

CircuitPython 9.1.4

This is the latest stable release of CircuitPython that will work with the Challenger RP2040 SubGHz.

Use this release if you are new to CircuitPython.

Release Notes for 9.1.4

Built-in modules available: _asyncio , _bleio , _pixelmap , adafruit_bus_device , adafruit_pixelbuf , aesio , alarm , analogbufio , analogio , array , atexit , audiobusio , audiocore , audiomixer , audiomp3 , audiopwmio , binascii , bitbangio , bitmapfilter , bitmaptools , bitops , board , builtins , builtins.pow3 , busdisplay , busio , busio.SPI , busio.UART , codeop , collections , countio , digitalio , displayio , epaperdisplay , errno , floppyio , fontio , fourwire , framebufferio , getpass , gifio , hashlib , i2cdisplaybus , i2ctarget , imagecapture , io , jpegio , json , keypad , keypad.KeyMatrix , keypad.Keys , keypad.ShiftRegisterKeys , keypad_demux , keypad_demux.DemuxKeyMatrix , locale , math , memorymap , microcontroller , msgpack , neopixel_write , nvm , onewireio , os , os.getenv , paralleldisplaybus , pulseio , pwmio , qrio , rainbowio , random , re , rgbmatrix , rotaryio , rp2pio , rtc , sdcardio , select , sharpdisplay , storage , struct , supervisor , synthio , sys , terminalio , time , touchio , traceback , ulab , usb , usb_cdc , usb_hid , usb_host , usb_midi , usb_video , vectorio , warnings , watchdog , zlib ,

Included frozen(?) modules: adafruit_rfm69 ,

CircuitPython 9.2.0-beta.1

This is the latest development release of CircuitPython that will work with the Challenger RP2040 SubGHz.

Alpha development releases are early releases. They are unfinished, are likely to have bugs, and the features they provide may change. Beta releases may have some bugs and unfinished features, but should be suitable for many uses. A Release Candidate (rc) release is considered done and will become the next stable release, assuming no further issues are found.

Please try alpha, beta, and rc releases if you are able. Your testing is invaluable: it helps us uncover and find issues quickly.

Release Notes for 9.2.0-beta.1

Built-in modules available: _asyncio , _bleio , _eve , _pixelmap , adafruit_bus_device , adafruit_pixelbuf , aesio , alarm , analogbufio , analogio , array , atexit , audiobusio , audiocore , audiomixer , audiomp3 , audiopwmio , binascii , bitbangio , bitmapfilter , bitmaptools , bitops , board , builtins , builtins.pow3 , busdisplay , busio , busio.SPI , busio.UART , codeop , collections , countio , digitalio , displayio , epaperdisplay , errno , floppyio , fontio , fourwire , framebufferio , getpass , gifio , hashlib , i2cdisplaybus , i2ctarget , imagecapture , io , jpegio , json , keypad , keypad.KeyMatrix , keypad.Keys , keypad.ShiftRegisterKeys , keypad_demux , keypad_demux.DemuxKeyMatrix , locale , math , memorymap , microcontroller , msgpack , neopixel_write , nvm , onewireio , os , os.getenv , paralleldisplaybus , pulseio , pwmio , qrio , rainbowio , random , re , rgbmatrix , rotaryio , rp2pio , rtc , sdcardio , select , sharpdisplay , storage , struct , supervisor , synthio , sys , terminalio , time , touchio , traceback , ulab , usb , usb_cdc , usb_hid , usb_host , usb_midi , usb_video , vectorio , warnings , watchdog , zlib ,

Included frozen(?) modules: adafruit_rfm69 ,

Absolute Newest

Every time we commit new code to CircuitPython we automatically build binaries for each board and language. The binaries are stored on Amazon S3, organized by board, and then by language. These releases are even newer than the development release listed above. Try them if you want the absolute latest and are feeling daring or want to see if a problem has been fixed.

Previous Versions of CircuitPython

All previous releases of CircuitPython are available for download from Amazon S3 through the button below. For very old releases, look in the OLD/ folder for each board. Release notes for each release are available at GitHub button below.

Older releases are useful for testing if you something appears to be broken in a newer release but used to work, or if you have older code that depends on features only available in an older release. Otherwise we recommend using the latest stable release.