EDUCATION BUILD // NOT SAFETY-CERTIFIED // SYNTHETIC DEMO DATAEmbedded32 is for learning and prototyping - not automotive-certified, safety-certified, or a complete SAE J1939 stack.
Embedded32
Menu

UNDERSTAND THE BUS. CONTROL THE SYSTEM.

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.

ENGINE ECU ─┐
TRANS ECU ──┼── CAN BUS ── DIAGNOSTIC TOOL
DASH ECU ───┘
Public packages10
Classroom labs4
Demo scenarios6
Hardware required0

Learning paths

Student

  1. Start with CAN concepts
  2. Run the browser demo
  3. Complete four labs
Begin →

Instructor

  1. Review learning outcomes
  2. Download lab material
  3. Use grading rubrics
Teach →

Developer

  1. Select a package
  2. Read API documentation
  3. Contribute code
Build →

Live demo preview

Browser CAN/J1939 player

Play synthetic traces, step through frames, inspect PGN decoding, and export results - entirely client-side.

Open the interactive demo →

Four labs

LAB 01

CAN BASICS

45–60 MIN · NO HARDWARE

Identify CAN frame fields, interpret hex traces, and explain broadcast vs addressed frames.

Start lab →

LAB 02

J1939 MESSAGING

60–75 MIN · NO HARDWARE

Decode PGNs, source addresses, and scaling for common engine messages.

Start lab →

LAB 03

MULTI-ECU SIM

60–90 MIN · NO HARDWARE

Run a multi-ECU simulation and correlate bus traffic with vehicle behavior.

Start lab →

LAB 04

DIAGNOSTICS

45–60 MIN · NO HARDWARE

Interpret DM1 messages, SPN/FMI pairs, and lamp status bytes.

Start lab →

Package map

Ten public @embedded32/* packages are maintained in this monorepo. npm publishing requires maintainer approval - packages are source-available today via GitHub and local install.

View all packages →

Architecture overview

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 →

For instructors

Course module, student guide, instructor guide, rubrics, and verified solutions ship in the repository.

Instructor resources →

Open source

MIT licensed. Contributions welcome via GitHub issues and pull requests.

How to contribute →

Honest maturity

Limitations

No SocketCAN in the browser. No WebSockets. No production transport-protocol compliance. J1939 coverage is a teaching subset. npm packages are not automatically published - see the package guide for install options.

Quickstart

shell
git clone https://github.com/Mukesh-SCS/Embedded32.git
cd Embedded32
npm ci
npm run build
npx tsx examples/j1939-basic.ts