Noobs friendly Embedded IDE Designed for Learning Secure IoT

If you're just starting out with embedded programming or are a seasoned programmer looking to dive into the exciting world of secure IoT device development with X.509 certificates and PKI management, then the free SharkSSL IDE for ESP32 is the perfect tool to get you started. This user-friendly IDE allows even complete beginners to quickly and easily set up their first RTOS-powered IoT device in just 30 minutes. So don't hesitate, give the SharkSSL IDE a try and start building your own innovative IoT solutions today!

SharkSSL IDE is primarily geared towards C code developers, providing a comprehensive suite of secure IoT examples designed in C code. However, for those who lack experience in C coding, Xedge32 is the go-to tool. Xedge32 is a Lua development environment designed specifically for the ESP32 microcontroller. It empowers programmers, even those without a C coding background, to seamlessly design and build innovative, secure IoT solutions.

Why ESP32?

The ESP32 offers a cost-effective and user-friendly development environment that is perfect for anyone looking to get started with IoT projects. Plus, ready-to-use low cost ESP32 boards can easily be purchased online, allowing you to get started with your projects right away. With its powerful capabilities and affordable price point, the ESP32 is the perfect choice for developers of all levels looking to build their own IoT solutions.

Traditionally, embedded programming has been considered a difficult field to get started in due to the technical knowledge and specialized equipment required, such as JTAG probes and compatible IDEs. However, the ESP32 makes it easy for anyone to get started with embedded programming, regardless of their previous experience or technical expertise. Instead of requiring a JTAG probe and specialized software, the ESP32 allows you to simply upload compiled firmware to the device using a USB cable. Plus, the ESP32 runs the FreeRTOS Real Time Operating System, and all of the examples included in the SharkSSL IDE are designed to work with FreeRTOS, further simplifying the development process. So if you've been intimidated by the thought of learning embedded programming, the ESP32 and SharkSSL IDE are here to make it easy and accessible for anyone to get started.

Why use the SharkSSL ESP32 IDE?

Although the ESP32 command line development environment is free, it may be complex for a beginner to set up. Also, everything needs to be done via the command line, which takes time to learn. The SharkSSL ESP32 IDE provides a GUI front end to the command line environment and packages everything into one unit that is super easy to install.

Easy To Use Mutual Transport Layer Security (mTLS) Example:

One of the examples included in the SharkSSL IDE is the AWS IoT Core MQTT example, which requires PKI configuration in order to work. While this can be a complex and time-consuming process, the SharkSSL IDE makes it easy by providing a drag and drop configuration option that automatically modifies the C code with your AWS certificates. All you need to do is drag and drop your certificates into the designated area, and the SharkSSL IDE will handle the rest. With just a few simple clicks, you can compile and upload the AWS IoT Core MQTT firmware to your ESP32, which will then immediately establish a connection with your AWS IoT Core instance using mTLS. This streamlined process makes it easy for anyone to get started with the powerful capabilities of the AWS IoT Core platform and the ESP32.

Why use the SharkSSL TLS Stack?

SharkSSL is a TLS stack for embedded systems that includes many IoT protocols such as MQTT and WebSockets. The TLS stack also includes many examples that show how to set up a complete Public Key Infrastructure (PKI). Many developers new to IoT initially struggle with security and PKI. The ready to run examples can be used "as is"; however, if you are new to PKI, check out the article Certificate Management for Embedded Systems.

Many hard core embedded developers perform all of the software development directly on the device, but this setup typically requires an expensive development environment and a JTAG probe. Since all device drivers for the ESP32 come ready to use, a developer need only focus on the higher levels. The higher levels can easily be developed on your host computer such as on Windows using Visual Studio or on Linux using gcc. All IoT examples that come with SharkSSL can easily be compiled for your host operating system using your favorite host IDE. This development pattern not only makes your development easier, but also much faster. When you are done with testing and debugging the high level code, simply integrate the code into one of the examples in the SharkSSL IDE, compile the code, and upload it to the ESP32.

How to Choose a Suitable ESP32

You can use any ESP32, but we recommend using the ESP32 WROVER version which has more memory and lets you run the Barracuda App Server for ESP32 that in turn lets you use the Lua programming language -- not just C code. The C Code examples do not need the WROVER and can run on any ESP32.

Get Started With The SharkSSL ESP32 IDE

Download the SharkSSL IDE

Note that you can also download the SharkSSL Source Code from GitHub and compile the same examples for your host computer.

Forge Ahead:

Congrats on completing the tutorial! Don't pause here - forge ahead and deepen your understanding of network and IoT-enabled embedded systems with our Xedge32 tutorials.To learn more about building robust IoT and Embedded Web Server solutions, check out our list of embedded web server tutorials.

Facing a Technical Puzzle? We're With You Every Step:

Navigating the world of embedded web servers and IoT can be daunting. Our consulting services are here to provide instant expertise. But our tutorials are ready if you're looking for a self-paced journey. Every challenge, every ambition, we've got your back.


OPC-UA Client & Server

An easy to use OPC UA stack that enables bridging of OPC-UA enabled industrial products with cloud services, IT, and HTML5 user interfaces.

Edge Controller

Edge Controller

Use our user programmable Edge-Controller as a tool to accelerate development of the next generation industrial edge products and to facilitate rapid IoT and IIoT development.

On-Premises IoT

On-Premises IoT Platform

Learn how to use the Barracuda App Server as your On-Premises IoT Foundation.

Embedded Web Server

Barracuda Embedded Web Server

The compact Web Server C library is included in the Barracuda App Server protocol suite but can also be used standalone.

WebSocket Server

Microcontroller Friendly

The tiny Minnow Server enables modern web server user interfaces to be used as the graphical front end for tiny microcontrollers. Make sure to check out the reference design and the Minnow Server design guide.

WebDAV Server

Network File System

Why use FTP when you can use your device as a secure network drive.

HTTP Client

Secure HTTP Client Library

PikeHTTP is a compact and secure HTTP client C library that greatly simplifies the design of HTTP/REST style apps in C or C++.

WebSocket Client

Microcontroller Friendly

The embedded WebSocket C library lets developers design tiny and secure IoT applications based on the WebSocket protocol.

SMTP Client

Secure Embedded SMTP Library

Send alarms and other notifications from any microcontroller powered product.

Crypto Library

RayCrypto C Library

The RayCrypto engine is an extremely small and fast embedded crypto library designed specifically for embedded resource-constrained devices.

Embedded PKI Service

Automatic SSL Certificate Management for Devices

Real Time Logic's SharkTrust™ service is an automatic Public Key Infrastructure (PKI) solution for products containing an Embedded Web Server.


Modbus TCP client

The Modbus client enables bridging of Modbus enabled industrial products with modern IoT devices and HTML5 powered HMIs.

Posted in Xedge32