PyRasp

PyRasp is out of beta, and it now works in a classroom

· cyber · 4 min read

PyRasp is out of beta. Nothing you've built goes anywhere: your account, your projects and your components carried over as they were.

Two things are new. PyRasp now has a way to run a whole class, and the circuit engine underneath it got a lot more real.

Free for hobbyists, for good

If you're learning on your own, tinkering, or building something for yourself, all of PyRasp is free. That covers the daily challenge, all 166 practice problems, the sandbox, Lab mode, custom components, the community and export to a real Pi. There's no trial, no card and no time limit.

That was the plan from the start. Hobbyists are why PyRasp exists, and I didn't want the end of the beta to change anything for them.

Classroom mode

The question I kept coming back to was what a teacher needs to run physical computing with a class of 30 and a cupboard of 6 kits. In the simulator every student gets their own Pi, and a shorted pin is a lesson, not a broken board. What was missing was everything around that: getting students in, setting work, and seeing who's stuck.

Here's how it works now:

  • Students join with a code. You make a class, and students type its 6-letter code. Students who already have a PyRasp account join with it. Students who don't get a class account made on the spot, with no email asked for: they give a display name and get a short password to write down (three words and a number). If they forget it, you reset it from the roster.
  • You set work from the practice catalogue. Any practice problem, or any past daily challenge, can be an assignment, with a due date, an optional cut-off, and switches for hints, the parts budget and custom components. Or set a whole unit in one go: there are six, from First light: LEDs and timing to Projects that add up. Each one comes with a one-page lesson plan: the goal, the vocabulary, the problems, what to watch for and how to take it further on a real Pi.
  • Hand-ins are judged on the server. A student hands in their wiring and their Python. The same judge that runs the daily challenge builds the circuit, runs the program and checks it, so a pass means it really works. It doesn't mean "the code looked about right".
  • The gradebook shows the whole class at once. Each student and assignment gets a cell: passed, passed late, handed in but not passing, or not started, with the number of tries. You can export it all to a spreadsheet as CSV.
  • You get the answer keys. Every problem you can set has a reference solution you can open. Today's daily challenge stays locked, so it can't leak.

Class accounts are deliberately small. They have no email, no public profile, no community feed and no daily leaderboard, so a student's work stays inside their class. When a licence ends nothing is deleted: the class goes read-only, and students can still open what they made. A class that's been read-only for a year is deleted after an email warning to the teacher. All of this is in the privacy policy, which is usually the first thing a school's IT team asks for.

What it costs

  • 30-day free trial. It starts when you make your first class, and needs no card.
  • $99 per teacher per semester (six months), with unlimited students.

That's per teacher, not per seat, so it costs the same for a class of 12 as for three sections of 30. If your school needs an invoice, a purchase order or a licence for a whole department, use the contact form for educators and I'll set it up. The full details are on the pricing page.

Also new: parts that behave like the real thing

Under the hood, I've spent the past few weeks rebuilding how PyRasp models parts.

  • A new circuit solver. It does nodal analysis with Newton's method. Diodes now follow the real Shockley curve instead of a straight-line approximation, and the engine is tested against ngspice, the standard open-source circuit simulator, to within 10 mV.
  • Real transistors. BJTs and MOSFETs are built in, each with a real part number to pick (2N2222A, TIP41 and others), with datasheet ratings. Push a transistor past its current rating and it warns you, then fails, like the real one would.
  • Modules built from their actual circuits. A relay module is now an input resistor, an optocoupler, a transistor, a coil and a flyback diode, wired the way the board is. The same goes for the L298N motor driver, a logic-level shifter, a PC817 optocoupler and a TIP120 Darlington. You can open any of them, see the circuit inside and probe the voltage on every internal net while it runs.

The circuits you've already built behave the way they did, only more accurately. There's more coming here, starting with capacitors and timing parts that change over time, then digital logic. I'll write about how it works once it's done.

Try it