Quick Start Guide: STM32Cube Expansion for IOTA DLT (X-CUBE-IOTA1)

Version 1.0 (December, 2019)

Hardware Overview: NUCLEO-F746ZG

The STM32 Nucleo-144 board provides an affordable and flexible platform for users to explore new concepts and build prototypes. It features an STM32 microcontroller and offers various combinations of performance and power consumption features.

Key Features:

Board Description: The NUCLEO-F746ZG board is depicted, showing its layout with the STM32 microcontroller, various connectors including the Arduino UNO R3 connector and Ethernet RJ45 connector. Latest information is available at www.st.com/NUCLEO-F746ZG.

Software Overview: X-CUBE-IOTA1

The X-CUBE-IOTA1 expansion software package for STM32Cube runs on the STM32 and includes middleware to enable IOTA Distributed Ledger Technology (DLT) functions. IOTA DLT is a transaction settlement and data transfer layer for the Internet of Things (IoT), allowing peer-to-peer and machine-to-machine transactions without fees in a trustless, permissionless, and decentralized environment, enabling micro-payments.

The expansion leverages STM32Cube software technology for easy portability across different STM32 microcontrollers. It includes sample implementations for the IOTA middleware on NUCLEO-F429ZI or NUCLEO-F746ZG development boards.

Key Features:

Overall Software Architecture: The architecture is presented in layers: Application, Middleware (IOTA, Keccak, FreeRTOS, LwIP), Hardware Abstraction Layer (STM32Cube HAL), and Hardware (STM32 Nucleo expansion boards).

Setup & Demo Examples

Hardware Prerequisites:

Hardware Components: Images show a Mini USB cable, an Ethernet cable, and the NUCLEO-F746ZG development board.

Software Prerequisites:

Setup Overview

The setup process involves the following steps:

  1. Go to www.st.com.
  2. Find X-CUBE-IOTA1.
  3. Download and unpack the software package.
  4. The software structure includes folders for _htmresc, Docs (BSP, HAL, drivers), Drivers, Middlewares (IOTA, Keccak, LwIP, FreeRTOS Libs), Projects, readme.txt, and Release_Notes.html.
  5. Connect the STM32 Nucleo board to your PC and drag-and-drop the *.bin file from the Binary folder onto the STM32 Nucleo drive.
  6. Build/Flash and Run the project.
  7. Evaluate using a serial line monitor (e.g., Tera Term).

Terminal Output Example: A Tera Term terminal window shows the process of obtaining an IP address and setting up an IOTA account, including a default SEED. The Tera Term serial port setup window is also shown, detailing configuration options like Port (COM14), Baud rate (115200), Data bits (8), Parity (none), Stop bits (1), and Flow control (none).

IOTA Transfer Process

The guide details how to perform IOTA transactions using the X-CUBE-IOTA1 package.

Setting Light Node Account:

After pressing the RESET button on the STM32 board, the initialization phase (IP address setting) is displayed. Users are prompted to enter a new seed (wallet password), which must be 81 characters long.

Main Menu:

Once the seed is created, the screen refreshes with the main functionalities: 1. Check balance, 2. Create 0-value transaction, 3. Create transfer, 4. Other functions, 0. Exit.

Check Balance:

Selecting option 1 displays the total amount of IOTAs (wallet balance) and balances for each security level, as returned by the Full Node. The implementation generates 50 addresses per security level.

0-Value Transaction:

Option 2 allows creating a 0-value transaction. This involves choosing an address, entering a message, and deciding whether to execute local/remote Proof of Work (PoW), broadcast the transaction, or reattach it.

The process includes transaction recap with signature, message, tag, PoW details, and broadcast status.

IOTA Transfer:

