In 2016 refitted and adapted a chassis dynamometer for use in a car performance shop. A chassis dynamometer is used to provide artificial load to a vehicle's powertrain for the purpose of measuring engine performance characteristicsThis particular dynamometer was an obsolete unit which had been in storage unused for over 20 years. It was missing many of its electronic components. 

Custom Sensors Interface Unit

The project began with building a custom sensors interface unit. This unit provides the dynamometer-to-PC interface. The heart of the unit was a microcontroller programmed in C++, which managed all real-time inputs and outputs as well as the human interface menu system. A second programmed microcontroller, linked to the first through serial bus, controlled the LCD displays.

This dynamometer sensors interface unit provided the following features and functions.

Sensors Interface


  • Hall Sensor - With a trigger wheel, this sensor is used to monitor the rotating speed of the rollers.

  • Load Cell - The load cell reports the reaction torque created by the eddie-current retarder unit, and along with Hall sensor the data is used to calculate instantaneous horsepower.

  • Optical Tachometer A contactless optical tachometer to be pointed at an engine pulley to gather direct engine speed data.

  • Oxygen Sensor - A "wide-band" O2 sensor and controller. The sensor is inserted into the vehicle's tail pipe to report the air/fuel mixture ratio of the engine.

  • Air Pressure sensor - A pressure sensor to be tapped into the vehicle's intake manifold, which reports the vacuum or boost pressure in the manifold.

  • Atmospheric Condition Sensors Array -  Individual barometric pressure, temperature, and humidity sensors. These are used to normalize the dynamometer test results against varying atmospheric conditions.

User Interface

  • LED Displays - Two separate multi-function 4-character segmented LED displays. When not in setup mode, the primary display reads out engine RPM and active error codes, the secondary display reads out air/fuel ratio or Lambda ratio. When in setup mode, the primary display reads out menu position, the secondary display reads out setting values.

  • Pushbuttons and Toggle Switches - Four pushbuttons allow 2-dimension menu navigation. Toggle switches for on/off and mode select.

  • Wireless Remote Control Fob - Allows remote control of functions while the operator is seated in the vehicle driver seat.

Sensors Calibration And Conditioning

  • Tachometer Calibration - The contactless optical tachometer may be pointed directly at the engine crankshaft pulley for 1:1 calibration, or it may also be pointed at any accessory pulley regardless of driven ratio. In the case of the later, the operator may raise the engine speed to a set point rpm and press a button on the remote-control fob to auto-calibrate the input speed ratio. The controller also provisions 10 pre-sets to store and recall calibration for common pulley ratios.

  • O2 Sensor Validation - The wideband O2 sensor output data is monitored for signs of sensor failure. A warning code is displayed when O2 sensor behavior is abnormal, which would indicate that the sensor should be inspected or replaced.

  • Analog Sensor Calibration And Conditioning - Sensor outputs are filtered and smoothed in software. All analog sensor outputs are passed through parametric filters which may be user-calibrated by 3-point curve fit method.

Completed unit
press to zoom
Start of project and prototyping
press to zoom
Cover off
press to zoom
Back plate connectors
press to zoom
Roller Traction Grooves

A chassis dynamometer depends on friction between the vehicle tires and the rollers. Nearly all dynamometers of this type have some form of grooving or knurled texture on the rollers which substantially increase tire traction at the rollers, however this dynamometer unit had only smooth surface on the rollers. I came up with solutions to cut traction grooves into the rollers and then to balance the rollers before putting into service.

Cutting The Grooves

Grooves were cut into the steel rollers using a common circular saw mounted to a custom jig. A carbide tipped blade was used, and the RPM speed of the saw was reduced using a rheostat. A mist coolant system was fitted to extend the life of the cutting edges. A rotary table was used to index the rollers for each of the cuts. The circular saw was fitted to a carriage which ran along linear slides. 160 grooves were cut into each roller, a total of 320 grooves total. In fact, only a single blade was used for the entire project. The cuts resulted in sharp edges which were then chamfered using a knotted wire wheel mounted to a hand grinder.

After the modifications to the rollers, traction was greatly improved. Cars with power output over 850 horsepower have been successfully tested on the dynamometer without excessive wheel slip.

Jig used to cut traction groovesg
press to zoom
Process of cutting grooves
press to zoom
press to zoom
press to zoom
Balancing The Rollers

After the traction grooves were cut, the rollers required re-balancing. The rollers were dynamically balanced by spinning the rollers at speed and using electronic force sensors to measure the vibrations, which were then be used to calculate the imbalance. This method is identical to balancing car tires. An apparatus was constructed to facilitate the the process.


The cutting jig from the previous operation was repurposed to serve as the supporting structure during this operation. An optical tachometer to encode the roller rotational position. The forces of vibration were measured using a pair of cheap digital bathroom scales which were hacked and modified to expose the load cell (force sensor) output signals. I set up a microcontroller programmed in C++ and wired to serve as the sensors interface and input buffer to the PC via USB. The apparatus was anchored in the horizontal plane so that the forces of imbalance were constrained to the vertical plane. The roller was spun up to approximately 1200 RPM using a hand drill, and then allowed to coast down. During the coast-down period, the imbalance force and rotational position data was logged to the PC.


The roller rotational position vs. vertical force data was imported into a Microsoft Accel sheet, where it was processed through a macro script and then plotted on a graph which displayed the location of left and right side imbalances relative to the roller rotational position. Using the imbalance data I welded pieces of steel to the left and right axial surfaces of the rollers to counteract the measured imbalances.

Hacked bathroom scales
press to zoom
Optical encoder
press to zoom
Spinning rollers with drill
press to zoom
The balancing rig setup
press to zoom
Spinning rollers
press to zoom
Imbalance data
press to zoom
Reinstalling rollers
press to zoom
Functional dynamometer after modifications
press to zoom