Recent Comments

Blog

Callback functions are an essential and often critical concept that developers need to create drivers or custom libraries. A callback function is a reference to executable code that is passed as an argument to other code that allows a lower-level software layer to call a function defined in a higher-level layer(10). A callback allows a … Continue reading Embedded Basics – Callback Functions

One of the top complaints about electronic devices in our modern, mobile society is that their batteries don’t last as long as expected. Human beings have to some degree become addicted to our ability to always be connected and streaming data of one form or another. The increased use of mobile devices has resulted in … Continue reading 7 Tricks for Estimating Battery Life

Software engineers are everywhere! Software engineers develop the low-level firmware that drives our gadgets, the application code that allows us to interact with our devices, the software that manages the internet, satellites, medical devices, automobiles and the list goes on and on. Despite the abundant and ever growing software developer ranks, there seems to be … Continue reading The Case of the Missing Professional Software Engineers

Hardware In-Loop (HIL) testing runs the test case code on the target microcontroller rather than using a mocked software layer to act as the hardware. HIL testing can be extremely useful for verifying that hardware accesses from a HAL are working as expected and even test that all outputs from the system work as expected. … Continue reading Hardware In-Loop Testing

Course Overview: The IoT edge devices have embedded written all over them. Sensor nodes that acquire data and transmit them to the cloud is quickly becoming common place. In this series, Jacob Beningo will walk attendees through the steps and processes necessary to create a sensor node using an ESP8266 which is an integrated microcontroller … Continue reading CEC – Designing IoT Sensor Nodes using the ESP8266

Best practices and industry standards develop and evolve over time but they represent a snap shot of guiding wisdom. Best practices can be slow to evolve and often become entrenched despite technological advances that void the previously known best practice. The use of C language features within the embedded systems space has suffered the same … Continue reading 5 Forbidden C Features that just might not be

Every embedded software developer should be using a revision control system. I cannot even begin to quantify how much time I’ve saved using such systems through-out my career. When something has broken, and cannot be undone, the ability to roll back to the previous version is a life saver. Even as developers recognize and use … Continue reading 5 Revision Control Best Practices

Blasphemy! Open source software is the greatest thing that has ever happened to the industry! It’s free! Why on Earth would we ever want to avoid open source software? This may surprise some readers but despite our love for “open source” and “free software”, there are several reasons that developers should consider that justify avoiding … Continue reading 7 Reasons to Avoid Open Source Software

Writing embedded software for microcontrollers that is reusable and portable can be challenging. Different microcontrollers contain different architectures and peripherals which makes creating any cross-platform application code difficult to achieve. The fact is, developers can write embedded software that is reusable and portable in a microcontroller based environment. Over the last year or so I’ve … Continue reading Embedded Basics – Developing Reusable Firmware