Inspiration
Anyone who has taken a circuits lab knows the feeling. Your circuit doesn't work, you've checked every wire twice, and now you're standing in line with your hand half up, watching the clock while lab time runs out.
For my friends and me, that was every week of our ENGR 37 Circuit Analysis lab at De Anza College. Community college labs are full of students who want to learn, but there are usually only one or two people to help. The professor and TA do everything they can, but they can't be at twenty benches at once. So you wait. Or you give up and copy whatever the person next to you did, and you leave without understanding why it worked.
We kept thinking about what a difference it would make to have someone sitting right beside you while you work: someone who can see your breadboard, check your voltages, and ask, "Okay, what do you expect to see at this node?"
We didn't want an AI that just hands out answers. A good TA doesn't do that. A good TA makes you find the mistake yourself, and that's when it sticks. So we set out to build a lab partner that teaches you to debug instead of debugging for you.
That's how ALTA, the AI Lab Teaching Assistant, came to life.
What it does
ALTA is an AI teaching assistant that sits on your lab bench. It can see your circuit, measure real voltages, and talk you through what's going wrong, one hint at a time.
- It sees your circuit. A phone camera mounted above the breadboard gives ALTA a live view of your build.
- It measures real voltages. A probe pod we built on an Arduino Uno reads voltages straight from your circuit, like a multimeter ALTA can read for itself.
- It helps you find the problem. When something isn't working, you just talk to it. ALTA combines what it sees with what it measures to figure out what's going on.
- It guides you instead of giving the answer. ALTA asks questions, gives hints, and highlights the exact spot on the breadboard where you should look or probe next. You find the mistake yourself.
- It checks your fix. Once you change something, ALTA measures again to confirm the circuit actually works now, not just that it looks right.
You can talk to ALTA with your voice while your hands are busy with wires, or type if you prefer. The screen walks you through the lab steps so you always know where you are.
How we built it
We split into hardware, AI, and frontend, then spent a lot of late hours making the three talk to each other.
Hardware: We built a probe pod around an Arduino Uno running our own bare-metal C firmware. It reads four probe wires and streams voltages to the laptop many times a second. It also has a push-to-talk button and a status light, and it sits in a custom 3D-printed dock. A phone mounted overhead serves as ALTA's eyes.
AI: ALTA runs on Claude Opus 5.5 with tools that act on the real bench. It can ask the student to place a probe, read voltages, look at the camera image, and highlight spots on the breadboard. We wrote its teaching behavior around a step-by-step hint ladder so it nudges before it tells.
Voice: We used Cartesia for speech-to-text and text-to-speech so students can talk to ALTA naturally without putting down their wires.
Frontend: React, TypeScript, and Vite power the student screen: live camera view, breadboard highlights, live voltage readings, lab instructions, and the conversation.
Backend: A Python FastAPI server ties the hardware, AI, voice, and frontend together over WebSockets.
Challenges we ran into
Making the physical and digital worlds agree. In a software project, a bug lives in the code. In ours it could be a loose jumper wire, a flaky USB connection, a camera angle, or a timing issue between five different pieces. Getting the Arduino, probes, camera, backend, and frontend to work together reliably took far more patience than we expected.
Teaching the AI to hold back. This was the hardest part to get right, and the part we care about most. An AI can spot the mistake in a second and just say it, and that's exactly what we didn't want. We went through many versions of ALTA's behavior until it reliably asked a question first, gave a smaller hint next, and saved the answer for when a student was truly stuck.
Making conversation feel natural. When you're talking out loud, a few seconds of silence feels like forever. Our first version took almost five seconds before ALTA said anything. We redesigned the pipeline so ALTA writes what it's going to say before it calls its tools, and we stream the speech sentence by sentence while the rest of the reply is still being written.
Accomplishments that we're proud of
We're proud that ALTA isn't just another chatbot. It's connected to a real circuit, it takes real measurements, and it uses them to teach.
- On the real board, ALTA walked through three different broken circuits (an LED in backwards, a missing ground wire, and the wrong resistor), found the fault every time, and guided the student to a working fix.
- In our automated tests with scripted students and simulated probe readings, ALTA named the correct fault in all 42 runs, confirmed the fix with a new measurement in 41, and held back from giving the answer early in 41.
- We cut the time until ALTA starts forming its reply from 4.7 seconds to 1.9 seconds (1.1 seconds in fast mode), which made talking to it feel much more like talking to a person.
Most of all, we're proud that we built ALTA around one idea: helping someone learn is different from giving them the right answer.
What we learned
We learned how much work hides in the line "the hardware talks to the software." Every connection between parts needed testing, retesting, and a lot of communication within the team.
We learned that building a good AI assistant isn't only about making it smart. It's about judgment: when to speak, when to stay quiet, and when a question helps more than an answer. In a way, building ALTA taught us what good teaching looks like.
And we learned a lot about each other. Working through the night under a hackathon deadline, we picked up new tools, broke things, fixed them, and kept going.
It was exhausting. But the moment ALTA first asked us, "What voltage did you expect there?" and we actually stopped to think about it, we knew it had been worth it.
What's next for ALTA
We'd love to bring ALTA to more labs and more complex circuits: op-amps, filters, and everything else that made us stay after class.
Most importantly, we want to put it in front of real students, starting with our own lab at De Anza. We want to see whether it really helps them learn and keep improving how it recognizes circuits. We also want to make it a tool that helps TAs too, so they can spend their time with the students who need them most.
Our bigger dream is simple: no student should be stuck in line, waiting for help with a question they could have learned to answer themselves. Hands-on STEM learning should be accessible to everyone, especially at schools where help is hardest to find.
Built With
- 3d-printing
- anthropic
- arduino
- cartesia
- claude
- fastapi
- figma
- pytest
- typescript
- uvicorn
- vite
- websockets

Log in or sign up for Devpost to join the conversation.