Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Beyond Arduino, Part 4: C for Embedded Applications
Rating: 4.4 out of 5(71 ratings)
1,221 students

Beyond Arduino, Part 4: C for Embedded Applications

Learn how to write better code for your embedded hardware or IoT projects like professionals, not beginners, do.
Last updated 6/2020
English
English [Auto],

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.

Coding Exercises

This course includes our updated coding exercises so you can practice your skills as you learn.

See a demo
Image of coding exercise example

Course content

8 sections128 lectures5h 56m total length
  • Course Structure3:13

    Explore the course structure for embedded C, covering quick C tutorial, floating point on microcontrollers without a floating point unit, interrupt interfaces, preprocessor and compiler tricks, bit manipulation, and IDEs.

  • Instructor Introduction1:30

    Eduardo Karpin introduces fourth beyond Arduino course on C for embedded applications, covering preprocessor tricks, interrupts, bit manipulation, function call alternatives, no floating point unit strategies, and an IDE showcase.

  • Motivation #14:52

    Discover why the C programming language remains the preferred choice for embedded applications, over languages like Java, Python, or assembly, and explore embedded C for low-level microcontroller work.

  • Motivation #23:39

    Highlights motivation for learning C for embedded applications by explaining the Arduino language is plain C, a set of C/C++ functions called from your code and compiled by AVR GCC.

  • What's with the C/C++ thing?3:06

    Explain how C and C++ differ, why Arduino uses the C++ compiler on AVR, and how the course uses C++ backward-compatible with C for embedded exercises, plus C/C++ compatibility notes.

Requirements

  • 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).

Description

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.
  • Makers.