Modern Experimental Techniques – Physics

Resources — slides, tools, documentation, suppliers, reading

Slides and class repository

Installers (see Preparation for the step-by-step)

Words we use

The tooling terms that recur on the course pages, one line each. Every page also explains a term the first time it appears there.

TermWhat it means
gitthe tool that records the history of a folder of files
GitHubthe website where repositories are stored and shared
repositorya project folder whose complete history git keeps; on GitHub it also lives online
clonedownload a full copy of a repository to your laptop
commitsave a snapshot of your changes with a one-line message
diffthe list of exactly what changed between two snapshots — what you review, rather than the whole file
pushupload your commits to GitHub
brancha separate line of work inside a repository, so several people can change things without treading on each other
mainthe main branch, the version everyone builds on — main always runs
mergebring a branch's changes into the main line
pull request (PR)a request to merge your branch into the shared project; someone reviews it first, comments, and approves
ring reviewerthe classmate who reviews your pull request (A reviews B, B reviews C, …, E reviews A)
CIcontinuous integration: an automatic build that GitHub runs on every pull request and reports green or red
GitHub CLI (gh)GitHub's command-line tool: log in, create repositories, open pull requests from the terminal (the text window where you type commands)
Markdownplain text with light formatting (# headings, - lists); what README, plan and handover files are written in
CLAUDE.md · PLAN.md · HANDOVER.mdplain-text files in the repository: how the project is set up (read by the agent every session) · what to build and in what order · what was done, verified, next, gotchas — so a fresh session can continue
coding agentClaude Code working on your files: it reads them, writes code, runs commands and reports back
context windoweverything the model sees in one session — the conversation, files and instructions; every message resends all of it, so keep it small: one topic per session
token · API keythe unit of text a model reads and writes (and is billed in) · the password that lets your program call a model or a service; keys are money and never go in a repository
Cloudflare Pages · GitHub Pagesfree services that turn a repository into a public web page (Cloudflare Workers add a backend)
deploypublish the page so it is live on the web
project website · project wallthe public GitHub Pages site of one project's repository (what it is, how it works, a picture or video of it working, what was verified, links to the app and the code) · the class page that shows every project as a card and refreshes itself every minute
webhooka web address a service (Telegram, LINE) calls when something happens — how a bot receives a message
microcontroller · dev boarda small computer on a chip; the development board carries it with a USB-C connector and pins. Ours is the ESP32-S3, which has WiFi
firmwarethe program that runs on the microcontroller
flashwrite the firmware onto the board over USB
PlatformIO · toolchainthe tool that builds and flashes the firmware for us · the compiler and helper programs it uses
SIM modea build in which the firmware fakes its hardware, so the app works on the bare dev board before the class board exists
access pointthe board's own WiFi network, which your phone joins
PWA · WebSocketthe phone app: a web page served by the board that behaves like an app · the live two-way connection between that page and the board
KiCadthe free program we draw the schematic and lay out the printed circuit board in
schematic · PCBthe circuit drawing · the physical board design with copper tracks
symbol · footprinta part's drawing in the schematic · the copper pattern it is soldered onto
ERC · DRCKiCad's electrical and design rule checks; zero errors means the checks pass
rule area (zone) · routingthe outlined region of the board that is yours · drawing the copper tracks between parts
JLCPCBthe factory that makes and assembles our boards; parts come from its parts library (part numbers like C12345 — no LCSC account needed)
BOM · Gerbersthe parts list · the manufacturing files sent to the factory
STL · STEP · DXF3D file formats: for printing · for CAD exchange · and the 2D drawing format for laser cutting
OpenSCAD · slicerthe free program in which a part is a short text file of shapes (the AI writes it, you change the numbers) · the program that turns a 3D model into the layers the printer follows (Bambu Studio)
GPIO · SPI · I²Ca general-purpose pin on the microcontroller · two common wiring standards for chips to talk to it

AI for experimentalists — the tools named in Workshop 1

Agents and documentation

Git and GitHub

Deployment, for free

Apps that talk to you

Voice, video and pictures

Python and instruments

Electronics

Getting things made

The tools and services of Workshop 3. The class housing is written in OpenSCAD and sliced in Bambu Studio; the other programs are for later, when a part needs exact geometry, a STEP file (the exact 3D exchange format) for a machining service or a drawing for the machinist.

Five CAD programs compared

OpenSCADCadQuerybuild123dFreeCADSolidWorks
How you drive itcode, in its own windowPythonPythonmouse (GUI) + Pythonmouse (GUI)
Costfreefreefreefreethousands of US$; student licence
Geometrymesh (facets)exactexactexactexact
Exports STEPnoyesyesyesyes

Mechanical