
Your Career Archive
Clive Maxfield and Adam Taylor recently published a series of blog posts about how to get and keep an engineering job, discussing preparation in high school through early career stages. I've just started a new job, and wanted to add...

Painting with Light to Measure Time
Recently I was faced with a dilemma while working from home. I needed to verify an implementation of first-order sigma-delta modulation used to adjust LED brightness. (I have described this in more detail in Modulation Alternatives for the...

Review: Hands-On RTOS with Microcontrollers
Full disclosure: I was given a free copy of this book for evaluation.Hands-On RTOS with Microcontrollers: Building real-time embedded systems using FreeRTOS, STM32 MCUs, and SEGGER debug tools by Brian Amos is an outstanding book. It lives...

Review: Project Management for the Unofficial Project Manager
Software development projects are notorious for having problems. Late, over budget, not working properly, making people's lives miserable all around. Embedded systems add the further complication of hardware to that. How many of us...

Scorchers, Part 3: Bare-Metal Concurrency With Double-Buffering and the Revolving Fireplace
This is a short article about one technique for communicating between asynchronous processes on bare-metal embedded systems. Q: Why did the multithreaded chicken cross the road? A: to To other side. get the — Jason Whittington There...

Absolute Beginner's Guide To Getting Started With Raspberry Pi
The Raspberry Pi is a great little computer for learning programming in general, as well as embedded systems. It runs a version of the Linux OS (Operating System) called Raspberry Pi OS (formerly called Raspbian, so you'll see that name a lot,...

Make Hardware Great Again
By now you're aware of the collective angst in the US about 5G. Why is the US not a leader in 5G ? Could that also happen -- indeed, is it happening -- in AI ? If we lead in other areas, why not 5G ? What makes it so hard ? This...

Tolerance Analysis
Today we’re going to talk about tolerance analysis. This is a topic that I have danced around in several previous articles, but never really touched upon in its own right. The closest I’ve come is Margin Call, where I discussed...

So You Want To Be An Embedded Systems Developer
Then listen now to what I say. Just get an electric guitar and take some time and learn how to play. Oh, wait, that's a song by the Byrds. But the strategy is the same. Get some information and tools and learn how to use them. No need to...

Introduction to Deep Insight Analysis for RTOS Based Applications
Over the past several years, embedded systems have become extremely complex. As systems become more complex, they become harder and more time consuming to debug. It isn’t uncommon for development teams to spend more than 40% development cycle...

Introduction to Microcontrollers - Beginnings
●14 commentsWelcome to this Introduction to Microcontroller Programming tutorial series. If you are looking to learn the basics of embedded programming for microcontrollers (and a bit of embedded hardware design as well), I hope these tutorials will help you...

Analyzing the Linker Map file with a little help from the ELF and the DWARF
●4 commentsWhen you're writing firmware, there always comes a time when you need to check the resources consumed by your efforts - perhaps because you're running out of RAM or Flash or you want to optimize something. The map file generated by your linker is...

Thermistor signal conditioning: Dos and Don'ts, Tips and Tricks
●4 commentsIn an earlier blog entry, I mentioned this circuit for thermistor signal conditioning: It is worth a little more explanation on thermistor signal conditioning; it's something that's often done poorly, whereas it's among the easiest...

VHDL tutorial - A practical example - part 3 - VHDL testbench
●6 commentsIn part 1 (http://www.embeddedrelated.com/showarticle/85.php) of this series we focused on the hardware design, including some of the VHDL definitions of the I/O characteristics of the CPLD part. In part 2...

MSP430 Launchpad Tutorial - Part 2 - Interrupts and timers
●4 commentsWhat is an "interrupt"? It is a signal that informs our MCU that a certain event has happened, causing the interruption of the normal flow of the main program and the execution of an "interrupt routine", that handles the event and takes a...

How to Read a Power MOSFET Datasheet
●6 commentsOne of my pet peeves is when my fellow engineers misinterpret component datasheets. This happened a few times recently in separate instances, all involving power MOSFETs. So it’s time for me to get on my soapbox. Listen up! I was going to post...

MSP430 LaunchPad Tutorial - Part 4 - UART Transmission
●3 commentsToday we are going to learn how to communicate using UART with the Launchpad. For this purpose I will replace the default microcontroller that comes with the board with the MSP430G2553. It is the most powerful device in the MSP430 Value Line and...

Your Career Archive
Clive Maxfield and Adam Taylor recently published a series of blog posts about how to get and keep an engineering job, discussing preparation in high school through early career stages. I've just started a new job, and wanted to add...

VHDL tutorial - part 2 - Testbench
●4 comments[quicklinks]In an earlier article I walked through the VHDL coding of a simple design. In this article I will continue the process and create a test bench module to test the earlier design. The Xilinx ISE environment makes it pretty easy to start...

Boot Sequence for an ARM based embedded system
●6 commentsHello all, Allow me to introduce myself. I am Deeksha and I come from plains of North India. My tryst with embedded technologies has been 5 years long and every single day I am amazed with the vastness and learning involved. The thing with...