From a legacy fan controller to a production-ready control platform: the G2 PWM Controller

needCode took full ownership of modernizing Creative Werks' flagship product, from electronics and firmware to the configuration app and automated validation. The resulting platform is now in production under the CWI Performance brand.

Executive Summary

Challenge

The product still had a loyal market, but its underlying architecture had reached its technical limits: brushed motors only, configuration over an aging RS485 link on a software foundation that had grown slow and unstable, protection features behind what the market expected, and no diagnostics beyond a status LED. With a customer base of hobbyists and DIY installers, every ambiguous installation became hours of support.

Creative Werks needed a complete replacement, not a refresh. It had no spare capacity in any of the three disciplines, and a limited budget to do it with.

Solution

needCode took full ownership of the product, with one team covering every layer. We designed the 12/16/24 V power hardware with programmable Smart Fuse protection, developed Zephyr-based firmware for the STM32L475, and built a Windows configuration app with real-time diagnostics. Automated Hardware-in-the-Loop testing was integrated into the CI/CD pipeline to validate every build.

Hardware, firmware, and software were developed in parallel over 12 months and six hardware revisions. Each iteration ended with a live demo for Creative Werks, and requirements were refined based on what those demos revealed.

Outcome

The G2 PWM Controller is now in production and sold by CWI Performance to builders, dealers, and OEM partners. A single software-configurable device replaces relays, fuses, and standalone fan or fuel-pump controllers.

It offers a configurable Smart Fuse up to 80 A and runs on 12, 16, and 24 V systems with one unit. It provides a high-current PWM output for brushed DC motors, two 100 Hz control outputs for brushless fans, and CAN communication with in-field firmware updates. A built-in Test Mode lets installers verify their own wiring without calling support.

Every future firmware release is validated on real hardware before it ships.

Do you need Smart Innovations?

Book a free discovery call and let's unlock new possibilities
the G2 PWM Controller 01

Before vs. G2

Feature

First-generation controller

G2 PWM Controller

Motor and fan control
Brushed DC only
High-current PWM output for brushed DC motors, two 100 Hz control outputs for brushless fans, relay output
Vehicle systems
12 V
12/16/24 V from a single unit
Protection
Fixed, behind market expectations
Programmable Smart Fuse, configurable up to 80 A, with a 90 A short-duration inrush limit; reverse-polarity and ESD protection
Configuration
RS485-to-USB, COM-port hunting, settings written and verified one by one
CAN via USB-to-CAN adapter, G2 Configurator for Windows
Diagnostics
Status LED; test function toggles outputs, shows no measurements
Test Mode with live plots of signals, voltage, current and temperature
Updates in the field
None
Firmware updates over CAN

How the product came together

1. Hardware, firmware and GUI designed in parallel

Three-layer products are usually built in sequence, which pushes every integration problem to the end, where it costs the most. With a limited budget, that wasn't an option.

Firmware and GUI development began on off-the-shelf development kits before the first board existed, so when hardware revision one arrived, software was ready to put it under load. Each of the six revisions addressed issues found in the previous one, and each was demoed to Creative Werks.

After twelve months, the platform reached production without a separate integration phase, because integration had been happening all along.

Three workstreams from day one

Hardware, firmware and the G2 Configurator were developed side by side over twelve months, on a limited budget. Firmware and GUI started on development kits before the first board existed, so every hardware revision arrived to software ready to load it.
Revision timing is illustrative: six revisions over twelve months

2. Thermal design, protection and control

Driving tens of amperes continuously across the full PWM range, inside a compact sealed enclosure, is first a thermal problem.
High-current studs

The PCB layout became the primary thermal tool

Spread the current, conduct the heat into the enclosure, then measure it on a high-current bench against the fans and motors customers actually connect. The original design target was 50 A continuous, while Creative Werks’ testing confirmed sustained operation at 75 A. The production unit provides a configurable Smart Fuse setting of up to 80 A, with a 90 A short-duration inrush limit.

Protection built in from the first revision, for installers ranging from hobbyists to professional shops

The device survives reverse polarity without damage, all inputs and outputs are ESD-protected, and low-voltage lines tolerate full battery voltage. The Smart Fuse's overcurrent and overtemperature thresholds are set per build rather than fixed for every user.

On top of this runs the firmware, built on Zephyr RTOS and the STM32L475. It supports three control modes: standalone sensor-driven, ECU-driven via PWM, and hybrid with ECU override. It drives a high-current PWM output for brushed DC motors, two 100 Hz control outputs for brushless fans, and a relay output, all with configurable soft-start ramps. CAN communication handles both data exchange and firmware updates over the same bus.

