ROSINA

Guide · Speeduino

EGT on Speeduino

Speeduino reads an exhaust gas temperature amplifier on a spare analog pin, set up as a local auxiliary input. This guide covers the wiring, the TunerStudio setup, and turning the reading into °C. It uses the EGX5 and EGX12. With any other linear 0–5 V amplifier, only the scaling numbers change.

Menu names checked against Speeduino firmware 202501.7, its TunerStudio definition file and EFI Analytics' TunerStudio documentation, September 2026.

00What you need

01Pick an input

Speeduino can read up to 16 extra inputs. TunerStudio picks them by pin name: A0 to A15 on Mega-based boards.

02Wire it

EGX MODULE Yellow + Red − TYPE K PROBE MINI-K SOCKET Red — supply Black — ECU ground White — analog pin TO SPEEDUINO
Probe on one side, three wires to Speeduino on the other.
Output wires
WireEGX5EGX12
Red5 V sensor supply, the same 5 V that feeds the TPSSwitched 12 V
BlackECU ground (sensor ground if your board has one)ECU ground (sensor ground if your board has one)
WhiteThe analog pin you pickedThe analog pin you picked

Probe side

03Set up the input in TunerStudio

  1. Open Accessories → Local Auxillary Input Channel Configuration. TunerStudio spells it that way.
  2. Pick a free row, AUX Input 0 to 15, and set it to Analog_local.
  3. Give it an Input Alias, such as EGT. The alias names its gauge.
  4. Set Pin No to the pin you wired.
  5. Burn the change, then restart Speeduino. It only sets up aux inputs at power-on, so the new input may read 0 until then.
  6. Right-click a gauge on the dashboard and pick your alias from Auxiliary Input Channels.

That gauge shows a raw count from 0 to 1023, not a temperature. The next step turns it into °C.

04Turn counts into °C

Speeduino reports an aux input as a raw count from 0 to 1023 and doesn't scale it. On Mega-based boards and the Dropbear's spare inputs, 0–5 V reads as 0 to about 1023. The conversion happens in TunerStudio, and needs TunerStudio MS Ultra.

EGX5   °C = counts × 1000 ÷ 1024 · 0.977 °C per count
EGX12  °C = counts × 1250 ÷ 1024 · 1.221 °C per count
  1. Open Tools → Custom Channel Editor, right-click Output Channel and add one.
  2. Choose Advanced and enter auxin_gauge0 * 1000 / 1024 for an EGX5, or auxin_gauge0 * 1250 / 1024 for an EGX12. Aux input 0 is auxin_gauge0, input 1 is auxin_gauge1, and so on.
  3. Add a Gauge Template and a Data Log Field for it. The channel then appears in the gauge right-click menu and is logged with every datalog.

The conversion lives only in TunerStudio. Speeduino still sees counts, so anything that runs on the ECU itself, like a programmable output, works in counts.

Counts at a glance
EGTEGX5 voltsEGX5 countsEGX12 voltsEGX12 counts
100 °C0.50 V1020.40 V82
300 °C1.50 V3071.20 V246
500 °C2.50 V5122.00 V410
700 °C3.50 V7172.80 V573
850 °C4.25 V8703.40 V696
900 °C4.50 V9223.60 V737
960 °C4.80 V9833.84 V786
1000 °C4.00 V819
1100 °C4.40 V901
1250 °C5.00 V1023

A dash means past that model's range. 1023 is the top of Speeduino's scale. No Ultra? Read the count off the aux gauge and look it up here.

05Optional: a high-EGT light

Speeduino can switch an output from an aux input, which makes a simple warning light.

  1. Open Settings → Programmable outputs, pick a rule and a free output pin.
  2. Set Condition 1 to your input, listed as Aux in 0 to Aux in 15.
  3. Choose > (greater), and enter the count for your limit from the table above.
  4. Burn, then restart Speeduino. It sets up output pins at power-on too.

This rule compares counts, not °C. Wire the lamp the way your board's documentation shows for that output.

06If something's wrong

The gauge stays at 0
Check that the row is set to Analog_local, the pin number is right, and Speeduino has restarted since you burned the change. Also check the pin isn't used by anything else, and that the white wire is connected. I/O Error! shows for some pin clashes, not all.
It reads near the top of the scale on a cold engine
The probe is unplugged or open. Both modules drive their output high when the probe circuit is open, so an open probe reads hot, not cold.
The reading jumps with revs, fans or the alternator
You have a grounded probe, or the black wire is on chassis ground. Fit an ungrounded probe and use a ground at the ECU.
It reads high once the engine bay heats up
The module is mounted somewhere too hot, or there's copper wire between the probe and the module.
The raw aux column is missing from your log
TunerStudio only logs raw aux inputs when secondary serial or CAN is on. Log the converted channel from step 4 instead.
Every reading is a few percent off
On a Mega-based board, the processor measures against its own 5 V supply. If that supply sits at 4.90 V instead of 5.00 V, every temperature reads 2 % high: about 18 °C at 900 °C. Measure the 5 V sensor supply with the engine running, then scale the formula to it. For an EGX5, replace 1000 with 200 × your reading (4.90 V gives 980). For an EGX12, replace 1250 with 250 × your reading (4.90 V gives 1225).