# ATLAS Telemetry Lab > Free, self-paced courses in real-time telemetry engineering, published by Motion Applied. Learners run a real streaming stack — Apache Kafka, the ATLAS Stream API and a Key Generator — in a GitHub Codespace, write code against it, and have an automated validator grade the result in their own repository. ## What it teaches ATLAS Open Streaming is a real-time telemetry platform. A producer sends data over gRPC to a Stream API, which registers the session, holds the configuration describing each channel, and writes to Apache Kafka; any number of consumers read from there. What distinguishes it from a bare Kafka topic plus a time-series database is a telemetry-native data model: parameter definitions carrying identity, units, sample rate, valid range and display format in-band; sessions as a first-class lifecycle; multi-rate channels; and laps and events as timestamped markers on the stream. ## Facts - Cost: free. No licence is required for any component used in the courses. - Runs in: a GitHub Codespace (nothing installed locally), or locally with Docker, Python 3.12 and Node 22. - Resource use: the stack idles at about 442 MiB across three containers. - Teaching: a `lab explain` command covers eight topics - sessions, parameters, timestamps, packets, configuration, streams, the Stream API and consumers - each showing the real protobuf definitions from the repository and how to apply the idea to the learner's own systems. - Grading: an automated bot runs in the learner's own repository and grades behaviour rather than code shape — it runs the pipeline and checks what it did. - Completion: there is no certificate. What a learner ends up with is their own repository, the code they wrote, and a permanent GitHub Actions URL for every validation run that passed. A per-engineer summary page is intended but not built. - ATLAS Viewer, the commercial desktop analysis application, is a separate licensed product and is not required. - Progress reporting is opt-in and anonymous. If a learner opts in when `lab submit` asks, each graded pull request sends the module number, pass or fail, the course name, the template version and a random ID for that copy of the course. The report contains no username, repository name or code. It is off by default, and `lab share off` turns it off again. ## Courses - [Introduction to Open Streaming Foundations](https://atlastelemetrylab.netlify.app/courses/introduction-to-open-streaming-foundations/): The pipeline, and the four ideas a bare Kafka topic has no concept of. (4 modules, free, available now; duration not yet measured) - Module 01: Make it yours — Get a real pipeline running, and find out what a session actually is. - Module 02: Add a channel — Declare a parameter and emit it. A consumer you did not touch picks up its units. - Module 03: Fix the broken producer — A variant produces jumpy traces. Nothing errors. Every value is correct. Find out why. - Module 04: Write your first consumer — Decode the stream yourself, in any language. The validator invents a new channel each run, so you cannot hardcode your way through. ## Planned, not yet available - Producers and bridges (not built yet): Getting an arbitrary source — a CSV, a public dataset, your own rig — into the stack with a clean session lifecycle. - Consumers that survive production (not built yet): Late joiners, malformed packets, interleaved sessions, and producers that die without closing. - Events and derived parameters (not built yet): Finding something real in the data — a lockup, an over-temperature — and marking it. Computing derived channels as the stream runs. ## Links - [Course catalogue](https://atlastelemetrylab.netlify.app/#catalogue) - [Frequently asked questions](https://atlastelemetrylab.netlify.app/#faq) - [Privacy](https://atlastelemetrylab.netlify.app/privacy/) lists what the site collects and what the course sends if you opt in - [Course 01 template repository](https://github.com/mat-docs/TelemetryLab.Foundations) — generate your own copy to take the course - [ATLAS Open Streaming images on Docker Hub](https://hub.docker.com/u/atlasplatformdocker) - [ATLAS documentation](https://atlas.motionapplied.com)