Embedded C & System-Level Firmware Development

Development and integration of embedded C firmware for custom and third-party hardware platforms. Services include system bring-up, peripheral integration, real-time control implementation, and modernization of legacy embedded codebases.

Capabilities

Embedded C Development

Firmware architecture, peripheral drivers, interrupt handling, and deterministic control loop implementation.

Board Bring-Up & Validation

Initial hardware validation, signal verification, power integrity testing, and firmware-assisted diagnostics.

Third-Party Platform Support

Development and refinement of firmware for externally designed boards, including integration and performance optimization.

Legacy Code Modernization

Refactoring and stabilization of inherited embedded C codebases for long-term maintainability and reliability.

Engineering Approach

Embedded development is approached as a system-level discipline. Hardware constraints, timing requirements, and environmental conditions are evaluated before firmware architecture is finalized.

Emphasis is placed on code clarity, deterministic behavior, and maintainable design suitable for long-term product support.

Development switch/LED vehicle control emulator

Desktop size firmware project for emulating very much larger vehicle installed unit designed for 51 switches and up to 72 LED's.

This was designed and built for a very portable unit for programmers to develop code for a vehicle. It emulated the functionality of the actual control panel and communicated that via RS-232 to a proxy application that sent the actual CAN and Ethernet communications per switch depress and/or release. There are two models, the dwarf unit which only uses one circuit board and has only the switches needed for Drive-by-wire. Then this deluxe unit which utilizes 3 boards and daisy chained communications between them and the remote proxy application.

 

Because all switches and LED's use individual locking connectors, when a new project is required, no code needs to be written, merely a new cabinet generated for the each switch and LED pair, and the mapping used by the proxy and its connected applications. Switches and Led's can be unmounted and remounted in the new enclosure.

 

Micro-Control emulator

 

Micro-Control emulator circuit board

 

4 channel Data I/O relay board

USB or RS-232 communications, using PIC 18F4550. Has 4 Analog Inputs, 4 Digital Inputs, 4 Digital Outputs, and 4 switched relay outputs, and up to 512K bytes I2C memory storage.

 

Data I/O controler