Comparing D-DAQ's Performance Characteristics

A project log for D-DAQ

automotive parameter & performance monitor & logger

Michael O'BrienMichael O'Brien 08/27/2014 at 08:230 Comments

I've talked a bit about the performance I want, need, and expect to have out of D-DAQ. I've mentioned a long lost digital gauge with no known good video footage for people to have a benchmark of. There is also a "high end" gauge setup a friend of mine moved over to that is very popular around the diesel world made by the company ISSPro. All of this is fairly arbitrary for those less familiar with any of these than I am when I even have a glancing knowledge of them. I'd like to define the terms of performance that are present in digital systems and what I aim to achieve.


First benchmark was the Doniol gauge. It was low latency, though smoothed RMS values utilized if memory serves, 60 fps update speed digital gauge using an analog sweep. The OLED display was driven on an 8-bit parallel bus by a 16 MHz, MSP430F2410T. It was simple and very fast.


The even popular ISSPro setup was what my friend had to move to that allowed for daq and gauge use. He had to spend about $600 for the processing board (RS82000) and the gauges (~$170 a piece) combined. He loved the simplicity of the setup because it used 2 wires for connecting all three gauges, though supported up to 17 gauges simultaneously. I'm not sure which protocol was used. In-person viewing and observing other youtube videos shows that the update speed of the gauges was about 5 Hz, aka about 200 ms latency. Due to the stepper motor drivers, the jumpiness is primarily visible on slow movements. I never had a chance to get my hands on his raw data, but due to how it graphed, it looked very much like an 8-bit ADC was used. The signal processor as they called it is fully potted by solid, heavy epoxy and weighed a few pounds.


This company tried to ride the wave of the original Doniol gauge. However, they used the out-of-the-box 4D systems OLED displays and drivers. It's a great little device for simple projects and quick graphical development if you don't have a graphics design team. However, by using the 4D board with the graphics ASIC, they only ever achieved about a 10 Hz screen redraw rate. Their attempt at flashy graphics looks a little gimmicky. Oh, and they want 235 GPB, aka ~$390 currently.

Mechanical Gauges

What this video:

Through a little dated, it gives you an idea of the general performance of a digital gauge. From looking at the video, there seems to be some damping going on with the digital gauge that closely resembles an RC time constant. Latency appears to be about an average of 2 frames or ~60-70ms. Especially on a 4-stroke, 4-cylinder diesel, the boost pressure at low RPM can fluctuate 5-10 PSI at 30 Hz or faster. Putting a cheap in-line fuel filter, like the type used on RC cars, provides sufficient damping to the pressure waves to remove the fluctuations on a mechanical gauge and quiets them down.


There are benefits and drawbacks on each one of these setups. Until it was coded, the Doniol gauge's response was too fast and the RMS + smoothing had to be coded in, much akin to a RC low pass filter or the fuel filter for the mechanical gauge. A mechanical gauge is obviously physical and the inertia of the spring mechanism and the needle's associated sweep speed is something we are used to and don't see, but delays it's response. The smoothing in the Doniol was added to mimic this too. The ZadaTech and ISSPro gauges are prime examples of why I personally have to complete D-DAQ because for their price, their response and performance is utter crap. Though a real gauge face looks better than everything, a physical screen has the lowest response if your data processing and display framework + hardware is fast enough. I've taken notes from all of them, though kept my performance set on being at least that of the Doniol gauge.

If the user wants a full tilt streaming consciousness of D-DAQ's logging capabilities, I'm not sure how much bandwidth I'd need. I've not decided upon a data format, but instead of using floating point everywhere, I'll be implementing an integer math library. A divisor and precision unit will need to be tagged to each data set, but I'll be outputting 16-bit integers, or 32-bit if for some reason I need the precision. At a supplied sample rate of 6.667 kHz, for 14 analog channels, 32-bit integers, we're talking a hair under 3 Mbits. I am planning a 5 MHz software SPI bus for the SD card... Hell, when I have the time, I expect to code D-DAQ to recognize and utilize an Electric Imp for who knows what.

I will also guarantee a screen update speed of 45 fps for the 160x128 OLED screens, though I am aiming for 60 fps if at all possible. Once I know the code execution path, I'll be able to define a latency from the sensor to the display. I'm hoping for this routine to be faster than a single frame, thus 16.667 ms for 60 fps and this seems pretty feasible for a 80 MHz MCU that can do 256 point FFT in less time than that.

Breaking Down Assumed Cost

The mainboard for D-DAQ will come out to about $38 for 3 pieces from OSHPark, who'll I'll continue to use for prototyping. Once everything is working and behaving well, I'll tweak the design to account for the larger annular rings required by SeeedStudio's PCB service to drop the cost further. This board is a touch smaller than the 5 cm x 10 cm proto service. I'm unsure of the specs and cost of the power supply PCB at the time. Since I have more freedom outside of the contest, I plan on making it more robust and 24V compatible.

The gotcha is the BOM. Its still in flux, but due to voltage requirements of capacitors, protection circuitry, oscillators, the physically larger PIC32, et al, we're looking at ~$115-$130 for the cost of parts for a one-off build. It may go up a little more depending on the power supply subsystem changes.

The case of which I'm designing this to fit in is ~$8-$11 un-modified. Once the mainboard PCB layout is finalized, I can annotate the technical drawing PDF and submit it for a quote on the cost of a batch of 50 or so. The case needs to be modified with over a dozen holes about about 6 profiles as well as appropriate mounts for the fan.

The display boards are relatively inexpensive and there are several details awaiting finalization still, but parts, PCBs, and screens for a complete display will cost about $40 without a housing. I live in a city with a low of industry and machining. When the time is appropriate, I'll locate a shop that can provide appropriate technologies for a 2"-2.25" gauge housing and also secure a quote.

Sensor board sizes and BOMs is too much in flux to make an estimate at the time.

That being said, a minimalist setup, build-it-yourself cost for D-DAQ as just a daq is lining up well for the $200 mark. Tack on a gauge, maybe $275. Medium run production would cut that cost 

Putting it all Together

So basically, for $200 you can make the base unit yourself. If you want a little gauge, you add on ~$75. Turn than into 3 gauges, it'll be less than $450. Yeah, that price is high. However, you get a 14 channel, 12-bit resolution, 6.667 Ksps data acquisition logger, 3 gauges that can output the data faster than a mechanical gauge, and almost as many inputs as one of the top end systems on the market. Granted, I excluded 2 impulse inputs used for a tach or speedo or to monitor fuel injection. Either way, this will be less cost and easily more than an order of magnitude difference in performance that what's currently out there.