Skip to content

C code open implementation of DECT NR+ technology based on ETSI TS 103 636

License

Notifications You must be signed in to change notification settings

chrysn-pull-requests/DECT-NR--Open-Stack

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

C Code DECT NR+ Implementation over nRF9161

This repository contains work-in-progress source code and resources for a communication system prototype implementing the DECT-2020 standard on the Nordic nRF91X1 System-in-Package (SiP).

The project models the standard using a finite state machine (FSM) and integrates the modem via the official nRF Modem API to ensure real-time, low-latency operation.

The code was developed by the Universidad Politécnica de Cartagena (UPCT) in cooperation with the Ostfalia University of Applied Sciences as part of the Franco-German joint research project "Media and Event production via Resilient Communication on IoT Infrastructure" (MERCI, grant number 01MJ22016D).

Questions about the code should be directed to @Ivanfroste24, @lala9, and @antoniojaviergarciasanchez.

🧩 Context Overview

  • Objective: Develop a DECT NR+ C code implementation modeling ETSI TS 103 636 Parts 1–5.
  • Hardware: Nordic nRF91X1 (processor + modem).
  • Software Architecture:
    • FSM controlling system states and protocol flow.
    • I/O Module to inject and extract data from the network.
    • Data buffers for applications to interact with DECT NR+ network.
    • Package Core, composed of packet processor and packet generator.
    • Package queues, TX queue and RX queue.
    • Modem handler to coordinate
    • Packet header definitions and functions for assembling and disassembling.
    • Functions to pack and unpack DECT messages with multiple headers.
  • Focus: Create a solid base for a telecommunication technology capable of transmitting information in defined scenarios, implementing characteristics from ETSI TS 103 636.
  • Current demos: IoT Transmission Data

📂 Repository Structure

├── DECT-Release/
│   ├── src
│   │   ├── app                     # Entry point – system init, FSM start
│   │   ├── common                  # Tools and auxiliary functions
│   │   ├── config                  # Configuration files
│   │   ├── drivers                 # Example drivers
│   │   ├── fsm                     # FSM logic and routines
│   │   ├── headers                 # DECT NR+ header formatting
│   │   ├── protocol                # Protocol procedures
│   │   └── main.c
│   ├── build/                      # Sample build configuration
│   ├── overlay/                    # Overlays for builds
│   ├── CMakeLists.txt
│   └── prj.conf
└── Documents/
      └── ETSI_TS_103636_xx.pdf       # Reference specifications

🛠️ Usage

For a simple approach to the preconfigured Demo, precompiled files are available in the release version. Program GATEWAY.hex in the FT device and SENSOR.hex in the PT device that will have attached the recommended sensor.

⚙️ Building and Running

  1. Requirements

    • Nordic SDK and toolchain (minimum v2.5.0)
    • DECT modem firmware (minimum v0.5.0-110 prealpha)
    • (Optional) OLED Display SSD1306 0.91 inches
    • (Optional) Environmental sensor HTU21D
  2. Build Compile with VS Code + nRF Connect extension, or use west/cmake.

  3. Run

    • Use the physical hardware to view the real-time demonstrator with the display, or run a console using nRF Connect or any serial terminal.
    • Observe FSM transitions and modem events in real time using serial terminal, and monitor data transmission over a DECT NR+ network.

Optional Hardware Setup

Release v0.1.0

Although the demo sends dummy data by default, it is recommended to connect a real data source to test the demonstrator’s functionalities. To connect both display and sensor, use the diagram below or configure as needed:

+-----------------------+        +-----------------------+
|   OLED Display        |        |     IoT Sensor        |
|   SSD1306             |        |     HTU21D            |
+-----------------------+        +-----------------------+
| VCC | GND | SCL | SDA |        | VIN | GND | SCL | SDA |
+-----+-----+-----+-----+        +-----+-----+-----+-----+ 
    |     |     |     |              |     |     |     |
    |     |     |     |              |     |     |     |
+-----+-----+-----+-----+        +-----+-----+-----+-----+ 
| 5V  | GND |P0.31|P0.30|        | VDD | GND |P0.2 |P0.28|
+-----------------------+        +-----------------------+ 
|        nRF9161        |        |        nRF9161        |
+-----------------------+        +-----------------------+

With this setup, you can view association updates on the display and use real data collected by the HTU21D sensor.

Release v0.2.0

Removed support for OLED Display, data received shall be displayed using a serial terminal.

+-----------------------+
|     IoT Sensor        |
|     HTU21D            |
+-----------------------+
| VIN | GND | SCL | SDA |
+-----+-----+-----+-----+ 
    |     |     |     |
    |     |     |     |
+-----+-----+-----+-----+ 
| VDD | GND |P0.25|P0.21|
+-----------------------+ 
|        nRF9161        |
+-----------------------+

🚀 Current Features

  • Basic FSM structure for DECT NR+ operation.
  • Implementation of all headers defined in the Technical Specification.
  • Association procedure with ID exchange and network creation.
  • Plain application data transmitted and received; data sent periodically every 8 seconds.
  • Example drivers for connecting peripherals to the nRF9151 SiP via I2C.
  • Modular architecture ready for PHY/MAC/DLC layer expansion.

🧾 References

About

C code open implementation of DECT NR+ technology based on ETSI TS 103 636

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 96.7%
  • CMake 3.3%