MicroPython Integration
The nXPico M is fully programmable in MicroPython. Rather than dealing with hardware registers or low-level drivers, you import a neXo library and start using the hardware immediately.
Getting Started
Section titled “Getting Started”Download the latest firmware.uf2 and flash the board as described in Build & Flash. The firmware already includes all three neXo libraries — no additional installation required.
Alternatively, clone the SDK from our GitHub and build your own .uf2 to bundle additional libraries or customise the firmware.
neXo Modules
Section titled “neXo Modules”Four dedicated modules cover all onboard peripherals and cryptographic capabilities of the nXPico M.
led — RGB Status LED
Section titled “led — RGB Status LED”Controls the onboard WS2812 addressable RGB LED (GPIO23). Wraps the MicroPython neopixel driver with a simple colour-name API.
modem — LTE-M / NB-IoT / GPS
Section titled “modem — LTE-M / NB-IoT / GPS”Manages the nRF9151 modem over UART1 with hardware flow control. Handles power sequencing, AT-command exchange, and response parsing.
The nRF9151 is configured and queried via AT commands. The complete command set is documented in the official Nordic references:
- nRF9151 AT Commands Reference — full AT command specification
- AT Client sample — how to test commands interactively from a terminal using the Nordic nRF Connect SDK
powman — Low-Power Timer
Section titled “powman — Low-Power Timer”Bare-metal interface to the RP2350A Power Manager (POWMAN). Schedules wake-ups from deep sleep with microsecond resolution by writing directly to the hardware registers via machine.mem32.
x509gen — Key & Certificate Generation
Section titled “x509gen — Key & Certificate Generation”C extension built on mbedTLS. Generates RSA or EC key pairs and produces self-signed X.509 certificates or CSRs entirely on-device — no PC, no OpenSSL, no external CA required at provisioning time. The output is typically written directly to the nRF9151 secure storage via the modem module.