3. Diagnostics, HIL and requirements tested in the open

The previous generation’s weakest link was its PC tool, so the G2 Configurator was built for a non-engineer:

Full settings management, firmware updates over CAN through a USB-to-CAN adapter, and a Test Mode that plots input signals, output voltage, output current and board temperature live. An installer can see that sensors are connected, signals are not saturating and the controller is driving what it should. Installation verification becomes self-service, and the support burden drops at the only stage where dropping it is cheap.

The same discipline applied to needCode’s own work. A Hardware-in-the-Loop rig runs inside the CI/CD pipeline:

Every firmware change is flashed onto a real G2, LabJack instrumentation drives the inputs and loads, and pytest checks the full feature set before anything can ship. And requirements were treated as hypotheses. The original concept included on-device configuration through buttons and two LEDs, so users could change settings without a PC. needCode built it, the prototype proved the interaction cumbersome, and the feature was dropped in agreement with Creative Werks before it could generate support requests for the life of the product.
Status LED and signal connector
“The rule on this project was simple: no firmware leaves the bench without the bench saying yes. Every commit gets flashed onto a real G2, LabJack feeds it sensor signals and loads, and pytest checks every feature we ever shipped. It is the only way to change the Smart Fuse logic on a Monday and still sleep on Tuesday.”
Wojciech Rzepecki profile
Wojciech Rzepecki
Technical Lead at needCode
Get a Free Estimate

Confirmed results

In production

The G2 PWM Controller ships as a CWI Performance product, laser-marked REV. 1.0 and Made in USA, with a harness and USB-to-CAN adapter ecosystem, and is available to dealers and OEM partners.

Business outcomes

  • One product line replaced and carried forward under the CWI Performance brand, with the G2 now sold through dealers and OEM partners as well as directly to builders
  • A wider addressable market from a single part number: brushless fans, 16 V racing systems and 24 V machinery, where the first generation covered brushed motors on 12 V only
  • A support cost avoided for the life of the product: the button-and-LED configuration interface was tested and dropped before launch, and Test Mode moves installation verification to the installer
  • No in-house hiring in three disciplines: hardware, firmware and desktop software delivered by one partner on a limited budget
  • An accessory ecosystem, harnesses and the USB-to-CAN adapter, sold alongside the controller
  • An installed base that can be updated over CAN, so new features do not require a new hardware generation

Do you need Smart Innovations?

Book a free discovery call and let's unlock new possibilities

Value chain of parties involved in the project

needCode took ownership of the whole platform; Creative Werks owns, manufactures and distributes it under the CWI Performance brand; dealers, installers and OEMs bring it to the vehicles it ends up in.
Delivered by needCode for Creative Werks Inc., 12 months, six hardware revisions, on a limited budget.

What this means for similar projects

When a product’s architecture reaches its technical limits, the hard part is rarely one layer. It is that hardware, firmware, software and test all have to move at once, and the company that owns the product usually cannot staff all four.

On the G2, needCode took on that responsibility as a whole and delivered a production-ready platform on a limited budget. The decisions that mattered were made early: protection that absorbs installer mistakes instead of punishing them, diagnostics that replace support calls, and requirements validated with working increments before they became costly.

If you have a product with a loyal market and an architecture that can no longer keep up, let’s talk.

#TurnIdeasIntoLife

Technical appendix: scope of delivery

  • High-current PWM power stage with a thermal-first PCB layout, for 12 V, 16 V and 24 V vehicle systems
  • Programmable Smart Fuse: configurable overcurrent and overtemperature protection, real-time shutdown, fault reporting via status LED and software
  • Built-in reverse-polarity protection and ESD-protected I/O, designed to tolerate common installation mistakes without damage
  • Inputs: GM-style resistive temperature sensor, 0–5 V analog with custom curve mapping, 20–150 Hz ECU PWM, ignition enable, manual override
  • Outputs: high-current PWM output for brushed DC motors, two 100 Hz control outputs for brushless fans, configurable relay output
  • STM32L475 microcontroller running Zephyr RTOS
  • CAN communication, including firmware updates over CAN via a USB-to-CAN adapter
  • G2 Configurator for Windows: full settings management, live monitoring, Test Mode diagnostics
  • Hardware-in-the-Loop test setup integrated into CI/CD; automated functional and regression testing of the full feature set (pytest, LabJack)
  • Six hardware revisions, validated on a high-current bench across a wide range of fans and brushed DC motors

Also interesting

More case studies

We work with Industry Leaders

© 2026 needCode. All rights reserved.