All work
Embedded SystemsHMICAN

Industrial HMI & CAN Communication

C++ and C# interface work, CAN communication support, and Angular HMI development for industrial machine workflows.

Context

Industrial equipment needs software that makes machine state and operating modes understandable to people while reliably exchanging data with connected components. I worked on interfaces and communication support for an industrial attachment-device and filling-machine context.

Problem

The implementation needed to connect operating modes and machine information across a CAN communication layer, software integration points, and a human-machine interface. Each part had to support the surrounding workflow instead of behaving as an isolated feature.

Constraints

This was professional industrial work. Product names, customer details, machine specifications, production data, and performance figures are omitted. The case study describes the technologies and responsibilities without disclosing proprietary implementation details.

My role

Software Developer working with C++11, C#, CAN communication, an Angular HMI, and an integration layer between system resources and a NoSQL database.

Approach

I worked across the interface boundaries: implement the communication support needed for real-time exchange, connect software artifacts where integration was required, and build HMI functionality around the machine workflow people needed to operate.

Architecture and workflow

The solution spanned a C++ communication layer for CAN-bus exchange, application-level C++ and C# interfaces for operating modes and device behavior, an Angular HMI for workflow interaction, and a C# integration layer connected to a NoSQL data store.

Technologies used

  • C++11
  • C#
  • Angular
  • CAN bus
  • NoSQL database integration
  • Jira, Bitbucket, and Atlassian Cloud

Implementation highlights

  • Developed C++11 and C# software for attachment-device interfaces and operating modes over CAN.
  • Implemented a C++ communication layer for real-time CAN-bus data exchange.
  • Built Angular HMI functionality for filling-machine workflows.
  • Implemented a C# layer connecting system resources and artifacts to a NoSQL database.

Result or current status

The work delivered software across the communication, interface, and operator-facing layers needed by the industrial workflow. It provided hands-on experience with the practical coupling between machine communication and usable software interfaces.

What this work demonstrates

Ability to work across embedded-adjacent communication, application integration, and HMI concerns while treating the interfaces between them as first-class engineering work.

What I would improve next

A public demonstrator could make the interaction easier to inspect by simulating CAN frames, showing operator states in a small HMI, and documenting the boundary between communication, application, and UI layers.