Thousands of ESP32s:
Device Management for ESP-IDF based devices
Golioth at Espressif DevCon 2022
About Chris
![](https://s3.amazonaws.com/media-p.slid.es/uploads/2111875/images/9569916/ChrisGammell-Headshot-Bench-square.png)
Chris Gammell
@chris_gammell on twitter
- Developer Relations Lead at Golioth
- 20 years hardware development
- Worked at places like ABB, Samsung, Supplyframe, Keithley, Hologram
- Most recently was a hardware and firmware consultant.
About Mike
![](https://s3.amazonaws.com/media-p.slid.es/uploads/2130605/images/9578228/Mike_Szczys_headshot_medium.jpg)
Mike Szczys
@szczys on twitter
- Developer Relations Engineer at Golioth
- 15 years of firmware experience
- Previously: Editor in Chief of Hackaday
About Nick (not present)
Nick Miller
- Firmware Lead at Golioth
- Author of the Golioth ESP-IDF SDK
- Formerly of Cruse and Spindance
![](https://s3.amazonaws.com/media-p.slid.es/uploads/2111875/images/9796823/pasted-from-clipboard.png)
Learning Objectives
-
Understand challenges of large fleets
-
See Golioth in action on Espressif parts
-
Learn how you can more easily
-
Collect sensor data
-
Control individual devices in your fleet
-
Initiate Over-The-Air updates
-
and more!
-
Who is this talk for?
Hardware / Firmware designers...
Hardware / Firmware designers...
who don't want to need to become cloud experts...
Hardware / Firmware designers...
who don't want to need to become cloud experts...
But still want to be able to build and control a lot of hardware
Challenges in creating IoT fleets
Actions taken on one device starts to break down at 10s, 100s, or 1000s of devices
Scripting gets more complex and opaque
As your team grows, the tools and methods need to shift towards people that aren't deep domain experts
Resources that might have been installed locally now need to scale on the cloud
Managing a database starts to look more and more like a job
Monitoring whether devices are online scales linearly while your available time does not
Plugging in a cable to reprogram one device gets really burdensome
Golioth is a device management platform
(and more)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/2111875/images/9799066/Balance.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/2111875/images/9796842/why-not-both-por-que-no-los-dos.gif)
Fleet Management Console
![](https://s3.amazonaws.com/media-p.slid.es/uploads/2111875/images/9801039/pasted-from-clipboard.png)
REST API Access
![](https://s3.amazonaws.com/media-p.slid.es/uploads/2111875/images/9801692/pasted-from-clipboard.png)
Demo
Different concepts for getting data onto and off of different devices
LightDB State
![](https://s3.amazonaws.com/media-p.slid.es/uploads/2130605/images/9800885/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/2130605/images/9803425/pasted-from-clipboard.png)
LightDB Stream
![](https://s3.amazonaws.com/media-p.slid.es/uploads/2130605/images/9800895/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/2130605/images/9800897/pasted-from-clipboard.png)
Settings Service
![](https://s3.amazonaws.com/media-p.slid.es/uploads/2111875/images/9799070/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/2130605/images/9803816/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/2130605/images/9803822/pasted-from-clipboard.png)
Remote Procedure Calls
![](https://s3.amazonaws.com/media-p.slid.es/uploads/2111875/images/9799069/RPC.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/2130605/images/9803797/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/2130605/images/9803800/pasted-from-clipboard.png)
Over-the-Air (OTA) Updates
![](https://s3.amazonaws.com/media-p.slid.es/uploads/2111875/images/9799067/OTA_DFU_ESP32.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/2130605/images/9803804/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/2130605/images/9803810/pasted-from-clipboard.png)
Additional features once data
has gotten to the Cloud
Organize your devices
![](https://s3.amazonaws.com/media-p.slid.es/uploads/2111875/images/9801706/Golioth_Blueprint.png)
Organize your devices
![](https://s3.amazonaws.com/media-p.slid.es/uploads/2111875/images/9801707/OrganizingThousands.png)
View live data with multiple viewpoints
![](https://s3.amazonaws.com/media-p.slid.es/uploads/2111875/images/9801709/pasted-from-clipboard.png)
3rd party output streams
![](https://s3.amazonaws.com/media-p.slid.es/uploads/2111875/images/9801693/OutputStreams.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/2111875/images/9799071/ESP-IDF-Announce-2.png)
Why we built it
Standardized setup across hardware
-
FreeRTOS
-
Fully integrated Network stack (lwip)
-
mbedTLS
-
Easy to pull in CoAP support
-
Espressif did all the heavy lifting
Example code helped us bootstrap
-
CoAP client specifically helped us
-
We weren't starting from scratch
-
Great documentation and examples for firmware updates.
Summary
Golioth helps you to hyperscale your device fleet and still understand what is happening on each device.
Check out our blog
![](https://s3.amazonaws.com/media-p.slid.es/uploads/2111875/images/9801704/pasted-from-clipboard.png)
New content every Tuesday/Thursday
Try the Console for free
Our "dev tier" gives 50 free devices
![](https://s3.amazonaws.com/media-p.slid.es/uploads/2111875/images/9801702/pasted-from-clipboard.png)