ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
A website to help students figure out which engineering field might actually fit them, built as a personal project by Jaime Gomez, a student at MSU.
Back in high school I remember looking at a long list of engineering majors and having no real idea what any of them actually meant day to day. Most of what I could find online was either a thin list of job titles or straight-up recruiting copy. This site is my attempt to build the resource I wish I'd had: honest, specific, no-hype descriptions of what these fields are actually like, including the parts that aren't glamorous.檢視完整 README ↗A website to help students figure out which engineering field might actually fit them, built as a personal project by Jaime Gomez, a student at MSU.
Live site: https://engineering-exploration-two.vercel.app
Back in high school I remember looking at a long list of engineering majors and having no real idea what any of them actually meant day to day. Most of what I could find online was either a thin list of job titles or straight-up recruiting copy. This site is my attempt to build the resource I wish I'd had: honest, specific, no-hype descriptions of what these fields are actually like, including the parts that aren't glamorous.
prefers-reduced-motion respectedThree of the simulations don't substitute into a textbook formula — they solve the problem numerically, the way an analysis tool does, and then check themselves against an exact answer. The error is printed on screen.
| Simulation | How it's solved | Checked against |
|---|---|---|
Beam (app/lib/beamAnalysis.ts) | Reactions from static equilibrium; shear as the running sum of loads; moment, slope and deflection each integrated from the station before it, with the far support's boundary condition enforced by correcting the starting slope | The closed-form solution — agrees to <0.001% |
Pendulum (app/lib/pendulumMotion.ts) | Fourth-order Runge-Kutta on θ'' = −(g/L)·sin θ, the equation the small-angle approximation comes from | The exact period, computed from a complete elliptic integral via the arithmetic-geometric mean — agrees to <0.001% |
Projectile (app/lib/projectileMotion.ts) | RK4 with quadratic drag, `F = ½·ρ·C_d·A· | v |
The beam page draws shear and bending moment diagrams alongside the deflected shape. The pendulum plots its real motion against the textbook formula's cosine, so you can watch them drift apart — at a 45° release the textbook period is 3.84% short, which for a pendulum clock would be about an hour a day. The projectile draws the drag path against the vacuum parabola; a 45 m/s throw of a 150 g ball loses roughly half its range to the air.
Every simulation states its assumptions on the page — Euler-Bernoulli beam theory, small deflections, no spin on the ball — because a number without its assumptions isn't worth much.
npm test
22 tests covering the three solvers, using Node's built-in test runner — no test framework added as a dependency. They check the beam against Pab/L and PL³/48EI, the pendulum against published elliptic-integral period ratios, and the projectile's drag solution against a second integrator written independently inside the test, since agreeing with a different method is a real check while agreeing with itself is not. They also check things that must be true regardless: equilibrium holds, moment returns to zero at both supports, amplitude doesn't decay in a frictionless swing, and air never adds range.
GitHub Actions runs the typecheck, lint, tests and a full production build on every push and pull request, so a broken change shows up before it reaches the live site.
app/lib/ holds the numerical solvers as plain functions, separate from the UI, which is what makes them testablemain deploys automaticallyI built this using Claude Code, Anthropic's AI coding assistant, as a pair-programming tool. To be straightforward about the split: Claude wrote most of the actual code from my direction. What I did was drive the whole process — deciding what to build and in what order, reviewing every diff before committing, testing every feature myself in the browser (including on mobile and in dark mode), catching things that felt off or too generic, making the calls Claude flagged as needing a real decision (data accuracy, tone, design direction), and deploying and debugging the live site on Vercel myself.
I didn't type most of these lines of code. But I know why every part of this site exists, what tradeoff each decision involved, and how to debug it when something breaks, because I was the one steering it the whole way through. That's the part I actually learned.
generateStaticParams for pre-building pages, and why a Client Component (like the interactive quiz) can't export its own page metadata and needs a separate layout file to carry itmin-width by default<head> tags, not by assuming it workednpm install
npm run dev
Then open http://localhost:3000.
npm test # run the solver tests
npm run lint # eslint
npm run build # production build