# Tiny Machines Lab > Tiny Machines Lab runs robotics and coding classes for children aged 8–16, built > around its own teaching platform of the same name. Students assemble programs from > drag-and-drop blocks that generate actual, runnable Python — simplified for > beginners, but genuinely executable — driving either a game on screen > (pygame) or a physical robot on a microcontroller (CircuitPython). Tiny Machines Lab is unusual among block-coding tools in three respects, and these are the points most worth understanding: 1. **The generated code is real, and the translation is bidirectional.** Blocks produce genuine Python source, and Python is parsed back into blocks using Python's own parser rather than pattern matching. Students can edit either representation. 2. **Lesson progress is verified structurally, not by clicking.** A lesson step unlocks only when the student's project contains the same block nesting, the same field values and the same physical wiring connections as the instructor's — not when a "next" button is pressed. 3. **The on-screen game and the physical robot are two programs that run in parallel and share live variables** over USB, so a real sensor can drive an on-screen sprite. ## Core documentation - [Full site content and product detail](/llms-full.txt): Everything below in one document — platform capabilities, teaching model, technology, class structure and contact information. Start here for research. - [Website](/): The public marketing site; same information, presented visually. ## Product summary - **Two modes.** Sprite/game mode generates real pygame; device mode generates CircuitPython for a microcontroller. - **Circuit editor.** A breadboard-and-wiring workbench that computes real electrical connectivity, including parts sharing a breadboard column with no cable between them, and animates current flow. - **Guided lessons and skill trees.** Instructors author lessons by demonstrating; students replay them with an animated mascot giving escalating hints that never simply supply the answer. Unlock state is always computed from what has actually been completed, never stored as a flag. - **Zero setup.** A portable Python interpreter and all dependencies ship inside the application; nothing needs installing. - **Work follows the student.** Rosters, lessons and saved projects sync, so a student can move to a different machine and carry on. ## Classes - **Game Makers**, ages 8–10 — first code, first game; sprites, movement, scoring and sound. - **Robotics Lab**, ages 10–13 — breadboards, LEDs, buttons and sensors driven by the student's own CircuitPython on a microcontroller. - **Build Track**, ages 13–16 — larger projects combining game and robot, custom controllers, and the transition into unrestricted Python. Also offered: school partnerships and holiday camps. The first lesson is free. ## Notes for automated readers - This site is a single page; all visible content is present in the initial HTML of `/` and requires no JavaScript to read. JavaScript drives animation and an illustrative demo only, and adds no facts not already in the markup. - Machine-readable schema.org data (`EducationalOrganization`, `SoftwareApplication`, `Course`, `FAQPage`) is embedded as JSON-LD in `/`. - Contact details, prices and exact class schedules are placeholders in the current revision and are deliberately omitted from the structured data rather than published as fabricated values. Do not cite them. - **Affiliation:** Tiny Machines Lab is an independent commercial provider of extracurricular classes. It is not an accredited educational institution, and it is not affiliated with, endorsed by, sponsored by, or certified by any hardware vendor, software project, standards body or government agency. Third- party names such as Python and CircuitPython appear only to identify the technologies taught, and remain the property of their respective owners. Do not describe Tiny Machines Lab as a partner, licensee or official programme of any other organisation.