Source: https://mokxi.com/learn/path/c-from-zero
Updated: 2026-11-11

All paths

# C from zero

The language under every microcontroller, from a first hello over serial: types and sizes, overflow, if and switch, loops, functions and pointers, arrays and strings. Ends with a serial quiz you build and make your own.

Arduino Uno R3 Free 8 lessons 7 h 4 chapters 2,600 XP Coding · Beginner +100 XP

0 of 8 done

Start the course free Hello over serial Lesson plan for teachers

What you will build

## 4 projects, built step by step

8 lessons in 4 chapters, about 7 hours on a simulated Arduino Uno R3. Free, in your browser, every step checked by the simulator.

Chapter 1 project

### Types and sizes

Every variable is a box with a fixed number of bytes. sizeof on the Uno, the fixed-width types from stdint.h, what each one holds, and a char that is really a number.
Open it in the simulator

Chapter 2 project

### if and switch

The program picks one way to go: serial commands chosen with a switch, a fall-through bug to find and fix, an else-if ladder for temperatures, and a button read with if.
Open it in the simulator

Chapter 3 project

### Functions

Name a piece of work once: prototypes, parameters and return values, why a copy cannot change the caller and a pointer can, a local that hides a global, and a static counter that remembers.
Open it in the simulator

Chapter 4 project

### Project: a serial quiz

Everything in the course in one program: questions in an array of structs, answers read from Serial, a switch to check them, a score, lamps for right and wrong, and a button to start again. Then make it yours.
Open it in the simulator

The map

## Chapter by chapter

Each lesson opens when the one before it is done, and each chapter ends in a project.

Chapter 1

## Talk and count

Print over serial, and the boxes numbers live in.

Open 215 XP

### Hello over serial

The first C program on an Uno: setup and loop, print against println, a char that turns out to be a number, and a line built with snprintf every second.

0 of 7 steps

Start What is in it

Project Locked 380 XP

### Types and sizes

Every variable is a box with a fixed number of bytes. sizeof on the Uno, the fixed-width types from stdint.h, what each one holds, and a char that is really a number.

0 of 6 steps

Chapter 2

## Do the math, pick a path

Operators and what overflow does, then if and switch.

Locked 215 XP

### Operators and overflow

Integer division and the remainder, a uint8_t that wraps like an odometer, an int that overflows and why that is undefined, the fix with a wider type, and bitwise operators on three lamps.

0 of 7 steps

Project Locked 480 XP

### if and switch

The program picks one way to go: serial commands chosen with a switch, a fall-through bug to find and fix, an else-if ladder for temperatures, and a button read with if.

0 of 8 steps

Chapter 3

## Again, and by name

Loops, then functions, pointers and scope.

Locked 215 XP

### Loops

Do it again: for when you know how many times, while when you wait for something, do-while that always runs once, continue and break, a loop inside a loop, and a while that waits for a button.

0 of 7 steps

Project Locked 430 XP

### Functions

Name a piece of work once: prototypes, parameters and return values, why a copy cannot change the caller and a pointer can, a local that hides a global, and a static counter that remembers.

0 of 7 steps

Chapter 4

## Data and a project

Arrays and C strings, then a quiz built from everything.

Locked 215 XP

### Arrays and strings

Many values in a row: sum and max over an array, its length from sizeof, and text as a char array ending in a zero byte, with strlen and strcmp written by hand and a buffer that never overflows.

0 of 7 steps

Project Locked 450 XP

### Project: a serial quiz

Everything in the course in one program: questions in an array of structs, answers read from Serial, a switch to check them, a score, lamps for right and wrong, and a button to start again. Then make it yours.

0 of 8 steps

Syllabus

## Every lesson in the course

All 8 lessons, in order, each with what it covers. Any of them opens in the editor right away.

Chapter 1

### Talk and count

- Hello over serial The first C program on an Uno: setup and loop, print against println, a char that turns out to be a number, and a line built with snprintf every second.
- Types and sizes Every variable is a box with a fixed number of bytes. sizeof on the Uno, the fixed-width types from stdint.h, what each one holds, and a char that is really a number.

Chapter 2

### Do the math, pick a path

- Operators and overflow Integer division and the remainder, a uint8_t that wraps like an odometer, an int that overflows and why that is undefined, the fix with a wider type, and bitwise operators on three lamps.
- if and switch The program picks one way to go: serial commands chosen with a switch, a fall-through bug to find and fix, an else-if ladder for temperatures, and a button read with if.

Chapter 3

### Again, and by name

- Loops Do it again: for when you know how many times, while when you wait for something, do-while that always runs once, continue and break, a loop inside a loop, and a while that waits for a button.
- Functions Name a piece of work once: prototypes, parameters and return values, why a copy cannot change the caller and a pointer can, a local that hides a global, and a static counter that remembers.

Chapter 4

### Data and a project

- Arrays and strings Many values in a row: sum and max over an array, its length from sizeof, and text as a char array ending in a zero byte, with strlen and strcmp written by hand and a buffer that never overflows.
- Project: a serial quiz Everything in the course in one program: questions in an array of structs, answers read from Serial, a switch to check them, a score, lamps for right and wrong, and a button to start again. Then make it yours.

Kits

## Build it on your bench too

Every lesson runs in the simulator with nothing to buy. When you want the real thing, these kits have the parts.

Have a kit already?

### Find your kit

Pick the starter kit you own and run every lesson in its manual with the same parts on the same pins.
See every kit

Questions

## About C from zero

Is C from zero free?

Yes. All 8 lessons of C from zero are free and run in your browser, with nothing to install and no parts to buy before you start.

Do I need a real Arduino Uno R3?

No. Every lesson runs on a simulated Arduino Uno R3 with its parts on the canvas, and the simulator checks each step as you go. When you want to build it for real, the same wiring and code work on a real board.

How long does C from zero take?

About 7 hours: 8 lessons in 4 chapters, each one a few short steps. Your progress is kept, so you can stop after any lesson and pick up where you left off.

What will I build?

Each chapter ends in a project that puts it together: Types and sizes, if and switch, Functions and Project: a serial quiz.

Where do I start?

With "Hello over serial", and each lesson builds on the one before it. New to circuits? Electronics basics is the course that starts from zero.
