Source: https://mokxi.com/learn/path/talk-to-chips
Updated: 2026-11-11

All paths

# Talk to chips: I2C, SPI and UART

The three buses every sensor, screen and radio speaks, on the Uno: serial between two boards, I2C scans and shared buses, SPI screens and an SD card, the logic analyzer, and a weather station that uses them all.

Arduino Uno R3 Free 7 lessons 4 h 5 chapters 1,696 XP Embedded engineering · Intermediate +150 XP

0 of 7 done

Start the course free What a bus is, and UART between two boards Build it as a kit Retails for about $103, free on Mokxi. Lesson plan for teachers

What you will build

## 2 projects, built step by step

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

Chapter 2 project

### A BME280 and an SSD1306 sharing the bus

A weather sensor and a screen on the same two wires, then two of each with the same addresses, kept apart by a TCA9548A multiplexer. Read a real sensor and draw on a real screen.
Open it in the simulator

Chapter 3 project

### Logging to an SD card, three buses on one board

A microSD card on SPI, a DS3231 clock on I2C and a DS18B20 on 1-Wire: every five seconds a dated line goes into a CSV file you can open in a spreadsheet.
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

## Buses and UART

What a bus is, and two boards talking over one wire.

Open 200 XP

### What a bus is, and UART between two boards

Two Unos on one wire and a shared ground: what a bus is, how a UART frame is timed with no clock wire, and how the receiving board filters the messages it cares about.

0 of 6 steps

Start What is in it

4 questions, graded as you go.

Chapter 2

## I2C: two wires, many chips

Addresses, pull-ups, and two chips of every kind on two wires.

Locked 187 XP

### I2C: who is on the bus?

Two wires, many chips: seven-bit addresses, the acknowledge bit, why I2C needs pull-up resistors, and the scanner sketch every maker runs first on a new board.

0 of 5 steps

Project Locked 374 XP

### A BME280 and an SSD1306 sharing the bus

A weather sensor and a screen on the same two wires, then two of each with the same addresses, kept apart by a TCA9548A multiplexer. Read a real sensor and draw on a real screen.

0 of 5 steps

5 questions, graded as you go.

Chapter 3

## SPI: fast and simple

A clock, a data line and a chip select: screens and an SD card.

Locked 138 XP

### SPI: two color screens, one clock

Four wires and a chip select: how SPI clocks bytes out with no addresses, why a screen with no CS pin needs its own wires, and the clock modes that trip everybody up once.

0 of 4 steps

Project Locked 410 XP

### Logging to an SD card, three buses on one board

A microSD card on SPI, a DS3231 clock on I2C and a DS18B20 on 1-Wire: every five seconds a dated line goes into a CSV file you can open in a spreadsheet.

0 of 5 steps

5 questions, graded as you go.

Chapter 4

## See the bus

Read a real transfer, bit by bit, on the logic analyzer.

Locked 169 XP

### See the bus on the logic analyzer

Clip a logic analyzer on SDA and SCL and read a real I2C transfer bit by bit: START, address, ACK, data, STOP. Then meet a bus that looks like I2C and is not.

0 of 5 steps

4 questions, graded as you go.

Chapter 5

## Boss project

A weather station that reads, sends, shows and logs on all three buses.

Locked 218 XP

### Boss: a weather station on three buses

A BME280 node reads the weather over I2C and sends it over an SPI radio; a gateway shows it on an I2C screen and logs every reading over UART. Every bus in the course, in one build.

0 of 6 steps

4 questions, graded as you go.

Syllabus

## Every lesson in the course

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

Chapter 1

### Buses and UART

- What a bus is, and UART between two boards Two Unos on one wire and a shared ground: what a bus is, how a UART frame is timed with no clock wire, and how the receiving board filters the messages it cares about.

Chapter 2

### I2C: two wires, many chips

- I2C: who is on the bus? Two wires, many chips: seven-bit addresses, the acknowledge bit, why I2C needs pull-up resistors, and the scanner sketch every maker runs first on a new board.
- A BME280 and an SSD1306 sharing the bus A weather sensor and a screen on the same two wires, then two of each with the same addresses, kept apart by a TCA9548A multiplexer. Read a real sensor and draw on a real screen.

Chapter 3

### SPI: fast and simple

- SPI: two color screens, one clock Four wires and a chip select: how SPI clocks bytes out with no addresses, why a screen with no CS pin needs its own wires, and the clock modes that trip everybody up once.
- Logging to an SD card, three buses on one board A microSD card on SPI, a DS3231 clock on I2C and a DS18B20 on 1-Wire: every five seconds a dated line goes into a CSV file you can open in a spreadsheet.

Chapter 4

### See the bus

- See the bus on the logic analyzer Clip a logic analyzer on SDA and SCL and read a real I2C transfer bit by bit: START, address, ACK, data, STOP. Then meet a bus that looks like I2C and is not.

Chapter 5

### Boss project

- Boss: a weather station on three buses A BME280 node reads the weather over I2C and sends it over an SPI radio; a gateway shows it on an I2C screen and logs every reading over UART. Every bus in the course, in one build.

Keep going

## The next course on your track

Talk to chips: I2C, SPI and UART is part of the embedded track, a ladder of courses from zero to expert.

Next course

### Motors and motion

DC motors on a driver, the H bridge inside it, servos, a stepper on an A4988, an encoder that measures what the motor did, and a 2WD robot car with ultrasonic eyes and line sensors.
Open the next course

Track

### Embedded track

Arduino, ESP32, Raspberry Pi Pico and STM32: pins, timing, buses, motors, WiFi, registers and debugging, every lesson checked on a simulated board.
See every course on the track

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.

The kit for this course

### Weather Station Kit

Two Unos, BME280 sensors, OLED screens, a microSD logger and a pair of LoRa radios.
Open the kit

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 Talk to chips: I2C, SPI and UART

Is Talk to chips: I2C, SPI and UART free?

Yes. All 7 lessons of Talk to chips: I2C, SPI and UART 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 Talk to chips: I2C, SPI and UART take?

About 4 hours: 7 lessons in 5 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: A BME280 and an SSD1306 sharing the bus and Logging to an SD card, three buses on one board.

Where do I start?

With "What a bus is, and UART between two boards", and each lesson builds on the one before it. New to circuits? Electronics basics is the course that starts from zero.
