Instructables

Arduino Throttle Body Syncronization Shield

Featured
A common Motorcycle maintenance task is to synchronize the throttle bodies on the engine to smooth out any rough idle.  This is done by monitoring the vacuum on each throttle body and using the idle screw to make the adjustment.

While this sounds rather advanced, with a little knowledge, a few standard tools to access the engine, and a TBS tool (Throttle Body Synchronization); the maintenance item really isn’t that hard.

Now you can buy a tool or build a TBS tool using fluids and tubes (there are examples of this out there on the interwebs), but I wanted to use an Arduino and some electronics to build my own to do the job.  This instructable describes my journey in making my own Arduino Throttle  Body Synchronization shield.
 
Remove these adsRemove these ads by Signing Up

Step 1: Research

A TBS tool is rather simple in what it does; it will measure the vacuum that each cylinder is actively producing when the engine is running.  To measure vacuum with an Arduino I needed to build a shield that would contain a vacuum sensor for each cylinder on my engine (4 in my case). 

There are many vacuum sensors available from your favorite electronics parts stores.  The interesting range that I need to measure is around -33 kPa (-4.78 psi).  This is the value that should be measured on my motorcycle on a single cylinder when the engine is warm and at idle.  You should consult a service manual for the specifics for your engine.  So I picked one that measured a range between 0 kPa to -50 kPa.

Then I needed to understand how to connect this to my engine.  The service manual helps here also, but I also found many great write ups on the web.  I just needed some standard engine vacuum hose with an inner diameter of 1/8th inch which will push onto a service nipple already present on the throttle body.  This same hose will directly push onto the vacuum sensor.  I found this in bulk at my local automotive store.  I needed four hoses each with at least 3 feet length so I could put the Arduino and sensors in a safe place.
flaquito1 year ago
Very nice! What was the part number for the sensors that you used? Also, any chance of sharing your code for either the Arduino or the PC? (Preferably both... :))
Makuna (author)  flaquito1 year ago
Thanks,

Look for an update to the article in next day or so, I will include the part number for the sensor and few other requests.

I am planning on having a follow-up Instructable that will include more of the software side of this project with explanations; where more of the code will be shared.
maxpcuser3 days ago

That is very impressive. Awesome Job.

kingofsteel3 months ago
Any modifications was done after 1 year? is possible to see final product?
pipereed5 months ago
Hi there, have I missed the update? I'd be happy to buy the schematics or a complete SHEILD and code from you. This would be for my own personal use?
rch10 months ago
Most Excellent!!!
I want to build one of these for my 2 cylinder BMW to help balance the throttle bodies on it for smoother operation. I look forward to you sharing your source code for both the Arduino and the PC.
Very nice build.
tylermeredyk11 months ago
looks perfect for a custom boost gauge
bernie3081 year ago
Wow, very nice!!

Just a suggestion for future, what about using 4 rows of ~20 Led's. It will take some multiplexing but judging by your workmanship, you should have no trouble making this into a very portable unit!

Thanks for sharing.
foker1 year ago
The schematics and parts list both show 0.01 uf ceramic capacitors(surface mount 0603), but the link next to it takes me to C1608X7R1E103K (CAP CER 10000PF 25V 10% X7R 0603). Are these two items one in the same?
Makuna (author)  foker1 year ago
They are are the same. 10000 PF is the same as 0.01 UF. 10000 picofarad is the same as 0.01 microfarad. Its always strange when the manufacturers list a value one time using one value and then others use another value.

foker Makuna1 year ago
Thanks! I just got my parts in from Digi-Key and was wondering if you would mind sharing your eagle files. Me and a buddy are getting this bad boy going, and all we lack are the PCBs. Thanks!
eswayne1 year ago
Any more updates to this article. Could it be made to link bluetooth/wifi to your phone......to display results.....

Makuna (author)  eswayne1 year ago
Anything can be done with passion, time, and money.

I looked into using a smart phone but the investment of time wasn't worth it yet. If I got some investment money that will change.

The biggest issue with using a smart phone is which one? Andriod? iPhone? WP7? There is no one dev enviroment that works for all of them. Then how easy is to use serial bluetooth protocols (sometimes it just not exposed for app developers). Only Android supports USB to an Arduino so even a direct connect to a phone has limits (I don't own an Android phone either, or the custom Andruino to make this work).

Too bad there isn't a cheap "audio plug communications" kit out there. (see credit card readers for iPhone as an example).

Bluetooth and WiFi will require more hardware on the Arduino raising the cost.

No easy answers.






I would like to buy one set with the software from you.
hi can you provide me detail for some discussion

email: subrotradeindia@gmail.com
now you should connect servos to the idle adjust screws and package it all in a waterproof box, never sync your carbs again! that would be sweet. Great write-up!
Makuna (author)  bigpinecone1 year ago
Great minds think alike.

I looked into this and concluded it wasn't a good idea to mount it permanently. It is a pretty tight space under the gas tank where this is at and it gets pretty hot. There is a form fitting heat shield just above this area to protect the fuel tank and reflect heat. The servos would need to be real tiny and heat resistant. But the real issue is that the adjustments just don't get out of calibration very quickly to need it.

But I was thinking that if I could temporarily mount the servos, I could just hit a button and the computer would adjust everything for me. But it is very hard to even get the servos in place due to all the tubes for the inner cylinder adjustments.
yeah. my '78 xs400 has a lot more space around the carbs and their adjustments so it's a much more real possibility than on newer bikes. but you are right, they don't need to be adjusted much and it would be pretty pointless... but cool!
DouglasG11 year ago
What things did you put into the WPF application? Also could I use a regular widow form application instead?
Makuna (author)  DouglasG11 year ago
You could accomplish the same thing with Windows Forms application.

It is basically some serial communications protocol on top of the .NET serial interfaces; some pretty standard WPF UI, and a little averaging of the values for the red line in the graph.

Pro

Get More Out of Instructables

Already have an Account?

close

PDF Downloads
As a Pro member, you will gain access to download any Instructable in the PDF format. You also have the ability to customize your PDF download.

Upgrade to Pro today!