Embedded Wednesdays: Getting Started in Embedded Systems

Embedded Wednesdays is a periodic series of posts, intended for people wanting to get started in embedded systems. You may want to understand what is going on under the hood of an Arduino, you may need a crash course in embedded systems development, or you may have landed here because of a Google search about a topic. We will be discussing topics ranging from the basic introduction to advanced topics to make your brain hurt. Feel free to suggest topics and definitely listen to the embedded.fm podcast.


New posts will come out weekly, and you can find all the posts here:

  1. And In the Beginning, There Was Blinkies
  2. Programming Embedded Systems
  3. Programming C Without Knowing Assembly
  4. Thanks for the Memories
  5. My Complements to Numbers
  6. Shifty Acceleration
  7. Tools of the Trade
  8. Number Representation
  9. A Crash Course in C - Part 1 - Integers
  10. A Crash Course in C - Part 2 - Floating Point
  11. A Crash Course in C - Part 3 - Characters
  12. A Crash Course in C - Part 4 - Booleans
  13. A Crash Course in C - Part 5 - Arrays
  14. A Crash Course in C - Part 6 - The Basic Structure of C Code
  15. A Crash Course in C - Part 7 - Flow Control Statements
  16. A Crash Course in C - Part 8 - Introduction to Functions
  17. A Crash Course in C - Part 9 - Functions, part 2
  18. Logic in C - Part 1
  19. Logic in C - Part II, bit manipulation
  20. How big is an enum?
  21. Shortcutting Conditionals
  22. Scope I
  23. Scope II
  24. Protection
  25. Discovery: The More Things Change
  26. Discovery: Let's get Board
  27. Discovery: Documentation
  28. Discovery: Sample Code
  29. Discovery: CubeMX
  30. Scheduling Code on Bare Metal
  31. Discovery: Code, Part 1
  32. Discovery: Code, Part 2 - Code generated by CubeMX
  33. Discovery: Code, Part 3 -  Possible Compilers
  34. Discovery: Let's Get Started - LEDs
  35. Discovery: Buttons
  36. Discovery: Follow the Bouncing Bit
  37. Discovery: Button Interrupts
  38. Discovery: UARTs Part 1

Embedded Wednesdays developed out of a discussion with an embedded.fm listener from the Edmonton New Technology Society (ENTS) in Edmonton, Alberta, Canada. 

The real Embedded Wednesdays is a group that meets at ENTS every Wednesday night. The first hour is taken up by a talk about various topics in embedded systems development, the next hour is lab time where the theory is put into practice.

Some people in the group were not able to make every meeting and asked me to put together a web page with my notes. This series of posts is an expansion of those notes and other topics that come out of questions from the members, comments in the posts, and all sorts of topics that spill out of the 18 years that I have been developing embedded firmware.