Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

ArduinoNRF documentation

All project documentation lives here. Start with the project README for the overview and quick start.

Getting started & status

Uploading

Debugging

Boards

Peripherals (subsystem drivers)

  • platform/PWM_MULTI_MODULE.md — 4-module / 16-channel PWM facade, per-pin frequency, polarity, complementary pairs
  • platform/RTC_DRIVER.md — low-level driver for RTC0/1/2 (compare + overflow IRQs)
  • cores/arduino/NrfPower.h — power management: System ON sleep (WFI/WFE), low-power / constant-latency sub-modes, DCDC, RAM retention, SystemOFF + GPIO / NFC / USB wake sources
  • cores/arduino/NrfNfcTag.h — NFC-A Type 2 tag emulation (NDEF URI / text), field detect IRQ, read count
  • cores/arduino/NrfPeripherals.hNrfRng (TRNG), NrfWdt (watchdog), NrfTemp (die temp), NrfQdec (rotary encoder), NrfTimer (TIMER0–4), NrfNvmc (flash erase/write), NrfPpi (peripheral routing), NrfEgu (software events + SWI on 6 channels), NrfComp (analog comparator), NrfMwu (memory watch unit), NrfGpioteOut (output channels for PPI use)
  • cores/arduino/NrfMediaPeripherals.hNrfQspi (external NOR flash), NrfPdm (MEMS mic), NrfI2s (digital audio). API complete; not verified on the reference ProMicro (no external flash/mic/codec wired) — boards with that hardware need their own verification pass.

Wireless stacks

  • NimBLE (libraries/NimBLE/) — working. The vendored Apache Mynewt NimBLE host+controller runs on a bare-metal cooperative port. Advertising, connections, MTU exchange, and full GATT service/characteristic/descriptor discovery are verified on hardware against Windows (bleak/WinRT), Android (nRF Connect), and board-to-board. Exchange data over the built-in Nordic UART service with NimBLE::write() / NimBLE::onReceive(). See the BLE section of the project README and the NimBLESmoke, BLESend, and BLEReceive examples.
  • Zigbee / 802.15.4. The future-facing onboard path is Nordic's official nCS Zigbee R23 add-on as a sidecar firmware flow for the nRF52840's own RADIO. The existing Arduino sketch path remains the external CC2530 module: flash it with the built-in CC-Debugger (libraries/CCDebugger/, no external programmer) and drive it with the separate ArduinoNRF-Zigbee library. Full guide: platform/ZIGBEE.md.
  • Thread (OpenThread) — working IPv6 mesh on the nRF52840's own radio. Full OpenThread FTD on a bare-metal 802.15.4 driver, in the separate NiusThread library (the in-package libraries/Thread/ is a compatibility shim). HW-verified two-node mesh with UDP. Full guide: platform/THREAD.md.
  • CC310 (CryptoCell 310) — working hardware crypto on the nRF52840. SHA-256, AES-CBC/CTR, ECDSA/ECDH P-256, TRNG on the accelerator (CRYS runtime) plus AES-GCM (Oberon), in the separate NiusCrypto library (the in-package libraries/CC310/ is a compatibility shim). HW-verified on ProMicro. Nordic binaries are fetched locally — see NiusCrypto's docs/VENDORING.md.
  • Not yet an Arduino sketch library: libraries/Zigbee/ remains an experimental placeholder and returns ZIGBEE_NOT_VENDORED. Official onboard Zigbee starts with the nCS sidecar tools in tools/ncs_zigbee.

Platform reference (capabilities & truth)