Easier to read with cream paper, a tint, more contrast or larger text? Choose your colours and text, once, for every page.

Free resources

Embedded systems and the Internet of Things

A simulated microcontroller, and an MQTT broker with sensors to subscribe to.

← All topics

Two labs: a simulated microcontroller with registers, pins and timers, and a message broker with three simulated sensors you read from the terminal.

Hands-on labs

Hands-on lessons

Every lesson here is worked in a hands-on lab: a real environment with a terminal beside it, nothing to install. A free account runs every lab, with enough free credit each month to follow most lessons, and is given the basic lessons on Home; with no account you can run the Git lab and the SQL lab.

Hands-on lesson · container lab

Embedded Systems Basics

Work through this lesson in a real lab, with a terminal beside it, not just by reading.

A private JupyterLab for each student with a small made-up 8-bit chip in Python: registers, bits, pins, PWM and interrupts. Code on GitHub.

How it works · Source on GitHub · Create a free account to run it

Hands-on lesson · container lab

IoT Messaging Basics

Work through this lesson in a real lab, with a terminal beside it, not just by reading.

A private MQTT broker and four pretend sensors for each student: read topics, use wildcards, retained messages and publish your own. Code on GitHub.

How it works · Source on GitHub · Create a free account to run it

Basic lessons are given to every free account, on Home, and to every college. Full course lessons are for colleges. Labs marked as an Ubuntu VM lab are set by a teacher in a module, and their lessons start the VM for you.

Run these yourself

A free personal account runs every lab here and its lesson, with enough free credit each month to follow most lessons. Teaching a class? Start a college and set them for your students.

Make a free accountStart a college

Already have an account? Sign in