Beyond Arduino, Part 4: C for Embedded Applications
What you'll learn
- Create professional grade embedded applications.
- Produce embedded applications employing THE most widely used programming language ever.
- Benefit from a wide variety of C compiler and preprocessor tricks to help you make better embedded applications.
- You should know Basic Microcontroller Programming. This course assumes you know how to program, so general good programming practices are assumed and not enforced in this course (meaningful variable names, commenting your code, indentation, etc.)
- You should at least be familiar with the C Programming Language (Good news, just so you know: The Arduino uses C).
In this fourth part of the Beyond Arduino series, you'll learn many techniques to produce more efficient and professional embedded applications. It's time to leave the toy programs behind.
You'll learn how to handle memory-attached hardware registers properly, how to perform bitwise manipulation of data, how to handle interrupts on your microcontroller development platform, and many other techniques which you aren't always aware of because of the immense body of elements that conceal the details in many beginner platforms, like the Arduino, for the sake of simplicity.
You'll also learn how to deal with very basic, typically 8-bit, microcontrollers that don't have a Floating Point Unit and still write code that gets the job done in the best way possible even with the limited resources available.
After grasping this knowledge, we expect you to think differently when designing your embedded applications in the future. By adding these best practices to your bag of tricks, you'll get one step closer to making embedded applications like a professional, and hopefully you'll feel less like a beginner.
Who this course is for:
- Arduino Developers.
- Software Developers.
I'm an Electrical and Computer Engineer. I've been teaching Electrical and Computer Engineering at undergraduate and graduate for over 15 years now.
I love hardware, software and teaching.
I have 9 courses on Udemy so far, one on a technique to solve engineering problems easily, a series of 4 courses (so far) on the electronics and algorithms behind microcontroller platforms, and another series on FPGAs.
Among the subjects in the classes I teach on campus, my strongest are Electrical Circuit Theory, Electronic Devices, Digital Design, Computer Architecture, Microcontrollers, Assembly and C Programming for Embedded Applications, Hardware Description Languages, Field Programmable Gate Arrays, Artificial Intelligence, Printed Circuit Board Design and Real Time Operating Systems.
Along with two of my finest colleagues, I created one of the first MOOCs in Spanish, an introduction to the Raspberry Pi. We wrote a conference paper on the outcome of this very successful course.
I recently got a Master of Science in Computer Science at Georgia Tech and I loved every minute of it.
Telecom Engineer passionate about new technologies and my family. The general background I have revolves around value added services in mobile services and also product marketing for a major brand of mobile devices. When it comes to hardware design I came across various developer platforms when designing my bachelor's thesis. After 6+ years of experience I became a mommy to my dear Ignacio and a stay at home mommy.