Interacting with the nRF5x hardware peripherals

  • LabA-6.1) nRF5x GPIO tutorial: In this sub lab, we will take a close look on the General Purpose Input/Output (GPIO) hardware peripheral (aka: GPIO Port) available inside an nRF5x SoC, its registers layout and available software abstraction layers. The GPIO will be used in this lab to communicate with the  push buttons and LEDs on the nRF52840-DK . Even though there is an easier approach to interact with the LEDs and push buttons which is through the Board Support Package (BSP)  library seen in LabA-5 , however, understanding the GPIO port is critical and will enable us to interface with a broader range of external circuitry and not just the board’s LEDs and push buttons. The GPIOTE is covered in the next lab.
  • LabA-6.2) nRF5x GPIOTE tutorial: In this lab we will study the GPIO tasks and events (GPIOTE) hardware and its driver in depth, we will also shed the light on the Programmable Peripheral Interconnect (PPI) subsystem inside an nRF5x SoC chip. An example demonstrating the use of GPIOTE to automate interactions between system blocks and the GPIO without the involvement of the CPU will be provided at the end of the lab session.The GPIOTE is used with the PPI to automate tasks.  It provides functionality for accessing GPIO pins using tasks and events registers.
  • LabA-6.3) Communicating over UART. (For the complete materials contact us on )
  • LabA-6.4) Hardware timer tutorial. (For the complete materials contact us on )
  • LabA-6.5) The Programmable Peripheral Interconnect (PPI) in depth (For the complete materials contact us on )
  • LabA-6.6) Hardware RNG (Random Number Generator ) tutorial.(For the complete materials contact us on )