Embedded Wednesdays: A Crash Course in C - Part 1 - Integers

After a review of the Embedded Wednesdays classes at ENTS, we identified a need for more information about the C language.

This week Andrei starts a series of posts introducing the C language. In this first post he describes the integer data type and some best practices.

 

Read More

Embedded Systems - from the Guy Who Started It All

Desktop computers constitute approximately 0% of all microprocessor sales by volume. Who knew? Not very many people as it turns out.

In this short video, the inventor of the microprocessor, Ted Hoff, discusses how the average person doesn't understand the role of embedded control.

 

(Intel 4004 image by Thomas Nguyen CC BY-SA 4.0)

Read More

On the Practice of Writing

Calvin: I used to hate writing assignments, but now I enjoy them. I realized that the purpose of writing is to inflate weak ideas, obscure poor reasoning, and inhibit clarity. With a little practice, writing can be an intimidating and impenetrable fog! ?? Want to see my book report? 

Hobbes: (Reading Calvin's paper) "The Dynamics of Interbeing and Monological Imperatives in Dick and Jane: A Study in Psychic Transrelational Gender modes." 

Calvin: Academia, here I come!

― Bill Watterson, Homicidal Psycho Jungle Cat

Quadcopter Controller: Buttons and Joysticks

The quadcopter controller has some normal push buttons which work the same way that the karaoke buttons work. The on/off switch is a slide switch (like karaoke’s on/off switch but its action goes side-to-side instead up-and-down), the rest are momentary buttons. From the outside, it may not be obvious that the controller’s flight trimmer inputs are momentary buttons, they look like rocker switches

Read More

ESE101: Picking a Processor Platform

I’ve covered quite a bit in ESE101 so far. It started with a fictional microcontroller and now you understand how a microcontroller uses instructions, registers, and memory to get its job done.

The fictional microprocessor was good enough for introducing the basics, but it’s time to move on to a real microcontroller. Read on to learn more about the microcontroller I’ve chosen, and more interestingly why I chose it.

Also, dev kits may be given away.

Read More

An Idea for a Weasley Clock

In Harry Potter, there was a magical item called a Weasley Clock which showed where everyone in the family was at  particular time. Tom from Australia wrote in, wanting to design one but not sure how to get started. He’s new to embedded but is a software developer. I was amused by the idea of such a clock and procrastinating about another project so I put together a response. Happily, Tom says you can read his mail so here it is.

Read More

Embedded Wednesdays: Getting Started in Embedded Systems

Andrei Chichak writes the Embedded Wednesdays column, for people who want to get started in embedded systems software. For projects, his posts use the STM32 Discovery dev kits (specifically the STM32F407G-DISC1).  His articles include introductory information such as a crash course in C and getting started with the board as well as more advanced topics like; DMA with ping-pong buffers, SPI and how to use an oscilloscope, current capacity of processor pins and how to NOT let the smoke out, identifier visibility and scope, new features in C like dot dot dot ranges in case statements, and initializers, and how to schedule events in C using Voodoo underflow math

Read More

Embedded Wednesdays: Tools of the Trade

You need to write your first program for an embedded system. Your IT people say that you can have any software you need as long as it is Microsoft Office. Do you have everything you need to do your job? No, you're in big trouble.

Embedded systems programming uses a set of very specialized tools, and if you've never used them before, you can spend a lot of money and not get what you need.

This week on Embedded Wednesdays, we look at the tools used to produce embedded systems firmware. We give an overview of the compilers, debuggers, and IDEs you will be using. After reading this post, and doing some research, you should have the information you need to go to your boss and say "NO, I can't control that cutting laser with an Excel macro. I need this..."

 

Read More

ESE101: Microcontrollers Will Make You Jump Jump

So far in ESE101, I’ve introduced a fictional microcontroller that has three instructions: ADD, SUB, and MOVE. The microcontroller uses three simple steps to run each instruction from memory and then move on to the next instruction in memory.


Until now we assumed instructions would be executed sequentially (in order), but this week we’ll add a few new instructions that will let our microcontroller jump around to whichever instruction it wants to.

Read More

Press All the Buttons!

Confession time: I hate blinking lights. Oh, I know, I read (and wrote!) the last few posts and I like controlling LEDs as much as the next engineer, but I don’t like seeing lights blink. They’re often too bright, too annoying, and too useless. Pushing buttons, on the other hand… well, if the world ends, it might be because I wanted to know what would happen when I pushed some big red button.

 

Read More

ESE101: Immediately!

Our existing ADD, SUB, and MOVE instructions move numbers to and from registers and memory. Let’s add a new source for these instructions called an immediate value.

An immediate value is a number that is hardcoded inside the instruction itself; the immediate value doesn’t come from a register or memory location.

Read on - immediately!

Read More

ESE101: Three Simple Steps to a Better Microcontroller

Last time, I introduced the microcontroller and its instructions, registers, and memory.

But I didn't talk about where instructions come from. Does the stork bring them? Or are they found in a cabbage patch? You won't believe the truth! (Yes you will.)

Read More

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 basicsmemoryinterrupts, and timers - and more!

Read More