====== Nordic Semiconductor ====== {{:en:iot-open:czapka_b.png?50| General audience classification icon }}{{:en:iot-open:czapka_e.png?50| General audience classification icon }}\\ Nordic Semiconductor is a company established in Norway that develops and produces exciting electronic elements capable of transmitting data with radio signals. Among other advanced chips, their portfolio includes the nRF52 family of SoCs, which support low-power radio communication with chosen popular protocols, including Bluetooth Low Energy, ZigBee, NFC, Matter and Thread. They achieved high popularity due to the low power consumption possible by implementing an advanced, adaptive power management system. There are a few versions of chips which support different combinations of protocols. The simplest nRF52805 supports BLE only, while the most advanced nRF52840 is a fully multiprotocol chip with all previously mentioned standards support. A non-exhaustive list of features and nRF boards is present in table {{ref>nrfspecs}}. == Hardware == Nordic Semiconductor's series of SoCs includes a powerful and efficient ARM® core that, together with advanced power management, allows the creation of advanced projects with ultra-wol power consumption. All SoCs have Flash memory for programs, eliminating the need for connecting the external memory. Flash can be programmed during production, but it also can be re-programmed after implementation in a ready product with OTA (Over The Air). There are some development boards available for nRF52 series SoCs. Nordic Semiconductor produces development kits for nRF52, nRF52833 and nRF52840. For the last one, there is also a USB dongle. Other companies also offer their development boards for the nRF52 series with very interesting Arduino Nano 33 BLE, Adafruit Feather nRF52 Bluefruit LE, and Adafruit Feather nRF52840 Sense among them. == Processor == All nRF52 SoCs are built with 64 MHz ARM® Cortex-M4 core working at 64MHz of clock. The central processor is supported by a floating point calculation unit (FPU). == Memory == Different versions contain different sizes of RAM and Flash memory. The **nRF52805**, **nRF52810**, and **nRF52811** have 192kB of Flash and 24 kB of RAM. The nRF52820 has 256kB of Flash and 32 kB of RAM. The **nRF52832** can have 256 or 512 kB of Flash and 32 or 64 KB of RAM, depending on the version. The nRF 52833 has 512 kB of Flash and 128kB of RAM, and the **nRF52840** has 1MB of Flash for the program and 256kB of RAM for data. == Networking == The nRF52 family was developed to support low-power radio communication using a 2.4GHz band. This set of protocols includes Bluetooth 5.4, Thread, Matter, Zigbee, and Bluetooth Mesh. nRF52 family of SoCs does not support WiFi directly or wired Ethernet network protocol. To achieve such functionality, it is necessary to use a network chip connected via SPI. == Peripherals == The nRF SoCs are equipped with a rich set of peripherals, including: * GPIO – General Purpose Input Output lines, * TWI – Two Wire interface that can work in both master or slave mode, * SPI – Serial Peripheral Interface working in master or slave mode, * UART – Universal asynchronous receiver/transmitter, * Timer – timer/counter unit, * RTC – Real-time counter, * WDT – Watchdog timer. In selected models, additional units are available: * QSPI – Quad SPI and high-speed SPI in some versions, * I2S – Inter-IC sound interface, * USB – Universal serial bus device, * PDM – Pulse Density Modulation (PDM), * PWM – Pulse Width Modulation, * COMP – Analog comparator with low power version LPCOMP, * SAADC – Successive approximation analog-to-digital converter. All peripherals are connected to the processor via PPI (Programmable Peripheral Interconnect), ensuring flexible use of units. Peripherals have input signals **Task** that trigger their operation and output signals **Event**, which inform of some situation. These signals can be connected, creating hardware dependencies between units, making it possible to synchronise the operation of peripherals without the need for processor use. Some units can be handled with an internal DMA mechanism (EasyDMA) that supports data transmission between peripherals and memory without code execution. To enable safe wireless transmission, some cryptographic hardware units are included: * RNG – Random Number Generator, * ACL – Access contol list, * AAR – Accelerated address resolver, * CCM – Cipher block chaining - message authentication code, * ECB – AES electronic codebook, * Cryptocell. The Cryptocell is a particular security subsystem developed by ARM®, which provides a device's root of trust (RoT) and cryptographic services. ^ Version ^ nRF52805 ^ nRF52810 ^ nRF52811 ^ nRF52820 ^ nRF52832 ^ nRF52833 ^ nRF52840 ^ | Bluetooth 5.4 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | | Bluetooth Mesh | | | | Yes | Yes | Yes | Yes | | Thread | | | | Yes | | Yes | Yes | | Matter | | | | | | | Yes | | ZigBee | | | | Yes | | Yes | Yes | | Flash size [kB] | 192 | 192 | 192 | 256 | 256/512 | 512 | 1024 | | RAM size [kB] | 24 | 24 | 24 | 32 | 32/64 | 128 | 256 | | FPU | | | | | Yes | Yes | Yes | | Advanced SPI | | | | | | High speed | High speed, QSPI | | USB | | | | Yes | | Yes | Yes | | Analog | ADC | ADC, Comp | ADC, Comp | Comp | ADC, Comp | ADC, Comp | ADC, Comp | | Others | | PWM, PDM | PWM, PDM | | PWM, PDM, I2S | PWM, PDM, I2S | PWM, PDM, I2S | | No. of GPIOs | 10 | 15-32 | 15-32 | 18 | 32 | 18-42 | 48 |
Hardware summary for nRF family SoCs
== The most popular boards == Nordic Semiconductor created development boards for their SoCs. The most popular is nRF52840 DK (figure {{ref>nRF_DK_photo}}), which includes the nRF52840 chip, SEGGER J-Link debugger, the micro USB port for flashing, debugging and serial data communication, four user buttons, and four user LEDs. The board has a shape similar to Arduino, with all 48 GPIOS available at the header connectors, and is shipped with an NFC antenna.
{{ :en:iot-open:hardware2:20230925_120026_-_kopia.jpg?600 | nRF52840 DK development board}} nRF52840 DK development board
Another board created by Nordic Semiconductor is a USB dongle (figure {{ref>nRF_USB_photo}}) with the same nRF52840 SoC built-in. It doesn't have a debugger but supports uploading the code via USB using the bootloader. It has 15 GPIO lines available.
{{ :en:iot-open:hardware2:20231002_125838_-_copy.jpg?200 | nRF52840 USB dongle}} nRF52840 USB dongle
Adaftuit developed an exciting board nRF52840 Feather Sense (figure {{ref>nRF_Adafruit_photo}}). It contains the nRF52840 SoC and a set of different sensors, making it helpful in developing sensor devices with wireless connectivity. This board also has a Li-Po battery charger and a digital RGB LED.\\ Sensors include: * LSM6DS33 accelerometer and gyro, * LIS3MDL magnetometer, * APDS9960 proximity, light, colour and gesture sensor, * MP34DT01-M microphone, * SHT-30 humidity sensor, * BMP280 temperature and air pressure sensor.
{{ :en:iot-open:hardware2:20230925_120109_-_kopia.jpg?300 | Adafruit nRF52840 Feather Sense}} Adafruit nRF52840 Feather Sense