Anup Bhattacharjee - workshop
Anup Bhattacharjee Masters Student at Delft University of Technology

Anup Bhattacharjee


Workshop: Basics of LoRa PHY

Target Audience

Beginners in LoRa with basic embedded experience


The aim of the workshop is to help the audience understand the basics of LoRa PHY. In order to create an efficient MAC protocol or better improve the LoRaWAN, one must first know how the LoRa PHY works.

The workshop will be given over two days.


Please ensure that you install Ac6 and related toolchain software before the workshop. These instructions will guide you through the process:

Please contact Anup via email if you have any problems setting up the development environment.

Can you also please bring a micro USB cable with you as this will be required to program the board.

Day 1 (Basic):

Part 1: (45 mins)

(1) Basic introduction to LPWAN
(2) Basic introduction to LoRa
(3) Benefits of CSS
(4) Going indepth with LoRa PHY packet structure:

a. Preamble

i. Detection Sequence and why it is important

ii. Sync

iii. Frequency Sync

iv. Time Sync/Silent time

b. PHY header (what is there and why is it useful)

c. Payload

d. CRC (The CRC concept itself is not taught, but its relevance is shown)

(5) What is Channel Activity Detection and how it can be used for efficient channel detection.

The introduction should be enough to start with the hands on.

Part 2: (45 mins)

Working on the Ping-Pong code provided by the ST MCD Application team:

(1) Explaining why I chose Ac6.
(2) Explaining the Ping-Pong code

a. Relating this back to Part 1, with the code to give a sense of what happens when you change something.

i. RX configuration function

ii. TX configuration function

iii. CAD interrupts (both CAD Done and CAD Detected)

iv. The FSM of the code

(3) Letting the candidates run the code on the board, by asking them to change certain parameters and asking what effect will it have.

Day 2 (Advanced):

This day will be devoted to making a basic multi-hop protocol using three nodes and the Ping-Pong code that was studied on the previous day.

Part 3:

(1) Explaining what is meant by multi-hop communication (or Ad Hoc communication). (10 mins)
(2) Explaining what you should keep in mind while designing such a protocol. You will be asked to make a waterfall diagram that you think is required for the multi-hop communication to happen. (20 mins)
(3) We will then use the Ping Pong code skeletal to implement the multi-hop code and implementing on the hardware while seeing output on serial terminal. (60 mins)

Outcome of the workshop:

You will know:
(1) The basics of LoRa PHY, and have a starting point for further research.
(2) Have a development environment setup.
(3) Know how to code and implement on LoRa devices.
(4) Have your first experience designing a rudimentary MAC protocol.


About Anup

I am currently a masters student at Delft Technical University (TU Delft) in Embedded Systems. For the past year, my work has been focused on LPWAN technologies. I have worked on different projects concerning LoRa and LoRaWAN and I am the winner of the Semtech IoT Innovator’s Challenge (while competing with startups).

I had to learn the technology by myself and hence know what are the difficulties faced by most beginners. This workshop is for people interested in LoRa but who don’t know how to start.