BCIT Final Year Capstone Project

March 1, 2026

Introduction

I am currently in my final year of the BEng Electrical Engineering program at BCIT. As part of the program, final-year students complete an industry-sponsored capstone project, where we collaborate with real companies to solve real engineering problems. It is an opportunity to apply everything we have learned over the past four years to meaningful problems beyond the classroom.

I teamed up with Cole Leeners, Chuibin Zeng, Michael Desimone. I served as the team lead and primary firmware developer, taking responsibility for the overall technical direction of the embedded system, firmware architecture, and software integrations.

Industry Partner

Level5Fleet Corp. is a provider of an autonomous trailer security and operations platform used by customers in the logistics industry. Their on-trailer devices enforce time- and location-bound access to brakes, doors, and cargo locks, ensuring that only authorized tractors and drivers can move or access a trailer. The system is designed to prevent fictitious pickups and misrouting, detect tampering, and generate audit-ready logs, while also automating yard check-in/out and providing real-time visibility. Overall, the platform helps reduce theft and dwell time while improving asset utilization. The core of Level5Fleet’s system is the Admiral Hub, an on-trailer telematics device installed on fleet trailers.

The Requirement

For our capstone project, we were tasked with designing a bridge device that interfaces with a diesel truck’s ECU to read and parse key parameters such as ignition status, speed, and RPM, and transmit this data to the Hub via BLE, after which it is uploaded to AWS. This functionality defines the Listen Mode, in which the device is mounted in the truck’s cabin and connected to the SAE J1939 connector. The same hardware platform will also support a second mode of operation: Control Mode, where the device is mounted on the trailer and provides power to, and serves as a communication link for an electronic brake chamber.

We are responsible for end-to-end product development, including embedded firmware, custom PCB, enclosure design, and creation of test tools using off-the-shelf development kits to validate the system without a physical truck or trailer.

Initial Development

After gathering the requirements and researching potential components, we began development using off-the-shelf development boards. These boards provide direct access to GPIO pins and communication interfaces, which makes prototyping and debugging easier. Because development kits include built-in features such as power regulation, USB-to-UART, and onboard JTAG, they eliminate much of the early hardware setup complexity and allowed us to bring up the system quickly.

Using development boards also allowed us to focus on validating the firmware and core functionality before committing to these components and designing our own custom PCB.

Development Hardware

We used the following development boards and off-the-shelf kits to aid our development:

The Copperhill SAE J1939 Starter Kit provides a platform for monitoring, simulating, and analyzing J1939 CAN bus traffic without needing access to a real diesel truck or vehicle network. The kit consists of two J1939 nodes based on the SAE J1939 ECU Simulator Board, allowing users to generate and exchange J1939 messages while observing network behavior. When paired with the jCOM1939 Monitor software, the system can simulate ECU responses, transmit and record CAN frames, and analyze Parameter Group Numbers (PGNs) defined in the SAE J1939 standard.

For our project, this tool allowed us to simulate a truck ECU and generate realistic J1939 traffic, enabling development and testing of our firmware’s message parsing and communication logic without requiring access to a physical truck.

Protocol Stack

We also used the existing ARD1939 SAE J1939 protocol stack provided by Copperhill Technologies. It significantly accelerated our development. The stack provides a ready-to-use implementation of the SAE J1939 protocol for embedded systems and supports key network features such as address claiming, transport protocols for large data transfers, PGN handling, and request/response messaging.

Some advantages of this stack:

  • Zero licensing fees and no usage restrictions.
  • Compatibility with ESP32-based embedded systems.
  • A documented high-level API that simplifies integration into firmware.

One limitation is that the internal implementation is partially obfuscated because the distributed source code is derived from precompiled binaries rather than the original source. However, the exposed API is complete and well documented, and it proved sufficient for integrating J1939 communication into our firmware. Since the stack is provided free of charge, official technical support is not included.

Project Timeline

Custom PCB

After successfully implementing a minimum viable Listen Mode and validating the full end-to-end data pipeline from J1939 PGN emulation on the CopperHill device, through the ESP32-C6 bridge, to the Admiral Hub and AWS, we finalized the parts and components and proceeded with the custom PCB design. The PCB was designed in KiCad and being manufactured and assembled by PCBWay.

The custom board consolidates all key modules into a compact platform suitable for deployment, including the MCU, CAN transceiver, battery management system (BMS), status LEDs, switches, and a Li-Po battery. The device can be charged via the 12V supply on the DB9 port (cabin), the 12V auxiliary power connector (trailer), or the 5V USB-C input. The bridge connects to the green 9-pin J1939 connector using the following cable: SAE J1939 9pin Cable to DB9 Female. Once we receive the PCB, we will also design a protective enclosure to house the PCB, battery, and external connectors.

ETS2/ATS Integration Demo Video

I wanted to make the ECU simulation more interactive and realistic. Previously PGNs (J1939 data frames) were manually transmitted using the jCOM1939 Monitor Pro application via the Copperhill gateway, which only allowed sending messages one at a time. While the gateway can transmit J1939 frames, it does not model actual diesel engine behavior, meaning a more realistic simulation would have required either recording traffic from a real truck or generating large datasets to mimic engine dynamics.

Copperhill provides the source code for a lite version of their jCOM1939 Monitor application (a .NET C# Windows Forms project), I also found ets2-telemetry-server, an existing project that exposes real-time vehicle data from Euro Truck Simulator 2 (ETS2) and American Truck Simulator (ATS) via a REST API. Using these, I built a custom Windows Forms application to bridge ETS2/ATS and the Copperhill gateway. The application:

  • Connects to the Copperhill gateway over USB (serial COM port).
  • Connects to a running instance of ETS2 or ATS and polls live telemetry data.
  • Encodes the telemetry into appropriate J1939 PGNs.
  • Transmits the frames onto the CAN network via the Copperhill gateway.

From there, our bridge device in Listen Mode parses the messages, forwards them via BLE to the Admiral Hub, and uploads the data to AWS, completing the full pipeline.

While not a core project requirement, implementing this integration made the demo more engaging and improved our ECU simulation capability by leveraging telemetry generated from a realistic truck model rather than relying on fabricated data vectors. You can see the system in action in the following video:

 

Closing Thoughts

The project is still in progress. The custom PCB has been ordered and is currently being assembled, and once it arrives, we will perform hardware bring-up and testing. We will also design and 3D print an enclosure to house the hardware. Currently, I am working on expanding the firmware to support Control Mode, implementing an OTA update pathway, and integrating the device into Level5Fleet’s existing cloud ecosystem.

The project will be showcased at the May 2026 expo, an event attended by industry professionals and faculty from various BCIT departments. Stay tuned for more updates, I will be posting a follow-up after the expo to share the final results and demo. 😄