Embedded Basics – 10 Qualities of Portable Firmware

Portable Firmware …. is modular is loosely coupled has high cohesion is ANSI-C compliant has a clean interface has a Hardware Abstraction Layer (HAL) is readable and maintainable is simple uses encapsulation and abstract data types is well documented How well do the characteristics of your software match the qualities of portable firmware?

Tips and Tricks – 7 Tips for creating and using portable types

Writing software that is reusable, portable and will stand the test of time is critical to embedded software developers. Below are 7 tips for creating and using portable types in C. Tip #1 – Use stdint.h The use of built-in data types can result in portability issues between different compilers. The C standard does not specify … Continue reading Tips and Tricks – 7 Tips for creating and using portable types

Using Conditional Complexity to Test Embedded Software

One of the areas of embedded software development that engineers seem to struggle with is testing.  Engineers often get excited about the design and implementation phases but when it comes to proving that the system works, efforts and or interest really start to wane.  This is completely understandable considering the time and effort that can … Continue reading Using Conditional Complexity to Test Embedded Software

Embedded Basics – Squirrel

Embedded software developers are familiar with C/C++ but with the Internet of Things, knowing just these languages is not going to be enough. Learning some Python and/or Java will help round the language skills but another language a developer may want to also consider is Squirrel.   Squirrel syntax is similar to C and Java … Continue reading Embedded Basics – Squirrel

Tips and Tricks – Offload the I in IoT

Embedded software developers have a lot on their plate. A developer has to be an expert in hardware, sensors, communication protocols, low level drivers, HAL’s API’s, object oriented design and a master of programming languages. Unfortunately embedded engineers must also now know internet protocols, web design, tcp/ip stacks, encryption and security. The list is quickly … Continue reading Tips and Tricks – Offload the I in IoT

Tools – The April Board

The April board is a break-out for the Imp Developer module. The April module provides the ability to power the Imp module using a standard USB-Mini cable, an optional battery connector, or through a standard .100 header. The April board also has an on-board 3.3V regulator that can with stand an input up to 17 … Continue reading Tools – The April Board

CEC – Driver Design Patterns and the Internet

Course Overview: Leveraging design patterns is a critical technique to quickly and efficiently develop an embedded system.  This course will explore driver design patterns through developing low-level drivers for the STM32L0 Nucleo board. We will explore the interfacing of common sensors to the development board, in addition to connecting it to the Internet as a … Continue reading CEC – Driver Design Patterns and the Internet