📊 Embedded Software Trends Expand in 2020
Preferred languages, machine learning for 3rd graders, spaceship software, GIT, outdated IP and other embedded software trends emerge.
A recent study in 2020 by Northeastern University confirms the popularity of Python, Java, and C/C++. The study notes that Python is widely regarded as a programming language that’s easy to learn, due to its simple syntax, a large library of standards and toolkits, and integration with other popular programming languages such as C and C++.
The second game-changing trend in the embedded space on Beningo’s list was machine learning, especially for IoT edge applications. As he pointed out, machine learning holds a lot of potential for embedded systems developers as the new decade begins.
Version control and management of intellectual property (IP) have become a necessity for mission-critical and non-mission-critical applications.
More information...
#articles #software
Preferred languages, machine learning for 3rd graders, spaceship software, GIT, outdated IP and other embedded software trends emerge.
A recent study in 2020 by Northeastern University confirms the popularity of Python, Java, and C/C++. The study notes that Python is widely regarded as a programming language that’s easy to learn, due to its simple syntax, a large library of standards and toolkits, and integration with other popular programming languages such as C and C++.
The second game-changing trend in the embedded space on Beningo’s list was machine learning, especially for IoT edge applications. As he pointed out, machine learning holds a lot of potential for embedded systems developers as the new decade begins.
Version control and management of intellectual property (IP) have become a necessity for mission-critical and non-mission-critical applications.
More information...
#articles #software
🎛 ESP32 OTA (Over-the-Air) Updates
In this guide, you’ll learn how to do over-the-air (OTA) updates to your ESP32 boards using the AsyncElegantOTA library. This library creates a web server that allows you to upload new firmware (a new sketch) to your board without the need to make a serial connection between the ESP32 and your computer.
Additionally, with this library, you can also upload new files to the ESP32 filesystem (SPIFFS). The library is very easy to use, and it’s compatible with the ESPAsyncWebServer library that we often use to build web server projects.
More information...
#projects #esp32 #wifi #software
In this guide, you’ll learn how to do over-the-air (OTA) updates to your ESP32 boards using the AsyncElegantOTA library. This library creates a web server that allows you to upload new firmware (a new sketch) to your board without the need to make a serial connection between the ESP32 and your computer.
Additionally, with this library, you can also upload new files to the ESP32 filesystem (SPIFFS). The library is very easy to use, and it’s compatible with the ESPAsyncWebServer library that we often use to build web server projects.
More information...
#projects #esp32 #wifi #software
💻 Developing an RTOS Application Software Architecture
5 tips to optimize the creation of your RTOS application software architecture
Real-time operating systems (RTOSs) are finding their way into nearly every IoT device. The capability of an RTOS to manage low-level resources and complex timing requirements make them well suited for these applications. It is not uncommon though to struggle with how to design a software architecture that includes an RTOS.
In today’s post, we will examine several tips for developing a robust and flexible RTOS based software architecture. These tips should help the reader get a jump-start on their application development while minimizing its dependence on the RTOS.
More information...
#articles #rtos #software #programming #operating_systems #IoT
5 tips to optimize the creation of your RTOS application software architecture
Real-time operating systems (RTOSs) are finding their way into nearly every IoT device. The capability of an RTOS to manage low-level resources and complex timing requirements make them well suited for these applications. It is not uncommon though to struggle with how to design a software architecture that includes an RTOS.
In today’s post, we will examine several tips for developing a robust and flexible RTOS based software architecture. These tips should help the reader get a jump-start on their application development while minimizing its dependence on the RTOS.
More information...
#articles #rtos #software #programming #operating_systems #IoT
🤖 Arduino Controlled Robotic Biped
The primary goal while building this project was to make the system as robust as possible such that while experimenting with various walking and running gaits, I wouldn't have to constantly worry about the hardware failing. This allowed me to push the hardware to its limit.
A secondary goal was to make the biped relatively low-cost using readily available hobby parts and 3D printing leaving room for further upgrades and expansions. These two goals combined provide a robust foundation to perform various experiments, letting one develop the biped to more specific requirements.
More information...
#projects #robots #arduino #3d_modeling
The primary goal while building this project was to make the system as robust as possible such that while experimenting with various walking and running gaits, I wouldn't have to constantly worry about the hardware failing. This allowed me to push the hardware to its limit.
A secondary goal was to make the biped relatively low-cost using readily available hobby parts and 3D printing leaving room for further upgrades and expansions. These two goals combined provide a robust foundation to perform various experiments, letting one develop the biped to more specific requirements.
More information...
#projects #robots #arduino #3d_modeling
🎚 PD controller's visualization
A proportional-derivative (PD) controller can be used to make a simple system track some reference point. The suspension in a car is an analogue example: the spring and damper work together to hold the car at some desired height. The spring exerts a force proportional its deflection, while the damper opposes motion (the derivative of deflection).
A PD controller uses the same principles to create a virtual spring and damper between the measured and reference positions of a system.
The provided link shows good analogy between physical system and PD controller and helps to understand how PD controller works in reality.
More information...
#articles #control
A proportional-derivative (PD) controller can be used to make a simple system track some reference point. The suspension in a car is an analogue example: the spring and damper work together to hold the car at some desired height. The spring exerts a force proportional its deflection, while the damper opposes motion (the derivative of deflection).
A PD controller uses the same principles to create a virtual spring and damper between the measured and reference positions of a system.
The provided link shows good analogy between physical system and PD controller and helps to understand how PD controller works in reality.
More information...
#articles #control
🔦 Acoustic Tractor Beam
Tractor Beams are mysterious waves that can attract particles towards the source. Here, we will show you how to build an Acoustic Tractor Beam with components that can be bought directly on the Internet for less than 75$.
The circuit is not complicated. Basically, an Arduino will generate 4 half-square signals at 5Vpp 40kHz with different phases. These signals get amplified to 25Vpp by the Motor Driver and fed into the transducers. A button pad can be used to change the phases so that the particle moves up and down. A battery (7.3V) powers the Arduino and the logic part of the Motor Driver. A DC-DC Converter steps-up the 7.3V to 25V for the Motor Driver.
More information...
#projects #arduino #experiments
Tractor Beams are mysterious waves that can attract particles towards the source. Here, we will show you how to build an Acoustic Tractor Beam with components that can be bought directly on the Internet for less than 75$.
The circuit is not complicated. Basically, an Arduino will generate 4 half-square signals at 5Vpp 40kHz with different phases. These signals get amplified to 25Vpp by the Motor Driver and fed into the transducers. A button pad can be used to change the phases so that the particle moves up and down. A battery (7.3V) powers the Arduino and the logic part of the Motor Driver. A DC-DC Converter steps-up the 7.3V to 25V for the Motor Driver.
More information...
#projects #arduino #experiments
👍1
🎚 Adafruit Feather RP2040
The Raspberry Pi Pico was the first microcontroller to feature Raspberry Pi’s RP2040 SoC, but a number of vendors are releasing their own third-party boards with added features. The latest and, so far, best is Adafruit’s Feather RP2040, which combines the popular Feather ecosystem and form factor with Raspberry Pi silicon.
Specifications:
▫️ RP2040 microcontroller chip designed by Raspberry Pi
▫️ Dual-core Arm Cortex M0+ processor, flexible clock running up to 133 MHz
▫️ 264KB of SRAM, and 8MB of on-board Flash memory
More information...
#boards #raspberry #pico #cortex #adafruit
The Raspberry Pi Pico was the first microcontroller to feature Raspberry Pi’s RP2040 SoC, but a number of vendors are releasing their own third-party boards with added features. The latest and, so far, best is Adafruit’s Feather RP2040, which combines the popular Feather ecosystem and form factor with Raspberry Pi silicon.
Specifications:
▫️ RP2040 microcontroller chip designed by Raspberry Pi
▫️ Dual-core Arm Cortex M0+ processor, flexible clock running up to 133 MHz
▫️ 264KB of SRAM, and 8MB of on-board Flash memory
More information...
#boards #raspberry #pico #cortex #adafruit
🎙 The development of USB microphone
"Any normal person would open Amazon and either buy the cheapest microphone available, or perhaps a Røde if they know decent audio when they hear it. Not me though. This sounds like a project if ever I heard one. A good chance to see if I can build a USB microphone and learn a thing or two along the way."
Extremely detailed article describing the process of development of a USB microphone for online meetings from the scratch.
The author has shown how to set up requirements for the project, design electrical circuit, choose components, develop PCB and write code for the board.
More information...
#projects #electronics #stm32
"Any normal person would open Amazon and either buy the cheapest microphone available, or perhaps a Røde if they know decent audio when they hear it. Not me though. This sounds like a project if ever I heard one. A good chance to see if I can build a USB microphone and learn a thing or two along the way."
Extremely detailed article describing the process of development of a USB microphone for online meetings from the scratch.
The author has shown how to set up requirements for the project, design electrical circuit, choose components, develop PCB and write code for the board.
More information...
#projects #electronics #stm32
🖥 MiniWin - Embedded Window Manager
This project shows how to implement a window manager with movable overlapped windows on an embedded micro-controller with a LCD panel and a touch screen. There are commercially available software packages to do this but they cost money and are closed source.
This one, called MiniWin, is free and open-source. It's written in fully compliant C99 and can be used in a C or C++ application. The goals of MiniWin are to be easy to use, easy to modify, expandable, portable to a wide range of hardware, and not too resource hungry.
More information...
#projects #display #stm32 #software
This project shows how to implement a window manager with movable overlapped windows on an embedded micro-controller with a LCD panel and a touch screen. There are commercially available software packages to do this but they cost money and are closed source.
This one, called MiniWin, is free and open-source. It's written in fully compliant C99 and can be used in a C or C++ application. The goals of MiniWin are to be easy to use, easy to modify, expandable, portable to a wide range of hardware, and not too resource hungry.
More information...
#projects #display #stm32 #software