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:
- And In the Beginning, There Was Blinkies
- Programming Embedded Systems
- Programming C Without Knowing Assembly
- Thanks for the Memories
- My Complements to Numbers
- Shifty Acceleration
- Tools of the Trade
- Number Representation
- A Crash Course in C - Part 1 - Integers
- A Crash Course in C - Part 2 - Floating Point
- A Crash Course in C - Part 3 - Characters
- A Crash Course in C - Part 4 - Booleans
- A Crash Course in C - Part 5 - Arrays
- A Crash Course in C - Part 6 - The Basic Structure of C Code
- A Crash Course in C - Part 7 - Flow Control Statements
- A Crash Course in C - Part 8 - Introduction to Functions
- A Crash Course in C - Part 9 - Functions, part 2
- Logic in C - Part 1
- Logic in C - Part II, bit manipulation
- How big is an enum?
- Shortcutting Conditionals
- Scope I
- Scope II
- Discovery: The More Things Change
- Discovery: Let's get Board
- Discovery: Documentation
- Discovery: Sample Code
- Discovery: CubeMX
- Scheduling Code on Bare Metal
- Discovery: Code, Part 1
- Discovery: Code, Part 2 - Code generated by CubeMX
- Discovery: Code, Part 3 - Possible Compilers
- Discovery: Let's Get Started - LEDs
- Discovery: Buttons
- Discovery: Follow the Bouncing Bit
- Discovery: Button Interrupts
- Discovery: UARTs Part 1
- Discovery: UARTs Part 2 - Connections
- Discovery: UARTs Part 3 - The Final Step
- Discovery: UART Input
- DMA - Introduction
- DMA - Examples. UART output and code CRCs.
- Exceptional code - an investigation into null pointers and gcc code generation
- I SPI - an introduction to the SPI bus
- I Apply SPI - Scrawls and Traces - an introduction to oscilloscopes and schematics.
- I Apply SPI - Making Connections - deriving parameters for SPI
- I Apply SPI - Good Vibrations - finally, the code level of SPI
- Looking Out For Number 1 - An electronics pin 1 spotter's guide.
- Current Per Pin - Part 1 - An introduction to electric current
- Current Per Pin - Part 2 - LEDs, Microcontrollers, and smoke.
- The Case for the Default Case - On the importance of specifying the default switch case.
- New To Me - Range specifiers in switch statements.
- Ranges in Array Initializers - Ranges again, but this time in initializers.
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.
Andrei can be reached by using that electronic mail thingie. Send a message to the account named embedded on the server chichak dot ca.