ESP32-S3 Bench Guide
ESP32‑S3 N16R8 벤치 가이드: 실시간 핀아웃, 강의, 시뮬레이터 및 벤치 로그
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 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. |