7 Steps to Create a Reusable Debounce Algorithm

A quick google search reveals that there are over 212,000 websites that examine how to debounce a button.  After examining a number of them it is obvious that these implementations are not meant for reuse.  The implementations and strategies often lack scalability, the ability to debounce multiple buttons easily and portability.  They are tightly coupled … Continue reading 7 Steps to Create a Reusable Debounce Algorithm

10 Pain-free Steps to Configure an Interrupt Controller

Properly setting up interrupts on a microcontroller isn’t easy.  The number of times an engineer has setup interrupts in their career doesn’t seem to make a difference.  Configuring interrupts always has some gotcha hidden away that leaves the developer scratching their head and seeking answers in an obscure data sheet or online code snippet.  Thankfully … Continue reading 10 Pain-free Steps to Configure an Interrupt Controller

CEC – Designing Embedded Systems using MicroPython

The C/C++ programming languages have long dominated the embedded systems industry, with very few other languages being able to find a foothold. The winds of change are upon us, however, and MicroPython may be the programming language you use to build your next product. Python’s shallow learning curve and the fact that even elementary-school students … Continue reading CEC – Designing Embedded Systems using MicroPython

5 Tips for Getting Started with Digital Signal Processing (DSP) on Arm Cortex®-M CPUs

Digital signal processing (DSP) provides developers with the ability to clean-up and analyze complex signals in a flexible and cost-efficient manner all from software. When developers typically think about DSP, they often picture expensive, dedicated processors, but modern microcontrollers, such as the Arm Cortex-M processors, now include DSP extensions that allow DSP algorithms to be … Continue reading 5 Tips for Getting Started with Digital Signal Processing (DSP) on Arm Cortex®-M CPUs

5 Embedded System Characteristics Every Engineer Should Monitor

No matter how complex an embedded system becomes, there are five key characteristics to every embedded system that develops should monitor closely. A few are obvious such as RAM and ROM usage; however, the others are often over looked by developers and can easily become a major sticking point in the design cycle. Characteristic #1 … Continue reading 5 Embedded System Characteristics Every Engineer Should Monitor