Skip to content

Latest commit

 

History

History
81 lines (66 loc) · 6.35 KB

File metadata and controls

81 lines (66 loc) · 6.35 KB

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)