Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

nRF24L01+ 2.4 GHz Wireless Connectivity With the tinyK20 Board

DZone's Guide to

nRF24L01+ 2.4 GHz Wireless Connectivity With the tinyK20 Board

This will teach you how to set up a board with low power.

· IoT Zone ·
Free Resource

Hello and welcome! Today, I'm running you through what I used to create a low-power board for my projects. I'm using the tiny and inexpensive Nordic Semiconductor nRF24L01+ transceiver (see "Tutorial: Nordic Semiconductor nRF24L01+ with the Freescale FRDM-K64F Board") in many projects. It costs less than $3 and allows me to communicate with a proprietary 2.4GHz protocol in a low-power way (see "IoT: FreeRTOS Down to the Micro Amps"). I have that transceiver now running with the tinyK20 board, too:

Image title

nRF24L01+ Transceiver With tinyK20

The normal 2×3 pin rows of the transceiver module are not very bread board friendly. I have used the following connections to the nRF module:

  • SPI MISO: PTC7
  • SPI MOSI: PTC6
  • SPI SCK: PTC5
  • CE: PTC2
  • CSN: PTD1
  • IRQ: not connected
  • 3.3V: 3.3V
  • GND: GND

Image title

tinyK20 nRF24L01+ Connection

The project is for Eclipse (NXP Kinetis Design Studio) and is using the RNet wireless network stack:

Image title

nRF24L01+ Project for tinyK20

For easier portability to other microcontrollers, the project is using Processor Expert components, which encapsulate the low-level drives and software stacks including the RTOS:

Image title

nRF24L01+ Components

The project includes a command line interface (38400 baud, 8N1) to send and receive messages, to do remote command execution and to inspect the status of the transceiver using Segger RTT. Plus it includes a wireless packet sniffer.

Image title

Command Line Shell with Segger RTT

Alternatively, a USB CDC or UART (serial) connection can be used.

I'm not going much into details how to use the nRF24L01+, RNet and all the other components. Check the links at the end of this article for more details.

Summary

With this project I have the tinyK20 board enabled with 2.4 GHz wireless connectivity for less than $3 using the Nordic Semiconductor nRF24L01+ transceiver. I plan to use this in one of my next projects which need to have all board components in a small enclosure. Here, the tinyK20 fits well.

The sources of this project are available on GitHub here: https://github.com/ErichStyger/mcuoneclipse/tree/master/Examples/KDS/tinyK20/tinyK20_nrf

Topics:
iot app development ,real-time ,low latency

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}