Coding
10 courses, 77 lessons
From your first line of Python to real software you can test and ship.
- Beginner3 courses
- Intermediate2 courses
- Advanced2 courses
- Expert3 courses
Capstone: Your own app
Start with Python from zeroOne class of up to 20 students, every teacher tool, no card.
Students at 84 schools build with Mokxi
5 tracks
From the first wire to employable, each one ending in real jobs.
93 courses
664 lessons, each step checked by the simulator as students wire.
92 lesson plans
Objectives, timings, materials and checks, ready to print.
30 days free
One class of up to 20 students, every teacher tool, no card.
Grades 6 to 12 (about ages 11 to 18), and introductory college and university courses.
Programming a microcontroller in C++, and digital logic from one NAND gate up to an adder.
Arduino programming packDesign, build and debug a circuit, from digital electronics in CTE to an IoT device on the ESP32.
Engineering and CTECurrent, voltage, Ohm’s law, RC timing and the 555, measured with a meter and a scope.
Physics circuitsMotors, servos and sensors on a robot car chassis, with a line follower and an obstacle-avoiding robot.
Line follower robotNothing to install and no extension. Every tool here is running further down this page: press one to see it.
Students join with a code, or with printed login cards that need no email, so they work for students under 13.
See it livePost the class code to Google Classroom, or paste your roster and print the cards.
See it liveHand thirty students the same circuit in one click, with the parts you hold locked in place.
See it liveEvery student’s circuit on one screen, redrawn as they save, with a quiet "stuck?" beside anyone idle.
See it liveLook through one student’s view in a room, or bring the whole class to yours in one press.
See it liveOne timer the whole room reads, and a queue of raised hands in the order they went up.
See it liveOne line a student saying what they did to your circuit, with the differences drawn.
See it liveWrite the checks once and every submission runs them; leave a line that lands on the student’s page.
See it liveThe whole hour, step by step. Every step but one is the product running here: press it.
Press a part.
The real lock, running here: Lock all is `ui/locks.ts` itself, and the padlocks are the ones a student sees.
Hand the same circuit to thirty students in one click, and nobody can take it apart.
What you do: open the circuit, press Lock all, assign it from the class page.
Open the circuit the class is going to work on, hold the parts and the wiring, and hand it to the class from the class page. Every student gets their own copy with the same things held.
A held part cannot be moved, rotated, deleted, rewired or retyped by anybody the work was set for. Adding parts, wiring into a held pin and running it are untouched, because that is what they are there to do. Forking the copy does not release it: the copy is theirs, the lock is yours.
The wall itself, over a sample roster. Real circuits, made-up students.
See every screen at once, without walking the room. Press a tile and that student’s work opens beside it.
What you do: open the Wall tab and leave it up. Press a tile to see their circuit running, their sketch, and what they changed.
The class page has a Wall tab: one card a student, with the circuit they have open drawn on it. It is the diagram itself, at rest, redrawn as they save, so nothing on it can be out of date.
It asks every fifteen seconds while you are looking at it, and a card whose circuit has not moved comes back without one. A student who has saved nothing for ten minutes gets the word "stuck?" beside the time. A question, because a student who is thinking looks exactly like a student who is stuck.
Following, running here: the same module the editor uses, on a circuit rather than a room. Press a face, then drag the board.
Look through one student’s eyes without leaning over their shoulder, or put thirty screens on yours.
What you do: in a room, press somebody’s face to follow them, or press Bring everyone here to put the class on your view.
In a room, press somebody’s face and your canvas eases on to their view: their corner of the board, at their zoom, with their pointer showing as a soft ring. A frame in their color and a pill say whose view you are on.
Pan, zoom or touch the canvas and it is yours again, with the pill saying why. Going the other way, Bring everyone here puts thirty screens on your view in one press, and anybody can stop it the same way.
Two Live bars over a room that lives in this page. Press a preset on yours; the student’s bar reads the same clock.
Give the room one clock everybody reads, and a queue of who asked first.
What you do: press a preset to start the clock, and take hands down in the order they went up.
Pick 1, 2, 5, 10 or 15 minutes, or type a number, and everybody in the room reads the same clock. The room holds the moment it ends, not a count each machine keeps, so a laptop that slept and somebody who joined halfway through still reach zero together. At zero it flashes once and holds 0:00 until you clear it.
Everybody but you has a Hand up button, and the hands are kept in the order they went up. Your bar reads how many are up and whose, you press a mark to take one down, and Lower all clears the queue between questions.
1 part and 2 wires added, 1 part moved, sketch changed
// The board and the wiring are set. The sketch is yours.const int LED = 13;const int BUTTON = 2;void setup() { pinMode(LED, OUTPUT); pinMode(BUTTON, INPUT_PULLUP);}void loop() { digitalWrite(LED, HIGH); delay(500); digitalWrite(LED, LOW); delay(500); if (digitalRead(BUTTON) == LOW) { digitalWrite(LED, HIGH); delay(120); digitalWrite(LED, LOW); delay(120); } else { digitalWrite(LED, LOW); }}The panel itself, over a sample starter and a sample submission. The diff is worked out here, on this page.
Grade a class of blink assignments in minutes: one line per student saying what they did to your circuit.
What you do: scan the lines under the assignment, and press Changes on the one you want to see drawn.
Each student works on a copy of your circuit, so the useful question is what the student did to it. Under every project assignment the class page lists one line per student: parts and wires added, removed and moved, properties changed, notes written, and the sketch line by line. You can scan a whole class without opening each project.
Changes opens the rest, with the differences drawn on their own board: added things glow, deleted things sit dashed where yours had them, and a part that was dragged has an arrow from where it started. What you held is left out of the count, because a lock is how the work was set, not work the student did.


