BLE HID Multiple Peripherl Example on Nordic nRF52 Series

This blog is to use Nordic nRF52840 as the BLE keyboard with multiple peripheral role. Those keyboard would connect to multiple mobile (BLE central) for demo. I would use the HOGP Keyboard example on this blog. HID over GATT Profile Specification (HOGP) This profile requires the Generic Attribute Profile (GATT), the Battery Service, the Device … Continue reading BLE HID Multiple Peripherl Example on Nordic nRF52 Series

High Speed UART on Nordic nRF52 Series

This blog is to show how to run the high speed UART on Nordic NRF52 Series MCU. I would introduce new advance UART library (libuarte) on the SDK 16.0 which is ready on the production release. Following up the post ( https://jimmywongiot.com/2019/04/17/overview-uart-driver-handling-at-nrf52/), I would like to show another approach how to configure UART on nRF52 … Continue reading High Speed UART on Nordic nRF52 Series

QSPI Flash Read / Write / Erase on nRF52840

Goal This blog is to describe how to use the QSPI flash as the external flash storage. I would introduce some idea how to configure the QSPI flash on the nRF52840 DK board and provide the example code with description on usage. QSPI Driver The Quad Serial Peripheral Interface (QSPI) driver includes two layers: the … Continue reading QSPI Flash Read / Write / Erase on nRF52840

LCD Demo 320×240 RGB(565) on nRF52840

This blog is to provide a video demo how fast the Nordic nRF52840 works with LCD display. The idea is to regular poll the touch sensor data and then load the image from QSPI flashto update the LCD screen through high speed SPIM3. I used the Adafruit 1947 board ( ARDUINO / SHIELDS / TFTS & DISPLAYS / 2.8" TFT TOUCH … Continue reading LCD Demo 320×240 RGB(565) on nRF52840

How to measure the Packet Error Rate during the BLE connection

This blog shows a method how to measure the packet error rate during the BLE connection. Basically, if you run on the DTM (Directed Test Mode), it has the option to measure the Packet Error Rate (PER). For example, By using python script to send the UART data for controlling DTM firmware, the device can … Continue reading How to measure the Packet Error Rate during the BLE connection

Description of UICR on nRF52 Series

In this blog, I would describe the UICR region and how to use it in details. It covers the following topic: Memory Layout (Address) of the UICRRegisters in UICR (and each functionality)How to write / read / erase on the UICR by using the nrfjprog Dump flash / ram / registers Memory Layout The user … Continue reading Description of UICR on nRF52 Series

Power Failure Protection on FDS (Flash Data Storage)

Flash Data Storage moduled has been introduced since SDK 11.0 or later. Comparing to the Pstorge module, it brings some benefits. Using the FILE ID instead of the flash addressReduce the number of flash erase time (by marking the erase page first and then do the garbage collection if need). In this blog, I would … Continue reading Power Failure Protection on FDS (Flash Data Storage)

Bluetooth 5 : Long Range + Advertising Extension on NRF52840

This blog is to describe how to use the nRF52840 for the Bluetooth 5.0 for advertising extension / long range. The Softdevice S140v6.1.1 has started to support the extended advertising and work with Coded PHY. Such as Extended Advertising support Advertising and scanning up to 255 bytes of advertising data in an advertising eventAdvertising, scanning, … Continue reading Bluetooth 5 : Long Range + Advertising Extension on NRF52840

Serial UART DFU on nRF5 SDK (by using host tool instead of nRFUtil in C Code application)

Overview Based on the documentation of BLE Secure DFU example, it supports on the BLE / ANT/Serial UART DFU. This blog would mainly focus on the Serial (UART) DFU.  Inside the Nordic official example, it would use the nrfutil (written in Python script) as the host application for device firmware upgrade. I would use another … Continue reading Serial UART DFU on nRF5 SDK (by using host tool instead of nRFUtil in C Code application)

How to do the Channel Map Request after the RSSI Channel Survey [Quality of Service QoS]

This blog is to demo how to do the channel survey and update the channel map at the central role. Since Softdevice S132/S140 v6.x or later, it has started to support the feature to do the channel survey (Quality of Serivce [QoS].  This feature provides to measure of the energy levels on specify channels.  The … Continue reading How to do the Channel Map Request after the RSSI Channel Survey [Quality of Service QoS]

OLED display support for nRF52 Series

LCD is one of the best approach to show some demo. Just have a quick example port on the github how to use OLED display (SSD1306) for connecting to nRF52840 DK board. https://github.com/jimmywong2003/SSD1306-LCD-on-NRF52 It used the Nordic SDK 15.3 to connect two difference SSD1306 resolution displays through I2C interface. SSD1306 128x64 SSD1306 128x32 There are … Continue reading OLED display support for nRF52 Series

How to read/write/erase on QSPI through nrfjprog

NRF52840 DK board has a QSPI flash.  It can use to run the code (SIP) or act as the external normal flash. In this passage, I would like to share how to use the nrfjprog for accessing the QSPI flash on the NRF52840 DK Board. if you need to use the qspi on the NRF52840 … Continue reading How to read/write/erase on QSPI through nrfjprog