ESP8266 and ESP32 is a series of low-cost, low-power system-on-chip microcontrollers with integrated Wi-Fi and dual-mode Bluetooth.
created and developed by Espressif Systems, a Shanghai-based Chinese company
Feature List of the board
- Good processor! (240 MHZ)
- Enough memory!! (520 KB but context)
- Wifi + Bluetooth
- Base feature set - Secureboot, Standard Security features, Cryptographic hardware accelerations, Power management!!!!!
We have a few options here now. As mentioned, The ESP community has a thriving ecosystem of developers!
- Arduino IDE
- ESP Easy
- Official Espressif Development Frameworks - They also have one dedicated for Mesh Systems
- Mongoose OS
Then we also have a bunch of tools that were created in this ecosystem.
Small intro to firmware
Brief description about by taking Arduino Stack as an example
Code that we write -> Building - > Firmware Bootloader + Firmware - Goes to chip
A good rule of thumb to categorize something as firmware: is it part of the layer, which also provides API for interacting with GPIO ports
In the basic ino files we observe, the breakdown is something like: The parts
- Arduino IDE - The building and uploading tool used
- Arduino C - The language used for logic building
- Arduino Framework - The OS/Firmware type
Time to choose
Choice of ecosystems:
Standard Arduino Stack
Arduino Framework with C++ We structure our code better. Instead of using Arduino’s version of C. we take more control of the running logic. Note here that the underlying framework is Arduino.
MicroPython MicroPython is a vibrant community of enthusiasts that have to build this implementation of CPython Specs, tailored for these class of Processors Python on device Micropython
Esprunio JS on device Esprunio
Choose your Board
- ARM based
- Framework native boards - PyBoard, Pixl.js, etc
- We can wrap the entire “sketch” inside an OTA version management system so to say.
- Each device is subbed to unique channel to listen for OTA installation instructions.
ideally maintained using the UID of the device.
- Compiled Byte code hosted on shared services like
Good reads on ESP32