A Camunda Greenhouse: Part 3

Review

If you've been following this (incredibly slow) project, then you've already been through part 1 and part 2 and have been wondering if part 3 would ever arrive. Well, here it is! This is the part where I pull together all the previous parts and actually deploy a Camunda BPMN-powered IoT Greenhouse!

Just to review a bit, I proposed building a greenhouse, monitored by some IoT sensors, that would then be entirely controlled by a Camunda BPMN process. The entire process would then control all aspects of the Greenhouse.

Programming the ESP32 With an ARM Cortex-M USB CDC Gateway

The Espressif ESP32 devices are everywhere: They are inexpensive, readily available, and the Espressif IDF environment and build system actually is pretty good, working well for me, including Eclipse (see “Building and Flashing ESP32 Applications with Eclipse“). The default way to program an ESP32 is to a) enter UART bootloader by pressing some pushbuttons, and b) flash the application with ESP-IDF using a USB cable.

You may also like: The Ultimate IoT Hardware Comparison Guide

That works fine if the ESP32 is directly connected to the host PC. But in my case, it is behind an NXP Kinetis K22FX512 ARM Cortex-M4F microcontroller and not directly accessible by the host PC. So, I had to find a way how to allow boot loading the ESP32 through the ARM Cortex-M which is the topic of this article.