So, recently my employer has decided that an opportunity that was presented to us was worth pursuing.
The short of it is, I was able to learn to program the ESP32. For those who don't know what that is, it's a cheap micro-controller. https://www.espressif.com/en/products/socs/esp32 But for those who care, its like an Arduino on steroids. Lots of them.
Anyway, that started my journey to programming these things.
Since I have programmed in the past (distant past) professionally, I knew I needed some form of Integrated Development Environment (IDE). There are a few out there that you can use to develop for the ESP32. One is Eclipse https://www.eclipse.org/ ... and I have used that before in the past. While a very good IDE, it feels "old". Arduino has it's own IDE, https://www.arduino.cc/en/software/, and I know what you're thinking ... but you're working with the ESP32, not an Arduino. There are Arduino libraries for the ESP32 https://github.com/espressif/arduino-esp32. I was able to use the Arduino IDE for the first demo project. But ultimately, I found that the Arduino IDE was very limiting to the potential of the ESP32. I ended up moving over to VSCode, https://code.visualstudio.com/.
VSCode requires a plugin to work with the ESP32. That plugin is called PlatformIO. https://platformio.org/ So PlatformIO is an Internet-of-Things bridge. It supports 900+ hardware boards, 41 platforms (ESP32 is one of them), and a ridiculous amount of libraries (10k+ as of today).
So, I have my development machine setup:
- Ubuntu 20.04 LTS
- VSCode
- PlatformIO
So lets get playing ...