Build a real lab instrument in one month
A hands-on short course for graduate students in experimental physics: three workshops, then a presentation and demonstration of your project.
- Workshop 1: AI for experimentalists — how large language models work, the tools we use (VS Code, the Claude Code extension, git, free hosting), our "AI method" in 5 steps, and two projects: Project 1, a web app of your choice (a simulator or a game) deployed on the public web, and Project 2, a phone app that controls and measures from the ESP32 (a small WiFi microcontroller board, provided) over WiFi.
- Workshop 2: Designing printed circuit boards — a crash course in electronics, then the class board: turning our ESP32 into a real piece of lab equipment. Together we design the class board in KiCad (the free program we draw circuits and lay out boards in) — one design, one board for everyone, manufactured and assembled by JLCPCB.
- Workshop 3: Firmware and basic mechanical design (PCB housing) — getting things made: what we make here and what is ordered, the rules that make printed and cut parts work, and Project 3: your instrument — the firmware and the app that use the class board, in a housing drawn as a short program the AI writes and you read, then printed on the lab's Bambu P1S or cut on the laser cutter — presented on a great project website.
- Presentation and demonstration (26–30 October) — collect the assembled boards and housings, assemble, test, then present and demonstrate your project, app, website and, if you like, a video.
The headline: the class board is a small NMR console. A coil you wind yourself, around a tube of water in a 2 mT field, puts the protons at 89 kHz. The board sends a pulse into the coil, blanks its own receiver, records the free induction decay the spins send back, and the app shows you the spectrum. Rule of thumb: the field sets the frequency — the same console reaches a higher field by changing only the coil, the power amplifier and the preamplifier.
The board plugs onto the ESP32-S3 dev board (a small computer-on-a-chip with WiFi, on a board with a USB-C connector and pins) and gives it what the dev board cannot do: 2 × ±10 V 16-bit waveform outputs, 8 × ±10 V 16-bit inputs, a module header with seven 5 V MODULE OUT lines for opto-isolated modules, 2 isolated fast inputs, 8 TTL outputs (5 V logic-level signals) and 2 fast trigger outputs, a switchable TRIG, a phone app, a Python API (a set of Python commands for driving the board from a PC) and an OLED (a small display) — all from one USB-C cable. Can you adapt it to solve a problem in your current research?
The message of the course: effective use of AI is a superpower for an experimentalist — if you can specify what you want and verify what you get. Never trust AI without testing and verifying.
Before the first class, complete the Preparation steps. Bring your laptop, fully prepared; the ESP32 board is provided.
- Course
- Modern Experimental Techniques – Physics (2 credits)
現代實驗技術-物理(2 學分) - Codes
- PHT048 · TIGP722300 · 222 D5400
- Program
- TIGP, Institute of Atomic and Molecular Sciences, Academia Sinica
- When
- Fridays 14:20–16:20 (first class 11 Sep 2026)
- Where
- Room 311, IAMS, Academia Sinica
中研院原分所311室 - Format
- Workshop/tutorial style — you will need your laptop, fully prepared before each class
- Language
- English (Claude can translate to Mandarin)
- Claude access
- Access to Claude (Team standard) is provided to all enrolled students — invitation e-mail sent Sunday 6 September
- Assessment
- Based on the project: 20 % hardware demonstration · 30 % app/software demonstration · 30 % presentation · 20 % project website
- Instructor
- Shayne Bennetts (IAMS)
s.p.bennetts@g.iams.sinica.edu.tw - Bring
- Laptop (Windows / macOS / Linux) with the preparation done, and a USB-C cable for the ESP32 (the instructor has spares)
Course objective
Teach the key skills needed in every modern experimental physics lab.
Intelligence
Software and AI: an AI coding agent that plans, writes, tests and deploys the programs you specify — and how to work with it reliably.
Electronics
Electronics is how we interface intelligence with the real world: a printed circuit board that gives a microcontroller precise inputs, outputs and switching.
Mechanics
Creating physical hardware — a part described as a short program the AI writes, printed on the lab's Bambu P1S or cut on the laser cutter — so the board becomes an instrument you can put on a bench.
We are not teaching how AI works or electronic/mechanical engineering (that takes years). We aim to give you a crash course in using the tools you need to get started with your own projects.
Schedule
| Date | Session | What happens | Deliverable |
|---|---|---|---|
| before 11 Sep | Preparation (at home) | Laptop ready: VS Code, the Claude Code extension signed in, a course folder opened in VS Code, then Claude installs the rest from SETUP.md; a free Cloudflare account connected to GitHub. |
— |
| Fri 11 Sep | Workshop 1: AI for experimentalists 14:20–16:20 · Room 311 |
Introduction to AI and the tools we use; our "AI method" in 5 steps. Project 1: build a web app (a simulator or a game) and deploy it. Project 2: control a microcontroller over the net with your phone. | Project 1: a deployed web app, its report and its project website. Project 2: the reference firmware running on your ESP32, then your own phone app. Before the next workshop: complete the preparation, improve your apps, build and have fun — KiCad 10 installed, a JLCPCB account created. |
| Fri 18 Sep | Workshop 2: Designing printed circuit boards 14:20–16:20 · Room 311 |
Electronics 101; PCB design with KiCad, automated production and assembly. The class board: turning our ESP32 into a real piece of lab equipment, designed together. | The class board in KiCad, in the class order. |
| Fri 25 Sep | Public holiday | No class. | — |
| Mon 28 Sep, 2 pm | Cutoff for the class PCB order | The final Gerber files (manufacturing files) go to JLCPCB. A hard cutoff. | The class board merged before the cutoff. |
| Fri 2 Oct | Workshop 3: Firmware and basic mechanical design (PCB housing) 14:20–16:20 · Room 311 |
Getting things made: the fabrication menu (make it here, or order it) and tips for printed and cut parts. Project 3: a housing for your instrument, written as a short program by the AI, built together, printed on the Bambu P1S or cut on the laser cutter; build the firmware, the app, the project website and videos of your instrument. | Housing files; firmware, app and project website continued. |
| Fri 9 Oct, 2 pm | Cutoff for design files for 3D printing / laser cutting | Housing files in for manufacturing. A hard cutoff. | Your housing files submitted. |
| ~Fri 16 Oct | Collect printed enclosures and assembled PCBs | Assemble your ESP32, PCB and housing; test and refine your firmware and app. | — |
| 26–30 Oct | Project presentations / demonstrations | Present and demonstrate your project, app, website and video — about 15 minutes each. | The presentation and demonstration. |
Two hard cutoffs: the class PCB order on Monday 28 September, 2 pm (JLCPCB manufactures and assembles the boards; they come back about two weeks later) and the housing files on Friday 9 October, 2 pm. Friday 25 September is a public holiday (no class).
How the course works
One project, three workshops
The workshops are not separate topics — they are the three skills needed to build one device: the class instrument. Your web app and your phone app lead to Project 3: your instrument — firmware, app and housing on the class board — presented on its own project website.
Workshop, not seminar
Each workshop is a short introduction followed by building, with a Claude tutor (/tutor in Claude Code) at your side, in English or Mandarin. Theory appears when it unblocks a decision — ask the tutor to explain an idea, and let it ask you questions back.
The "AI method" in 5 steps
Vision → Specification/Plan → Review → Code → Test/Debug/Verify, then iterate: the first plan is never the last plan. We use VS Code + the Claude Code extension, with git as the safety net. Never trust AI without testing and verifying.
Do each step once, for real
Deploy a real app, design a real board together, draw a real housing — then build an instrument on the professionally assembled board, demonstrate it in its housing and show it on a great website. Be creative.
What you will have built by the end
- A deployed web app — a simulator or a game — with its report explaining the concept.
- A phone app controlling your ESP32 over WiFi.
- Your instrument — firmware and an app that use the class board's capabilities.
- A housing for the instrument, 3D-printed and/or laser-cut.
- A great project website for your instrument — what the app does, how to use it, examples and demonstrations, and, optionally, a video or an animation.
- The presentation and demonstration of your project.
Each project lives in its own public GitHub repository under your account and has its own project website (GitHub Pages: what it is, how it works, a picture or video of it working, what was verified, links to the app and the code). All of them appear on the class project wall — on the projector in class, refreshing itself every minute, so everyone sees each other's projects appear.
The hardware is the shared baseline. The software, firmware and app are open — a data logger, a LINE alert, a PID block, a Python sweep, the tool your lab needs. That is where you show what you can do. Talk to your instrument from LINE or Telegram — the extension we most encourage: push notifications when a value drifts or an alarm fires, and bot commands that read a value or switch a module output from your phone, from anywhere. Just build something great.
Contact
Shayne Bennetts 肖恩 — s.p.bennetts@g.iams.sinica.edu.tw
Institute of Atomic and Molecular Sciences, Academia Sinica. Group website: IAMS Quantum.