Challenger RP2040 WiFi

by Invector Labs

Image of Board

The Challenger RP2040 WiFi is an Arduino/Micropython compatible Adafruit Feather format micro controller board based on the Raspberry Pico chip.

When we designed this board we took our existing Challenger M0 WiFi board and replaced the SAMD21 micro controller with the much more powerful dual core RP2040 Cortex-M0 device. The RP2040 have two Cortex-M0 CPU cores clocked at 133 Mhz and 264 Kbyte SRAM integrated. On our board we decided to put a 8 MByte flash memory for your programs and file storage.

Just like the Challenger M0 WiFi it has a ESP8285 WiFi chip. For those of you that is unfamiliar with this device, it is basically an ESP8266 device with an integrated 1 MByte of flash memory. This allows us to have an AT command interpreter inside this chip that the main controller can talk to and connect to you local WiFi network. The communications channel between the two devices is an unused UART on the main controller and the standard UART on the ESP8285. As simple as it can be.

Technical details

  • Raspberry Pi Pico Dual Core Cortex-M0 @ 133 MHz
  • 8 MByte FLASH Memory
  • 264 KByte SRAM Memory
  • 1 Hardware I2C channel
  • 1 Hardware SPI channel
  • 1 Hardware UART for the user (Serial1)
  • 1 Hardware UART connected to the network processor (Serial2 @ 1Mbit/s)
  • 12 Bit ADC.
  • ESP8285 with internal 1MByte FLASH Memory
  • WiFi (2.4 GHz)
  • Espressif AT interpreter
  • Communicates at 921600 bits/s
  • Neopixel LED
  • LiPo charger circuit with 250 mA charging current
  • Standard LiPo battery connector
  • USB-C connector



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

CircuitPython 8.2.6

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

Use this release if you are new to CircuitPython.

Release Notes for 8.2.6

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, bitmaptools, bitops, board, builtins, builtins.pow3, busio, busio.SPI, busio.UART, collections, countio, digitalio, displayio, errno, floppyio, fontio, framebufferio, getpass, gifio, i2ctarget, imagecapture, io, json, keypad, keypad.KeyMatrix, keypad.Keys, keypad.ShiftRegisterKeys, math, microcontroller, msgpack, neopixel_write, nvm, onewireio, os, os.getenv, paralleldisplay, pulseio, pwmio, qrio, rainbowio, random, re, rgbmatrix, rotaryio, rp2pio, rtc, sdcardio, select, sharpdisplay, storage, struct, supervisor, synthio, sys, terminalio, time, touchio, traceback, ulab, usb_cdc, usb_hid, usb_midi, vectorio, watchdog, zlib

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.