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

Student guide

Welcome to the Embedded32 embedded-vehicle networking module.

What you will use

  • Language: TypeScript on Node.js 18+
  • Hardware: None for required labs (simulation only)
  • Editor: VS Code, Cursor, or any IDE with TypeScript support

Setup (first day)

git clone https://github.com/Mukesh-SCS/Embedded32.git
cd Embedded32
npm ci
npm run build

Verify your environment:

npx tsx examples/j1939-basic.ts
npm run test:labs

The second command is what instructors use to grade lab solutions.

How labs work

Each lab has:

  • README.md - instructions
  • starter/ - your starting code (edit this)
  • solution/ - reference (do not copy verbatim; learn from it)
  • expected-output/ - sample markers your program should print

Run your work:

npx tsx labs/lab-01-can-basics/starter/lab.ts

Lab sequence

  1. Lab 1 - CAN basics
  2. Lab 2 - J1939 messaging
  3. Lab 3 - Multi-ECU simulation
  4. Lab 4 - Diagnostics

Study resources

Submission checklist

  • Code runs with npx tsx from repository root
  • No absolute paths (e.g. C:\Users\...) in your files
  • Lab report answers written questions where asked
  • Output markers match the lab README (e.g. LAB01_MATCHED=1)

Getting unstuck

ProblemTry
Module not foundnpm run build at repo root
No simulation outputCall scheduler.start() in Lab 3
Wrong J1939 fieldsSet extended: true on frames

Ask on your course forum first; open a GitHub issue for confirmed bugs.

Academic integrity

You may discuss concepts with classmates. Submit your own code and your own lab write-ups.