Close

Desktop Throttle Body Controller, part 1

A project log for LS1 / LS6 / LS2 / NW102 Drive By Wire

Why is it so hard to get a Nick Williams 102mm throttle body to work with a 5th generation Corvette?

nsfwNSFW 09/06/2021 at 00:250 Comments

Ingredients:

SparkFun ESP32 Thing - DEV-13907 - SparkFun Electronics

SparkFun ESP32 Thing Power Control Shield - DEV-14155 - SparkFun Electronics

Schottky Diode - COM-10926 - SparkFun Electronics (a dozen)

Some stackable headers

A 100uf or larger eletrolytic cap - I used 470uf, because I had one

Pigtail - AmazonSmile: ICT Billet LS Gen 4 Throttle Body Connector Pigtail DBW 6 Wire 

PCB / breadboard - https://smile.amazon.com/gp/product/B07ZYNWJ1S/

A power supply capable of delivering 12 volts, 1 amp continuous, 2-3 amps peak.

LS2 throttle body with silver blade. These sell for $300ish from various places. Do not get the gold blade version - they cost half as much but they are electrically incompatible.

Nick Williams 102mm throttle body. Also not cheap.

Reference:

These wire colors don't all match the pigtail wires, but the positions and labels are correct.

See the source image

Preparation:

Add all of the diodes to the power shield. This project only needs one channel, but think of the future.

Add the big cap.

Solder stackable headers on the ESP32

Solder stackable headers through the breadboard PCM so that you can stack it ont the Thing and use the side pins for wires from the pigtail.

The DBW motor ground and power go into the motor driver board's ground and channel 1 power.

The DBW sensor ground and power go into the ESP32's ground and 3V3 power.

The DBW sensor signals go into ADC2_1 and ADC2_2, pin numbers 0 and 2, which are at position 9 and 10 if you count up the side of the board.

And then I started writing code.

First I wanted to know, what do the ADCs say about the sensor signals when the throttle blade is at rest, or wide open, or when I push it closed? (Curiously, the throttle body is sprung to be open a few percent at rest.) And what are the sensor voltages? Answers:

int analog1Pin = 0;
// NW102
// Closed - 4.5v - 472
// Idle   - 3.7v - 386
// Open   - 0.4v - 170
//
// LS2 Silver
// Closed - 4.5v - 473
// Idle   - 3.7v - 392
// Open   - 0.4v - 169

int analog2Pin = 2; 
// NW102
// Closed - 0.5v - 040
// Idle   - 1.4v - 122
// Open   - 4.6v - 480
//
// LS2 Silver
// Closed - 0.5v - 037
// Idle   - 1.3v - 111
// Open   - 4.6v - 477

 Big disappointment right away. I had heard that some throttle bodies - like the aforementioned gold-blade LS2 throttle body - simply have sensor signals 1 and 2 swapped. So I was hoping I could just swap pins in the pigtail connector to make everything work. But these are actually very close.

Discussions