Student
- Start with CAN concepts
- Run the browser demo
- Complete four labs
Embedded32 teaches CAN, SAE J1939, ECU simulation, and diagnostics without requiring hardware first. Run synthetic traces in your browser, complete four classroom labs, and explore ten open-source packages.
Browser CAN/J1939 player
LAB 01
45–60 MIN · NO HARDWARE
Identify CAN frame fields, interpret hex traces, and explain broadcast vs addressed frames.
Start lab →LAB 02
60–75 MIN · NO HARDWARE
Decode PGNs, source addresses, and scaling for common engine messages.
Start lab →LAB 03
60–90 MIN · NO HARDWARE
Run a multi-ECU simulation and correlate bus traffic with vehicle behavior.
Start lab →LAB 04
45–60 MIN · NO HARDWARE
Interpret DM1 messages, SPN/FMI pairs, and lamp status bytes.
Start lab →Ten public @embedded32/* packages are maintained in this monorepo. npm publishing requires maintainer approval - packages are source-available today via GitHub and local install.
Embedded32 layers CAN drivers, J1939 decoding, simulation, bridging, and a supervisor runtime. The browser demo uses a teaching subset of the J1939 decoder - not a certified stack.
Read architecture →Course module, student guide, instructor guide, rubrics, and verified solutions ship in the repository.
Instructor resources →MIT licensed. Contributions welcome via GitHub issues and pull requests.
How to contribute →Limitations
git clone https://github.com/Mukesh-SCS/Embedded32.git
cd Embedded32
npm ci
npm run build
npx tsx examples/j1939-basic.ts