Welcome
Technologies
Computers
Contact
NO
NO

-- LAST PROJECTS --

LTM-READER

LTM-GPS

LTM-RECEIVER

SDR#

FT232HQ + MPSSE

LoRaWAN-GPSSENDER

LoRaWAN-TEMPSENDER

LoRa

Flight Controllers

Flifgt Controllers Schema

PID

iNAV-dump

MCU | LoRa | IoT | Flight Controllers | Telemetry |

I design electronic devices using embedded small processor modules for new product development. The main part of modules is the MCU (Microcontroller Unit) provided by Atmel-Microchip or STMicroelectronics or others. The MCU contains processor cores AVR or ARM family (RISC architecture) and also on the same chip the operation SRAM and FLASH memory for custom firmware. Some other electronic function (WiFi, Bluetooth, senzors, etc.) may be integrated on the same chip and such embedded system is called SoC (System-on-Chip). The MCU or SoC are assembled with power and other auxiliary circuits and all is soldered on a small PCB (Printed Circuid Board) as the module.
The frequent families of MCU are AVR (Arduino), ESP8266 or ESP32 (Espressif Systems) and particulary ARM STM32 (STMicroelectronics). The I/O pins of the MCU or SoC modules are simply accessible and can be connected to senzors or other devices via UART, I2C or SPI data buses. After device devolopping the MCU can be used naturally without the module and can be soldered only with needed components on a custom designed PCB.

The MCU/SoC have low consumption of power and can be powered from small Li-Ion, Li-Po acumulators or solars cells. MCUs or SoC can control local processes, display measured data on OLED, LCD, TFT etc. or transmit data via data networks to data servers for next processing.

Frequently is used air data connection LPWAN (LoRaWAN or SIGFOX) via ISM radio band (433/868 MHz), WiFi or GSM networks in my projects. In the suche case are the MCU modules connected via data buses (SPI, UART) to small radio modules. Using the LoRa radio has many advantages over the WiFi or GSM networks, particularly in low power consumption. The radio modules LoRa use mostly the radio chip by Semtech. The modules included auxiliary circuits and IPEX or SMA connector for 433/866 MHz antenna. Power is mostly 3,3V. Some modules included together the MCU (mostly ESP32 or ARM STM32) and the radio chip. The best solution is PSoC (Programmable System-on-Chip) where the ARM MCU and the radio are integrated on one chip (e.g. by Cypress).
The topology is either end node (transmitter) connected via air to the node (receiver) within local network or some end nodes connected via air to a gateway controled by the network server (LoRaWAN). These ways can be output data from MCUs transmitted via air to data servers to control other processes (e.g. via MQTT broker) or can be stored and displayed via web interfaces. I use leased servers in cloudes or some cloude services. May be also used servers created within local networks e.g. lightweight servers created on Raspberry Pi.

The firmware I develop in the Arduino IDE or MS Visual Studio using the Wiring or C++ development platform. The support (linker, compiler etc.) for proper type processor of MCU/SoC can be added to IDE. The compiled firmware is uploaded to flash memory of the MCU via Serial-USB converter (e.g. CP2102) or ST-Link in case of STM32. The firmware can be uploaded also via network (OTA). I develop own firmware and use appropriate open software libraries from GitHub. Tools STM32CubeIDE/CubeMX or ARM Keil can be used for developping, debugging and to compile the firmware of STM32 MCU family. Web user interfaces I develop in PHP and JavaScript. May be also used Python as the programming language.

From the previous article may be clear I take fancy to IoT and LoRa technologies. We like SoC modules from HELTEC CubeCell Series. We use commercial radio network services LoRaWAN provided by CRA. Sometimes are used cloud services e.g. Microsoft Azure (IoTHUB) for data processing.

I go in for RC models/drones and I use RC Flight Controllers (FC). I like some commercial boards e.g. MATEK F405-WING. The FC board consists of MCU (STM32) modul and sensors. Sensors are IMU (Inertial Measurement Unit) acts as 6-axis accelerometer/gyro and a pressure chip acts as the barometer. The IMU sensor is often MPU6000 and barometer BMP280 or DP310 chip. Current, power and temperature sensors are also embedded. The MCU I/O pins are led out on the board and may be connected via UART to other sensors (GPS, Compass, Pitot tube modules etc.), RC receiver (via Spektrum DSM SRXL2 on 2.4 GHz in my case) and other devices. Some MCU I/O pins are connected to servos and via Pulse Width Modulation (PWM) control flight surfaces for pitch, roll and yaw motion. Some I/O pins are also connected to the regulator (ESC) to control a DC brushless motor of the aircraft. The ESC regulator may be controled by PWM or digital signals (e.g. DSHOT).
The base part of the FC firmware is the software PID regulator and regulation loop. Inputs are data from sensors (IMU, barometer, GPS) and pilot commands from RC transmitter/receiver. The regulated quantity is the signal to the servos and ESC regulator of motor. This way can be reached the knowledge of actual 3D position and ability to autoregulated motion of the aircraft. As the FC firmware I mostly use open iNAV from GitHub or I develop own FC firmware using STM32.

The RC models or drones with the FC are capable of auto balanced flight with RTH (Return To Home point as failsafe during loss od the controll signal) or Way Points mission capabilities. The great advantage of FC is rich flight information from embedded and connected senzors. Telemetry data are on-line transmitted to a ground station at the pilot. The ground station receive, decode and display flight data (speed, altitude, tilt, distance etc.). Can be used suitable protocols where telemetry data are coded, I use serial LTM (Light Telemetry Protocol) and MSP (Multiwii Serial Protocol). Telemetry data are transmitted via radio ISM band. Can be used 433/868 MHz (e.g. LoRa) or 2.4 GHz for short distance (Bluetooth or WiFi). There is also option to mix the flight video from a small board camera and telemetry data from FC sensors as OSD (On-Screen Display) and the final video signal transmit via board video transmitter (VTX) e.g. from ImmersionRC, received on the ground and display on a small monitor. The video signal is transmitted often via 5.8 GHz radio band. This is useful for FPV flights.

MCU LINKS

RANDOM NERD
HOW2ELECTRONICS
CONTROLLERSTECH
CIRCUITDIGEST
ELECTRONICWINGS
COMPONENTS
LASTMINUTENG
TEACHMEMICRO
FC INAV

Created by © DuPe 2010-2021