Challenger 840 BLE – 2/4/8 MB Datasheet

The Challenger 840 BLE is a small embedded computer equipped with a fully integrated BLE module containing the nRF52840 MCU from Nordic Semiconductor, in the popular Adafruit Feather form factor. The nRF52840 MCU is a 64MHz ARM Cortex M4 based micro controller with an integrated 2.4GHz radio suitable for bluetooth, BLE and many other radio standards.

For more in depth information about the nRF52840 you can look here.

The nRF52840 MCU is in itself very impressive but we wanted to add a few features to create a useful little module that can be used in all sorts of applications and of course we wanted it to support Circuitpython for all of you fan boyz playing along at home.

We also wanted to make it super low power so you could run it for ever on a battery so we used the lowest Iq LDO that we could find and at ~1.5uA you will struggle to find a better solution.

The device can be powered from a Lithium Polymer battery connected through a standard 2.0mm connector on the side of the board. An internal battery charging circuit allows you to charge your battery safely and quickly. The device is shipped with a programming resistor that sets the charging current to ~500 mA. this resistor can be exchanged by the user to either increase or decrease the charging current, depending on the battery that is being used.

The BLE section is integrated into the MCU itself and the integrated module that we are using also comes with an integrated 2.4GHz antenna that makes it super easy to get things going.

The Challenger 840 BLE module also comes with a 2, 4 or 8Mbyte external FLASH memory that can be used for storage or in a Circuitpython environment. In Circuitpython it becomes the CIRCUITPY drive where you store your programs and libraries.

Challenger RP2040 BLE – 2/4 MB

Short introduction to the board

The board is based on a popular form factor called “Feather” which is created and maintained by an American company called Adafruit. The entire specification for the Feather format is available here. The size of the PCB for the module is 50.80mm x 22.86mm but the entire module is a little bit bigger as the Type C USB connector protrudes about 1 mm outside the board.

On the opposite end from the USB connector the you will find the antenna. This is an integrated meandered planar inverted-F antenna (PIFA) and as always you should keep it away as far as possible from enclosure walls, wires running in the enclosure and big ground planes.

On each of the longer sides of the PCB there are holes intended for soldering pin header connectors. If you don’t want to use connectors for some reason you can also solder a wire directly into the hole, making a permanent connection to your external device. If you go this way please make sure that the wires are fixed in place, otherwise vibrations can cause the wire to brake at the soldering point.

On each side of the USB connector there is a small indicator LED placed. The LED which is marked CHG is the charge control indicator. This red LED will shine whenever the connected battery is being charged, and when the battery is fully charged the LED will turn off again. If you haven’t connected a battery to the board this LED will not come on at all.

On the other side of the USB connector there is a user programmable green LED. This LED is connected to pin D15 and can easily be controlled by the user program.

Hardware details


The on board micro controller have a number of communication channels that have been routed out to the side (header connector) connectors.

  • UART – One UART channel have been routed to the header pins (RX, TX).
  • SPI – One SPI channel have been routed to the header pins (SCK, SDO, SDI)
  • I2C – One I2C channel have been routed to the header pins (SCL, SDA).
  • Analog pins – The micro controller have 6 analog input pins that all are available on the header pins (A0-A5).
  • PWM – All pins can be used for PWM.

The pin chart below shows the placement of all pins and their respective functions.


The board can be powered from multiple sources. The most obvious way to run the board is by plugging it in to a USB cable and attach it to your computer. In this mode you can write software and test the board with all its functionality.

There is also a third way to supply the board. This way is more invasive and will disable the onboard 3.3V power regulator.

You will have to pull the EN header pin low and then supply your own 3.3V voltage on the 3.3V header pin. Please note that when disabling the onboard power regulator you will have to supply the 3.3V also when running the system on battery power.


As described earlier the board can be powered from a LiPo battery. The battery can be connected using a standard 2-pin 2.0mm JST PH connector through the battery connector on the right side of the board or ff the battery is an integral part of the system that you are designing it is possible to connect the battery through the BAT pin instead.

Switching between the battery voltage and the applied USB voltage or external 5V is done seamlessly by the on board circuitry.

Charging of the battery is done by either connecting a USB cable or by connecting a 5V power source to the header pin marked USB on the board. If you do this make sure you connect your voltage through a 1A schottky diode to avoid any excessive current draw in the system when the two levels are slightly different.

Please note that providing external charger circuitry could destroy the internal charger on the Challenger board.

On Board FLASH memory

The board is equipped with a 2 MByte, 4 MByte or 8 MByte (Depending on the model you buy) external serial FLASH memory that allows you to create file systems, use as bulk storage or even as a disk drive where you store your python programs.

Extra LED’s

Besides the standard red and green LED’s there is also an extra blue LED that is used by the system in some situations to indicate system status/progress. There’s also a NEOPIXEL LED that also gives some status information.

  • In UF2 boot loader mode the blue LED pulsates and the neopixel shines whit a steady green soft light.
  • While the UF2 boot loader is downloading code and flashing the internal memory the blue LED blinks and the neopixel goes soft red.

Normally both of these LED’s can also be programmed by the user to create his/her own functions.

Board Size50,80 mm x 22,86 mm x 3,20 mmUSB Connector protrudes ~1mm outside PCB
Main micro controllernRF52840 from Nordic Semi64MHz Cortex M4 with FPU
SPIOne SPI channels configured
I2COne I2C channel configured
UARTOne UART channel configured
Analog inputs6 analog input channels
Radio functionsBluetooth Low Energy, Bluetooth mesh
ANT, 802.15.4, Thread, Zigbee
FLASH Memory1MByte
External FLASH Memory2MByte, 4MByte or 8Mbyte
SRAM Memory256KByte
USB 2.0 controllerUp to 12MBit/s full speedIntegrated USB 1.1 PHY
JST Battery connector2.0mm pitch
On board LiPo charger500 mA nominal charge current
Technical Data