Now that CClient v1.0.0-beta is released, IOTA can implement a hardware wallet based on it. I will, in this blogpost, briefly explain the architecture of the IOTA Wallet on ESP32 and I will demonstrate the wallet application.  

The CClient library is meant to apply the Tangle into IoT ecosystems. It is able to communicate with small devices. The ESP32 is a good candidate because it has built-in wireless connectivity.

But what’s the ESP32?

  • It is a 32bit SoC (System on Chip) based on the Xtensa LX6
  • It is able to operate at 160 or 240 MHz with the memory size of 512KB
  • It provides two development frameworks: arduino-esp32 and esp-idf. Even if both of them are good, I prefer the esp-idf as my development framework since it’s native to the ESP32.

The wallet architecture consists of three parts:

  • Hardware: the Xtensa LX6 processes and peripherals
  • FreeRTOS: real-time system, network, and HAL support
  • Wallet application: IOTA CClient library, SNTP client, and Console service.

The system time will be reset on reboot every time, so we need to get the correct timestamp via SNTP client. The console service allows you to interact with IRI node through the terminal.

IOTA ESP32 Wallet Demo

You can follow the README.md to create your IOTA wallet using ESP32 microcontroller.  

This video demonstrates how to get account data and send 1i to an address :

Please feel free to give suggestions and continue the conversation on the #entangled-discussion channel on IOTA Discord.  

Follow us on our official channels for the latest updates:
Discord | Twitter | LinkedIn | Instagram | YouTube |

Tags

IOTA Foundation

Official posts from the IOTA Foundation, and migrated posts from old platforms.

Great! You've successfully subscribed.
Great! Next, complete checkout for full access.
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.