Embedded Basics
Embedded Basics examines the boundaries of hardware and software by exploring the inner workings of microcontrollers and the embedded software techniques that power them.
10 tips for maximizing battery life
- 05.07.2013
Selecting a low power microcontroller is an obvious first step but there are a number of software and hardware tips that can be followed to ensure that every last milli-Amp-hour of current are put to good use. Read More...
10 steps to selecting a microcontroller
- 04.07.2013
Selecting the right microcontroller for a product can be a daunting task, but there are 10 easy steps that can be followed to ensure that the right choice is made. Read More...
The Secrets to Becoming a Great Programmer
- 03.24.2013
During the darkest hours of the design process when deadlines have passed, bugs are running rampant and the light at the end of tunnel is a dimly lit memory, the search for great programmers begins. Read More...
10 C Language Tips for Hardware Engineers
- 03.05.2013
The last thing that any engineer wants is challenges resulting from the language or tool that is being used. In an attempt to avoid C programming pitfalls, here are 10 C language tips for hardware engineers. Read More...
Function pointers - Part 3, State machines
- 02.12.2013
Function pointers can be used for a wide variety of applications including the implementation of state machines. Just like any tool, it may not always be appropriate to use function pointers for a state machine implementation. Read More...
10 software tips for hardware engineers
- 01.28.2013
Designing hardware requires a certain engineering paradigm that can be a complete polar opposite of designing software. When transitioning from hardware design to include software design, here are ten software tips that hardware engineers should keep in mind when they start developing software. Read More...
Function pointers - Part 2, Task Scheduling
- 01.13.2013
One of the most common applications for using function pointers is in task schedulers. Every embedded system contains some type of task scheduler whether it is a simple round robin loop or a state of the art real-time operating system (RTOS). Read More...
Function pointers - Part 1, An introduction
- 01.07.2013
A critical tool when developing an embedded system in C is an understanding of how pointers work. Misunderstanding pointer fundamentals can result in long hours spent debugging a system or a hidden bug that reveals itself in front of the customer. One of the pointer tools that is most often misunderstood and ignored is function pointers. Read More...
Differentiating yourself as an engineer
- 12.17.2012
The field of engineering has always been a competitive field, but it has become even more so as engineers compete for fewer and more specialized opportunities. Here are three primary ways to turn heads. Read More...
Pointer arrays - Part 2, Timer driver configuration tables
- 12.10.2012
There are many advantages to using configuration tables to initialize an MCU’s registers. This post builds upon the previous post on timers to demonstrate how a configuration table can be set up for a timer module. Read More...
Pointer arrays - Part 1, A timer driver
- 11.27.2012
Pointer arrays are a useful tool for mapping peripheral registers to a driver. In this post, the technique of using pointer arrays to map a timer peripheral will be examined for a common 16-bit MCU. Read More...
Using the static keyword in C
- 10.22.2012
There are many topics in the C language that often confuse developers but the use of the static keyword seems to be one of the more common. In this post we will examine the three uses of static and how they affect not only where variables are stored but also their use can increase code quality. Read More...
ESC 2012 Boston Part 3 – Behind the Scenes
- 10.15.2012
Getting away from the office to attend a conference can often be very difficult to do. Here's a behind-the-scenes look at portable tools that allow conference attendees to bring the office and engineering workbench with them. Read More...
ESC 2012 Boston Part 2 - test-driven development
- 10.09.2012
The 2012 Embedded Systems Conference (East) in Boston was a great success this year. There were a number of great themes this year ranging from the internet of things to agile development techniques. The topic that I found most intriguing at this year’s conference was Test Driven Development or TDD. Read More...
ESC 2012 - Boston Part 1
- 09.10.2012
The 2012 Embedded Systems Conference (East) in Boston is just a week away! If you are an embedded geek like me this is the second most exciting time of the year!! Read More...
Time is of the Essence
- 09.03.2012
Physicists have discovered that time is not continuous but instead has digital-like qualities. Like the universe, an embedded system has a minimum time quanta that determines the real-time response of the system. Read More...
Creating Configuration Tables to Initialize Peripherals
- 08.03.2012
Microcontroller peripherals can be memory mapped using pointer arrays as demonstrated in the previous post. By taking this generic approach to memory mapping, a technique is needed to control exactly what is put into the registers. Configuration tables serve as a useful tool for this exact purpose. Read More...
Using pointer arrays to map peripherals
- 07.19.2012
One of the fundamental issues in driver design is deciding how to map to the peripheral registers. Read More...
A few pointers part 3
- 07.12.2012
The previous two posts have been exploring the fundamentals of using pointers from the basics of declaring a pointer to the more complex notation of manipulating pointers. An examination of how arrays and pointers behave in similar fashions and the types of operators that can be used to manipulate them was presented. It is now time to apply a combination of all these concepts into something known as pointer arrays. Read More...
A few pointers part 2
- 06.27.2012
In part one of this series the basics of what a pointer is and how to declare one was examined in detail. It is now time to examine how pointers work when dealing with slightly more complex variables such as arrays and structures. It is far more efficient to pass the memory location around an application than the entire set of data. Read More...
A few pointers part 1
- 06.21.2012
A concept in C programming that is absolutely essential and fundamental to all software design but often misunderstood is pointers. Read More...
Intro to Embedded Basics
- 06.14.2012
Embedded Basics examines the boundries of hardware and software by exploring the inner workings of micro-controllers and the embedded software techniques that power them. Read More...
Wise words from Einstein, Tesla, Spock, and others
The case of the resistor turned strain gauge
Accidental engineering: 10 mistakes turned into innovation
If you’re an engineer, thank your mom
6 famous people you may not know are engineers
Wise words from Einstein, Tesla, Spock, and others
-40°C to +85°C or 25°C only. What temp range is this part truly guaranteed over?
The case of the resistor turned strain gauge
If you’re an engineer, thank your mom
The Silicon Valley electronic flea market and breakfast
10 tips for maximizing battery life