Option 3 facilitates IOTA transfers. Steps include:

  1. Choosing the number of receivers.
  2. Entering the receiver address.
  3. Choosing the amount of IOTA to transfer.
  4. Selecting the security level (set of addresses) with sufficient balance.
  5. Typing a message for the output transaction.
  6. Typing a Tag for the output transaction.
  7. Typing a Tag for the input transaction.
  8. Choosing PoW execution and broadcast options.
  9. Checking transaction finalization (input and output).

The process involves building the transaction, performing PoW, attaching to the Tangle, and broadcasting. Users can check the transaction status on the Tangle Explorer website.

Transaction Status: Transactions may initially be in a pending status. The Tangle explorer allows promoting or reattaching pending transactions. A popup confirms the success of reattaching.

Confirmed Transaction: The final step shows the reattached transaction being confirmed.

Other Functions

Option 4 from the main menu provides access to auxiliary functions:

Documents & Related Resources

All related documents are available in the DESIGN tab of the related products webpage.

For NUCLEO-F746ZG/NUCLEO-F429ZI:

For X-CUBE-IOTA1:

Consult www.st.com for the complete list.

STM32 Open Development Environment (ODE)

The STM32 ODE is an open, flexible, easy, and affordable way to develop innovative devices and applications based on the STM32 32-bit microcontroller family. It integrates state-of-the-art ST components via expansion boards, enabling fast prototyping with leading-edge components that can be transformed into final designs.

The ODE ecosystem includes:

For further information, please visit www.st.com/stm32ode.

PDF preview unavailable. Download the PDF instead.

x-cube-iota1 quick start guide Microsoft PowerPoint 2016 Microsoft PowerPoint 2016

Related Documents

Preview STM32 Nucleo-144 Boards (MB1137) User Manual
Explore the STM32 Nucleo-144 boards (MB1137) from STMicroelectronics. This user manual details features, development environment, hardware layout, and ordering information for these versatile microcontroller development kits, ideal for prototyping and embedded system design.
Preview STM32 Nucleo-144 Boards: User Manual & Development Guide | STMicroelectronics
Discover the STM32 Nucleo-144 boards, a versatile development platform from STMicroelectronics. This comprehensive user manual details features, hardware, quick start guides, and compliance information for prototyping with STM32 microcontrollers. Learn more at www.st.com and mbed.org.
Preview STM32 Nucleo-144 Board User Manual - STMicroelectronics
Comprehensive user manual for the STM32 Nucleo-144 development board from STMicroelectronics, detailing features, hardware layout, quick start guide, and technical specifications for prototyping with STM32 microcontrollers.
Preview STM32 Nucleo-144 Boards User Manual | STMicroelectronics
Explore the STM32 Nucleo-144 boards with this comprehensive user manual. Learn about features, hardware layout, configuration, power supply options, and connectivity for STM32 microcontrollers. Ideal for prototyping and development.
Preview STM32 Nucleo-144 Boards (MB1137) User Manual - STMicroelectronics
This user manual provides detailed information on the STM32 Nucleo-144 development boards (MB1137) from STMicroelectronics. Discover features, hardware layout, configuration options, and quick start guides for STM32 microcontroller prototyping.
Preview STM32 Nucleo-144 Board Data Brief | STMicroelectronics
Technical data brief for the STM32 Nucleo-144 development board from STMicroelectronics, detailing features, system requirements, development toolchains, ordering information, and revision history.
Preview STM32 Nucleo-144 Boards Data Brief - STMicroelectronics
Detailed data brief for STMicroelectronics STM32 Nucleo-144 boards, covering common and board-specific features, an extensive list of available models with their differentiating features, product codification, development environment requirements, and revision history. These boards offer an affordable and flexible platform for developing prototypes with STM32 microcontrollers.
Preview STM32 Nucleo-144 Boards (MB1137) User Manual
This user manual details the STM32 Nucleo-144 boards (MB1137) from STMicroelectronics. It covers features, ordering information, development environment, hardware layout, and compliance statements for these versatile microcontroller development kits, which include an integrated ST-LINK/V2-1 debugger and support for ARDUINO Uno V3 shields.