The evolution of open-source flight control firmware is fascinating and involves everything from years of committed development with no reward, to convoluted betrayal from previous partners and friends. In this article, we will review the most popular open-source projects, explain their antecedents and highlight the survivors. #arduino #drone #development
Using an Arduino UNO to communicate with an Electronic Speed Controller (ESC) that uses BLHeli or BLHeli_S firmware. #Arduino #BLHeli #Drone #Tutorial https://reefwing.medium.com/configuring-an-esc-with-blheli-firmware-using-an-arduino-uno-9b8e5dafc1c5
In our latest article we talk about adding the DShot600 protocol to our ESC Tester. This is not straight forward because most Flight Controllers use DMA to generate the DShot packets and our ESC Tester is based on the Arduino UNO which doesn’t have DMA.
We try a few different approaches including bit banging and hacking SPI. Read on to find out what works (and what doesn’t). Full source code is provided.
The ESP32 is a dual core 32 bit microcontroller featuring WiFi and Bluetooth, and is able to be programmed with the Arduino IDE through an ESP32 add on. Note that not all libraries or functions that work with the ESP8266 or Arduino are yet functional on this new board.
It utilises the Xtensa® dual-core 32-bit LX6 microprocessor running at 240MHz, which is a step up from the ESP8266, while having similar power consumption.
The ESP32 ESP32 can also interface with other systems to provide Wi-Fi and Bluetooth functionality through its SPI / SDIO or I2C / UART interfaces. The ESP32 module comes preloaded with a ROM image of the AT command set, just like the ESP8266 did. If you want to waste 95% of this chip’s potential by using it as a glorified serial-to-WiFi modem, you are good to go!
If you are interested in IoT, I have released a number of new tutorials on using and programming the ESP-32, over on our sister site Reefwing Robotics.
The ESP32 makes for a great low power IoT sensor hub and is a more capable alternative to the Arduino. The caveat is that there is a bit more mucking around to get it to work. There is also some complexity in getting a dual-core micro controller to play along with a real-time operating system.
In addition to programming the ESP-32 in C, you can also use MicroPython. MicroPython is a complete development environment that runs on the ESP32 processor.
The tutorials available include: