ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗An equipment catalogue and AI assistant for a makerspace. Students find a machine, read how to use it, and ask an assistant that answers from the lab's own inventory and manuals, citing the page. Staff keep the inventory, work maintenance tickets and add new equipment in the same app. Everything is also served over MCP, so people can use the lab from Claude, ChatGPT or any other AI client.
Live at the Cornell Tech MakerLAB: https://www.makerlabai.app ·
Run it for your own lab: docs/fork.md
MakerLAB Tools was built for, and runs at, the Cornell Tech MakerLAB, the fabrication lab on Cornell's New York City campus. It catalogues the lab's ~100 machines (laser cutters, 3D printers, CNC routers, electronics benches and hand tools), searches about 50 of their manuals, and is what students reach when they scan the QR label on a machine.
The software is not tied to Cornell. Everything specific to the lab (names, logos, photos, the floor plan, the sign-in domain) lives in data and environment variables, so another makerspace can fork it and run its own copy. With no configuration at all it starts on demo data.
Paper. The system was presented as a demo at the International Symposium on
Academic Makerspaces (ISAM 2026), Houston: MakerLAB AI: Tools to Operate, Fix, and
Build in Makerspaces (Steinberg, Parikh and Ramirez Peraza). The abstract, figures and
PDF are in docs/isam-2026-demo/.
| Catalogue. Fuzzy search and facets (status, category, material, location) across every machine. | The assistant. Opened on a tool page, it answers from that machine's manuals and cites the pages. |
| Reporting a problem. It troubleshoots first, then files a ticket against the right machine. | Floor map. Where each machine is, zone by zone. |
| Intake. Staff add equipment from a name, a link or a photo; research agents draft the record for approval. | Maintenance. Staff work the ticket queue; changes the assistant proposes wait for Confirm. |
| Kiosk. A lab status board for the TV at the door, with a QR code to the assistant. | MCP. Connect Claude, ChatGPT or Codex to the lab's catalogue. |
More, with a walkthrough video, on the product page: https://www.makerlabai.app/product.
/admin holds the inventory editor, maintenance, corrections and proposal
queues, project moderation, user roles and an optional one-way mirror into Notion.
Anything the assistant or a student creates starts unpublished./api/mcp:
read-only without an account, or acting as yourself after signing in.
See docs/mcp.md.next-intl; branding,
colours, institution and assistant name come from environment variables.git clone https://github.com/philosophercode/makerlab-tools.git
cd makerlab-tools
npm install # Node 24 (.nvmrc)
npm run dev # http://localhost:3000
It runs with no configuration. With DATABASE_URL unset the app uses an in-process
Postgres (PGlite) seeded with demo tools, shows a demo data banner, and stores
uploads in .blob-data/. Add AI_GATEWAY_API_KEY to .env.local to turn the assistant
on. .env.example documents every variable, and
docs/fork.md walks through rebranding and hosting your own copy.
| Feature | Needs |
|---|---|
| Tool pages, search, facets, QR labels, twelve languages, kiosk | Nothing; works on the demo data |
| The assistant, answering from your manuals with page citations | AI_GATEWAY_API_KEY |
| Adding equipment from a list, a link or a photo | The assistant's key |
| Maintenance tickets and staff email | Sign-in; email needs Resend |
MCP for Claude, ChatGPT and Codex (docs/mcp.md) | Nothing for public reads; sign-in to act |
A floor map of your lab (docs/map.md) | A plan image, traced with the prompt in the guide |
npm run dev # dev server
npm run build # db:migrate, then next build
npm run lint # eslint
npm run typecheck # tsc --noEmit
npm test # vitest: unit + integration + component
npm run test:e2e # playwright (once: npx playwright install chromium)
npm run test:all # all of the above; must pass before a merge
npm run eval:all # agent evals; real, paid model calls, never in CI
The test suite needs no credentials and makes no network calls.
Working against a persistent local database is covered in docs/deploy.md.
Next.js 16 (App Router, React Server Components), React 19, TypeScript, Tailwind CSS 4 with shadcn/ui. Postgres (Neon) through Drizzle ORM, with pgvector for manual search; Vercel Blob for files. Better Auth with Google sign-in. Models through the Vercel AI Gateway via the AI SDK; background jobs on the Workflow SDK. Vitest, React Testing Library, MSW and Playwright. Hosted on Vercel.
flowchart LR
subgraph People
S[Students and visitors]
T[Staff]
A[Claude, ChatGPT, Codex…]
end
S --> P[Pages: tools, map, kiosk]
S --> C["/api/chat"]
T --> AD["/admin: server actions"]
A --> M["/api/mcp"]
C --> R[Capability registry<br/>src/lib/capabilities]
M --> R
R --> AL[Action layer<br/>src/lib/actions]
AD --> AL
R --> G[Vercel AI Gateway] --> LLM[Models]
P --> CAT[Cached catalogue<br/>src/lib/catalog.ts]
R --> CAT
CAT --> DB[(Postgres + pgvector<br/>PGlite locally)]
AL --> DB
W[Workflows: research, manuals,<br/>photos, mirror] --> DB
W --> B[(Vercel Blob)]
AD --> W
Manuals are stored as text, split into passages, embedded and reranked, so an answer
names the page it came from. Everything a model writes about the catalogue is a draft or
a proposal a person approves. docs/architecture-guide.md
explains each decision.
| Document | For |
|---|---|
docs/fork.md | Forking it for your lab. What to rebrand and replace, then where to host it. |
docs/deploy.md | Local setup stages, then a Vercel deployment step by step. |
docs/handover.md | Running it: accounts, routine tasks, backups, what to do when it breaks. |
docs/architecture-guide.md | How it works. Start here if you are inheriting the code. |
docs/assistant.md | What the assistant can do, by role. |
docs/mcp.md | Connecting Claude, ChatGPT, Codex and other MCP clients. |
docs/map.md | Your lab's floor map, traced from a plan image. |
docs/operations.md | Monitoring, backups and restore. |
docs/testing.md | Test suite runbook. |
| , |
.github/CONTRIBUTING.md has the setup and the checklist.
Every feature starts with a spec that merges before the implementation
(docs/constitution.md, Article 1), and npm run test:all must
pass before any merge. Outside contributors sign the
Contributor License Agreement once. Report security problems
privately, as .github/SECURITY.md describes.
Built by Isaac Steinberg for the Cornell Tech MakerLAB, which Niti Parikh (Director)
and Luis Rodrigo Navarro (Assistant Director) run. Thanks to Miguel Ramirez Peraza, who
built the first inventory search that started it. An older Airtable-backed version is
preserved at the git tag
v4-final.
GNU Affero General Public License v3.0 (AGPL-3.0-only). You may use, change
and host it for any purpose; if you let others use a changed version over a network, you
must offer them its source. Names, logos and photos are not covered.
docs/legal/LICENSING.md explains it in plain language.
Copyright (C) 2026 Isaac Steinberg.
docs/constitution.md| The rules every change respects, and the design specs. |
AGENTS.md, docs/architecture/ | Conventions and the app area by area, for people and AI assistants alike. |