You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1.9 KiB


This example shows you how to use TinyDTLS with the non-socket approach.

This code is based on ../gnrc_networking and ../gnrc_tftp. Is a good idea to read their's for any doubt of how making the testings.

SOCKET vs. Non-socket (GNRC)

This example is configured to use the GNRC instead of sockets (over GNRC). At the moment, the configuration must be done manually in the Makefile of this project.

Fast configuration (Between RIOT instances):

Preparing the logical interfaces:

./../../dist/tools/tapsetup/tapsetup --create 2

For the server instance:

make all; PORT=tap1 make term
dtlss start

Do not forget to copy the IPv6 addresses!

For the client:

PORT=tap0 make term
dtlsc <IPv6's server address> "DATA TO DATA TO DATA!"



Those boards that do not support the ../gnrc_networking example are included in the BOARD_INSUFFICIENT_MEMORY, plus the board cc2650stk.

There are certain boards that are having issues with crypto.c and dtls_time.h Which for now are in the the BOARD_BLACKLIST.

The boards that requires periph_conf.h are not tested.

Boards with problem type 1 (crypto.c): z1 wsn430-v1_4 wsn430-v1_3b waspmote-pro msb-430h msb-430 chronos arduino-mega2560

Boards with problem type 2 (dtls_time.h): cc2538dk msbiot telosb

Boards with problem type 3 (Redifinition): saml21-xpro samr21-xpro arduino-uno arduino-duemilanove

NOTE: Those on type 1 can be benefit of the following PR: However, there are still issues to fix.

NOTE: Those on type 2 can be fixed with the patch at


The code has been tested in the FIT-LAB with M3 motes. However, erros can occurrs. Enabling the line CFLAGS += -DNDEBUG in the Makefile reduces the risk.