Embedded Software Engineering 101
Chris Svec writes the Embedded Software Engineering 101 column (aka ESE101), focused on how microcontrollers work. For projects, his posts use the TI MSP430 LaunchPad dev kits (specifically the MSP-EXP430F5529LP), though the concepts apply for all embedded platforms. Chris writes about microcontroller basics, memory, interrupts, and timers - and more!
Read MoreWhen Hams Fly
Recently, I’ve been wading back into flying model aircraft. Learning about FPV (first-person video) flying has led me to studying for the Technician class amateur radio license, since it’s required to legally transmit the video downlink. I asked Twitter for some suggestions for online education resources, and the responses were too good not to share. Here is that list, and some other things I’ve found along the way.
Read More
Embedded Systems Newsletters I Actually Read
I have a confession: I like newsletters. Not all of them, of course, but I actually look forward to getting a few in my inbox every week. You might too.
Here they are, starting with my favorite.
Read MoreBB-8's Lights
Continuing the Taking Apart Toys series, this post looks at LEDs in BB-8 using the continuity (beep) mode on a multimeter to trace out the circuit.
Read MoreTaking Apart Toys
This post is an index post and will be updated as the Taking Apart Toys series gets new posts.
Read MoreEmbedded Wednesdays. Thanks for the Memories.
Do you know your Flash from your FRAM?
This week Andrei looks at the various types of memory used in embedded systems.
See what you can remember in this weeks instalment of Embedded Wednesdays.
Read More
Embedded Software Engineering 101: Microcontroller Basics
We’ll start our Embedded Software Engineering 101 journey with the humble microcontroller. The microcontroller (or microprocessor) is the fundamental building block of all computer systems, embedded or otherwise.
A microcontroller seems quite complicated, but it’s made up of three simple things: instructions, registers, and memory. Instructions are the things a microcontroller knows how to do. A simple microcontroller doesn’t know how to do much - it might only have 20 or 30 instructions. I’ll use the MSP430 microcontroller made by Texas Instruments later in this series, and it has only 27 instructions.
Read MoreWhat is a JTAG?
Sara, a listener of Embedded.fm and a fairly new embedded developer, asked about debuggers, JTAG, and IDEs.
Read MoreProgramming C Without Knowing Assembly
Today, we got a question regarding programming C and the necessity of knowing the assembly language of the processor that we are working on.
Read MoreLighting Up the Toys
Continuing the Taking Apart Toys series started last week, this post starts looking at LEDs using a multimeter.
Read MoreEmbedded Wednesdays. Programming Embedded Systems
What is the most popular language used for embedded systems programming?
I doubt that the answer will surprise many of you, but this week we look at the history, choices, and contenders in the embedded programming world.
Read MoreEmbedded Software Engineering 101: Introduction
I’m starting a series to teach embedded software engineering. We’ll start with a description of a basic microcontroller. Once you understand how a microcontroller works we’ll build on that until you’ll understand how a moderately complex embedded system like a Fitbit or Nest works.
I’m calling it Embedded Software Engineering 101, and it starts this week right here on this blog.
Read on for more background and details.
Read MoreElementary Quantum Mechanics
Some of you may have suffered through enough physics in college to remember something called the “Electron in a box” model. Well, today I’m going to show you an Electron coming out of a box.
A while back I wrote up a small project with the Particle.io Photon, a Wifi-enabled prototyping board that can be programmed using Arduino-like code. I got a surprise in the mail this week: an intriguing successor to the Photon, the also unsearchably named “Electron”.
Read MoreEmbedded Wednesdays. And in the beginning there was blinkies!
In this initial Embedded Wednesdays post, we look at the question of What is an Embedded System?
We'll look what a microcontroller is, what is missing in an embedded system, and give a few examples for you to look out for.
Read MoreIntroducing the Toys
I'm writing a book about how to learn embedded software concepts by taking apart toys. This is the first chapter. I hope you enjoy it.
***
I talk to many engineering friends who say they took apart their toys (and everything else). I was not like that. I didn’t know it was possible to take objects apart. I definitely didn’t know how much I could learn. I never imagined how fun it would be.
Read More
Why C Arrays Start at Zero: I Don't Know.
Why do C arrays start at element zero? It’s probably not why you think.
How's that for click-bait?
Read MoreIt's Dangerous to go Alone! Take MISRA-C
Frequently, we talk about how a little compassion and respect for the future can make a big difference for code quality. I purposely avoided many specifics to focus more on the motivations for taking greater care with our work. This week, I’d like to address something very specific and perhaps something that could form a foundation for writing better code.
Read MoreDevice Security Checklist
I’ve wanted to find a checklist to identify what issues should be of concern as I design and develop products. I haven’t found one that works so I’ll take a stab at making one, assuming an internet of things (probably wearable) device, a phone application, and a cloud server of some sort.
Read MoreBlocking Patents With Open Source Prior Art
An Embedded.fm podcast listener asked a question on Twitter about using open source as prior art to block future patents. So, of course, I’m going to answer on a blog.
Read More