The editor itself, shot from the sample class. A check measures the simulation: ideal timing, no analog noise.
Write the checks once, and every submission measures itself against them on the real engine.
What you do: open Checks under the assignment, fill the gaps in a few sentences, press Try it on the starter, then Save.
Under an assignment, Checks: a short list of things you expect the circuit to do, each one a sentence you fill the gaps in. Pin 13 blinks every 1000 ms, within 50. The serial monitor prints a line matching this. Press this button, then that pin goes high. The sketch builds.
Try it on the starter runs the list against your own answer before the class ever sees it, so a check that does not pass on the solution never gets assigned. Then every student gets Check my work, which runs the same list on the real engine in their own browser and tells them what it measured beside what you asked for: it toggled every 1462 ms, expected every 1000. The score comes back on the wall and on the submission, a failed check drops into your comment in one press, and Mark it re-runs them all on your machine when the marks have to be yours rather than theirs.
The box itself, working here. Nothing is sent: the note stays in this page and the student’s side of it is drawn beside it.
Leave a line on a student’s work, and it is on their own page the next time they open it.
What you do: press Send feedback, write the line, press Save. Editing it replaces it.
Next to Changes on every submission, Send feedback opens a box: write a line, save it, and it is on the student’s own class page the moment they next open it. Use it for what to try next, what stood out, or a nudge toward the part they left off.
Editing replaces what was there rather than piling comments up, so a submission carries one note, always the newest. It is signed as you, and the same class rules that hold a starter say who else may write it: nobody but the teacher.
Fill a class of thirty without a form, a letter home or a single account made by you.
What you do: make the class, read the six-character code out, and send the link. They type it once and the class is on their page from then on.
The wall fills itself the moment somebody joins. Send the link below, or read the code out: a student types it once at /class and this class is on their page from then on.
http://127.0.0.1:5199/class?code=SAMPLEOr read out the code: SAMPLE
A class with nobody in it yet, drawn by the page that draws yours. The code is a sample one; the link and the Copy button are the real ones.
Simon: four LEDs flash a growing sequence and four buttons play it back, on a real ESP32-C3 core running real firmware.
What you do: press Run it, watch the sequence, then press the buttons back in order. This is Eli’s circuit from the wall above.
5 tracks, each a ladder from Beginner to Expert that ends in a capstone of the student's own and 7 career guides. Assign a whole course to a class in one press, or let each student climb their own.
10 courses, 77 lessons
From your first line of Python to real software you can test and ship.
Capstone: Your own app
Start with Python from zero20 courses, 153 lessons
Make boards do things: firmware, chips and gadgets, from blink to products.
Capstone: Your own device
24 courses, 196 lessons
How electricity really works, from your first circuit to designing boards.
Capstone: Your own circuit
40 courses, 242 lessons
Build fun stuff: games, robots, props and gadgets you finish and show off.
Capstone: Your own invention
Start with Starter kit companion: the project book21 courses, 153 lessons
Make machines that sense, decide and move: motors, servos, sensors and control loops.
Capstone: Your own machine
Start with Electronics basicsEvery course is a unit with a printable plan: objectives, time for each lesson, the parts it uses and a check for understanding each chapter. About 492 hours of teaching, written from the lessons themselves, so a plan never drifts from what students open.
Lesson plan
9 chapters, 16 lessons, about 12 hours
One board, twenty pins and a C++ sketch. From a lamp you switch to a game you can play.
Where most schools start
An introduction to electronics and embedded programming, week by week, starting from zero. Each week has objectives, a circuit to open, an exercise and an assessment idea, and every circuit in it exists today.
Every week one challenge teaches something new: a part, a library or a technique. It comes with three hints, a starting circuit and checks that run on the real engine. Passing it is worth 150 XP, and the 52 challenges before it stay open for practice.
Connect a servo's signal wire to pin 9 and swing its arm from one end to the other and back. The Servo library's write() takes an angle from 0 to 180.
What you will learn: Libraries: the Servo library turns an angle into the pulses a servo understands.
Hint 1: A servo has three wires: brown or black to GND, red to 5V, and orange or yellow (the signal) to pin 9.
19 titles on the way to level 200
5 quick questions place each student on a track and a first course, whether they have never touched a breadboard or already write firmware. The Journey then lays every course out in 5 stages, so you and they can see how far they have come.
Current, voltage and logic with your hands on the parts. No code yet.
An Arduino Uno, C++ on a real board, and the starter kits people own.
Interactive devices: sensors, motors, displays and whole project builds.
New chips and real registers, gates up to a computer, and bugs to hunt.
The big builds: arcade machines, robots, flight computers and capstones.
Sign up with Google, Microsoft or your school email. No card.
One class of up to 20 students, every teacher tool, for 30 days.
Read out the class code, post it to Google Classroom, or paste your roster and print login cards. Login cards need no email, so they work for students under 13.
Start from the 12-week course or a curriculum pack, or assign any project or kit in one click. It lands on every student’s screen.
$9.99 a student a year, from 5 students. Your own seat is free.
Fill in one short form and get a PDF with your price, ready for a purchase order.
Tell us about your school and we will set it up with you. A real person replies within one working day.
A real person replies within one working day. Or get a written quote in minutes.
The simulation and the compiler run in the browser tab. Work leaves the machine only when it is saved, shared or submitted.
The editor, the lessons and a shared link all open signed out. An account is only for saving, joining a class and submitting.
The sign-in identity, the projects saved and lesson progress. The student data privacy page lists it row by row.
The class name and code, who joined, what was assigned and the feedback returned.
A teacher may open, never edit, a project owned by a student in a class they teach.
The SDPC National Data Privacy Agreement or your state’s version. Student data is never sold or used for ads.
Student privacy. What we collect from students and teachers, and what we never do with it, is in our Student and School Privacy Policy.
Accessibility. We aim for WCAG 2.1 Level AA; known gaps are listed. See the accessibility statement and our VPAT.
Yes. Everything runs on the machine in front of the student, so a Chromebook works as well as a lab PC.
No. The simulator works signed out, so your class starts from one link with nothing to sign up for. An account only adds cloud saving and sharing, and a student can make one later, or never.
Nothing, if your students only need to open and run circuits: the whole simulator is on the free plan. The class tools (a roster, starter projects, auto-graded checks, the gradebook) come with Pro and Classroom. Classroom is $9.99 a student a year, from 5 students, so at least $49.95 for the year. Your own seat is free, and from 50 students each one costs less. Your students get Pro’s room while they are in your classes. Pay by card, invoice or purchase order. Pro on its own runs classes for up to 10 students in all. To try the class tools with real students first, start the free 30-day trial from your class page: one class of up to 20 students, no card.
Yes. A student’s projects in a class are always private: they cannot be opened by link or put in the gallery. One exception, and only for reading: a teacher may open, and never write, a project owned by somebody in a class they teach, which is what a card on the class wall does. What we store about a student, who processes it, how a school has it deleted, and how we handle COPPA consent for students under 13 and FERPA as a school official are all on the student data privacy page at /privacy/students.
Yes. Type your number of students into the calculator on this page and fill in the quote form under it: give the school, the billing contact and address and your PO number, and the quote comes back at once as a PDF, payable by invoice on net 30 terms. Our W-9, tax id and address are on the vendor information page. Any class of 5 students or more can pay this way, or by card right away.
Tell us where to reach you. We’ll show you how Mokxi fits your class and answer your school’s questions.