Noobs friendly Embedded IDE Designed for Learning Secure IoT

If you are new to embedded programming or if you are new to the complex world of setting up secure IoT devices requiring X.509 certificate and PKI management, then the SharkSSL IDE for ESP32 is a great starting point. With this IDE, even a "Noob" can be up and running with the first RTOS powered IoT device in 30 minutes.

In addition to many C code examples, the SharkSSL IDE also includes a project that lets developers with no C code experience program the ESP32 using a high level programming language called Lua.

Why ESP32?

In a nutshell, the ESP32 provides a free development environment. Ready to run low cost ESP32s can be purchased online.

Typically, embedded programming is notoriously known to be difficult to get started with since you need a deep understanding of hardware and device driver design, and require expensive equipment such as a JTAG probe and an IDE compatible with the JTAG probe. If this sounds all Greek to you, don't worry. You do not need to learn any of this when using the ESP32. With the ESP32, the compiled code (the firmware) is uploaded from your computer to the ESP32 by using a USB cable. The ESP32 uses the FreeRTOS Real Time Operating system and all examples included in the SharkSSL IDE use FreeRTOS.

The following video shows how the ESP32 can be used for controlling both a servo and LEDs. The SharkSSL ESP32 IDE includes several projects, and the following video shows how to use the included Barracuda App Server, which enables programming the ESP32 using Lua.

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.

Some examples, such as the AWS IoT Core MQTT example, require PKI configuration. The SharkSSL IDE simplifies this configuration by enabling a drag and drop configuration option, which automatically modifies the C code with your AWS certificates. After the drag and drop configuration, a simple button click compiles and uploads the AWS IoT Core MQTT firmware to the ESP32, which then immediately connects to your AWS IoT Core instance.

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.

You can download the SharkSSL Source Code from GitHub and compile the same examples for your host computer.

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

Discover More:

Whether you are a maker, a startup, or a large business, we've got you covered. Please send us an email if you have any questions or if you are unsure on what product to select. We are here to help you find the best solution, and we'd really like to help you with your hardware/software project challenges.


OPC-UA

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

Modbus TCP client

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

Posted in Whitepapers