Drive Accord Honda Forums banner
1 - 15 of 15 Posts

· Registered
Joined
·
28 Posts
Discussion Starter · #1 ·
I bought my 2010 Accord LX with manual transmission in 2013 over ebay (sight unseen) with 40,000 miles. I loved the handling and shifting quality, but the seats did not agree with me. The top edge of the seatback pushed against my upper back, and the headrest made my head tilt forward unnaturally. I like to sit up straight, not reclining back, and the seat just did not work for me. I showed up at work at least 4 times with a crick in the neck for several days because of the seat. I removed the headrest, and made a custom contoured seatback cushion to "correct" the "wrong" seatback profile, and it helped somewhat, but I could never get the seat to be comfortable for me.

Something had to be done. I decided to put a 1987 Mercedes 300E seats in my Accord. This has been a 3-year project that I just completed.

Mechanically getting the seats to fit was one thing, involving Sparco seat bases, custom-made steel brackets that were welded together, and a lot of fussing to get everything to fit and for the seat belts and buckles to be attached appropriately.

The hard part was the electronics. Each seat was connected to the car via 3 harnesses.

The driver's seat had buckle sensor, seat position sensor (to sense if the driver was very close to the steering wheel), and of course the side airbag connection.

The passenger's seat also had 3 connections: buckle sensor, side airbag, and the infernal ODS (Occupant Detection System). I reverse-engineered as much of it as I could to "fool" the car to think that all the proper sensors were connected and that the front airbag would work.

First, the driver's side:

A 2 Ohm resistor connected to the side airbag harness "fooled" the car to think it was still connected to the side airbag. Easy.

The position sensor was so that it could detect the nearest one inch of the track travel, so that the airbag would fire with less force if the driver was very close to the steering wheel. What a joke, it has only two states, "near" which means the first ONE INCH of the track travel, and "not near" which is the rest of the travel. Obviously a hare-brained scheme to satisfy the regulators while having absolutely no bearing to 95%+ of drivers! It was a hall effect sensor, but curiously, Honda managed to have only 2 wires, not 3 wires. I measured the voltage and current and "guessed" that a resistor in the range of 800 Ohm or less would work. I used a 470 Ohm resistor, and voila! The car thinks the sensor is working fine and the position is "not near," which is what I want.

Finally, I bypassed the seatbelt sensor on both sides. My wife does not always put the seat belt on right away, and the chime was annoying. Again, a hall effect sensor. Again, only 2 wires, not 3. I measured the volt and current and guessed that a 1000 Ohm resistor will work. And it did.


So that is what it took to bypass the electronics on the driver's side.

Now, onto the passenger's side, where the fun really begins.

Airbag: 2 Ohm resistor to bypass, easy.

Seatbelt: 1000 Ohm resistor to bypass, again, no problem.


Finally, the ODS. Ah, yes, the ODS, which includes the OPDS (the sensors in the seat back that detects the sitting height of the occupant). You can't just plug a resistor and call it a day. The ODS unit in the side of the seat back is a little computer in itself, and it communicates with the car via 4-wire harness. What those signals say, who knows?

But the ODS is connected to the seat in 2 ways.

First, there are 4 weight sensors at the base of the seat. I "guessed" that these are hall effect sensors. There are 3 wires to each sensor. Input is a constant 5 volts (NOT 12 volts, I found out the hard way after hearing a "pop" and burning out the sensor while testing it, result being that I had to purchase a whole new seat off ebay!). Second wire is ground. Third wire is output, and it measures like 1.5V to 3.5V or so, depending on the weight. Heavier the weight, lower the voltage! Normally the sensor puts out about 2.5V. I figured I could "fool" the ODS into thinking that it was connected to the weight sensors by hooking up some hall effect sensors that put out 2.5V when there is no magnet next to it.

Finally, the piece de resistance. The OPDS! These are the sensors in the seat back, which are thin flexible membranes. There are 7 sensors total, 6 on the back for the "height" and 1 on the side to make sure a child was not leaning into the path of the side airbag. They seem to be capacitive sensors. The resistance is 0, so they are not resistors. I bought a capacitance meter. The "height" sensors registered about 45 pF with no load, and 55 pF with load. The difference was truly tiny, measured in picofarads. The side sensor was even more finicky, measuring 158 pF with no load, and 161 pF with load. Holy cow, how sensitive does the measuring electronics have to be?

So I connected variable capacitors to the ODS, and "tuned" them to put out approximately the "right" values. I am tuning everything so that the airbag would fire as if there was an adult in the passenger seat, since only my wife (or another adult) would be riding in that seat.

All this took dozens, if not hundreds of hours of reverse-engineering, on a scale which truly boggles the mind. I mean, the complexity of these delicate picofarad-range sensors in a rough environment like a car! All this so the airbag is "smart" enough not to fire if there is a child or a child seat in the front seat. Rube Goldberg had nothing on these guys who designed it.

I hook everything up, and... the dreaded "airbag" light comes on.

I actually even bought a Honda HDS diagnostic system, the real deal with a Panasonic toughbook and the legit OBD-2 to USB connector, all costing more than a couple of thousand dollars used. I got the HDS to "see" what the car is "seeing" so I could reverse engineer the front seat electronics.

So it was disheartening to have the "airbag" light come on. I connect the HDS, and it gives me some error with ODS, also an error with OPDS, and something about the sensors not being right. Can't remember the exact wording on the screen. Basically, the car was not fooled by the fake sensors (hall effect sensors, capacitors).

Fortunately, the front airbag was "enabled," meaning it would fire in case of a crash. So at least it would work properly with an adult passenger. It will also fire with no passenger (no big deal for me) and it would also fire with a child or a child seat (gotta make sure nobody does this with my car, and if I ever sell it, I will put the OEM seats back in, calibrate it again, and return it to the factory state).

So now I know that my efforts to fool the car was not successful, but that the front airbag would still work. The "airbag" light on the dashboard did bother me. It is just a whole lot easier not having to explain it to the passenger ("Uh, that light? Don't worry about it. The airbag will deploy just fine." Passenger looks at me like I was out of my mind.)

I decided to put a black tape on it. I actually took the instrument apart as much as I could, and put a black tape on the BACKSIDE, so that from the front, it looks completely legitimate, can't tell at all. The only way to tell is that the airbag light does not come on during ignition, but that is a minor quibble, really.


After all is said and done, how does the W124 seat feel? Heavenly. It fits me like the designers knew my body exactly. It holds me on each side of the torso just right, so during turns and corners, I am not working to keep upright, the seat is doing that for me. For all intents, it feels like a giant baseball glove cradling me just right.

The W124 seats have some drawbacks. The front of the seat bottom cushion is too springy, and sags when weight is put on it. That makes it uncomfortable, as you are forever fighting the sense that your body is sliding forward. So I put some very nice custom hard padding pieces cut just right and stacked, inside the seats, IN ADDITION to the rubber/foam inserts that came with the seat (inadequate in themselves). The seat feels great.

Now, sometimes, the seat feels perfect. Other times, I could use a bit of lumbar support. So after all this Herculean effort, it's not always "perfect." But it is such a dramatic improvement over the torture chamber that came with the car. The tan leather also complements the charcoal interior very nicely.

Finally, I wanted leather steering wheel and leather shifter knob cover. I bought a used steering wheel with factory leather off ebay, so that part was easy.

The leather shift knob is my own handiwork, with automotive leather cut into precise pieces, and stitched together by hand. It is perfect. I would honestly say there is nobody in the world who could do such a nice job with leather.

People have asked me why I didn't just get a Mercedes, instead of going through all the trouble modifying a Honda. It's hard to explain, but it comes down to the philosophy of Honda, the mindset of the people at Honda who brought it into existence. The combination of reliability, handling, precision and ease of shifting, styling, everything makes the 8th generation Accord a pinnacle, in many ways, of what Honda could do. It just could have used some seats from a Mercedes or a Lexus.
 

Attachments

· pessimistic optimist
Joined
·
1,013 Posts
Did you own a Benz previously and know that the seats were a good fit or was this the most over-engineered leap of faith ever undertaken? They actually look really good in there, you did an outstanding job. Kudos to you for going a LOT farther than any of the others who have complained about the seats being uncomfortable.
 

· Registered
Joined
·
28 Posts
Discussion Starter · #8 ·
Have I owned a Benz previously? No. What I did was take a tape measure and measured the seat width in a late 80s Mercedes 300E that a co-worker owned. Then I ordered these seats off ebay. I remember when my wife and I took delivery of these seats at my workplace, as freight was cheaper to a business location. As I had a habit of showing up to work with a bad crick in the neck, my co-workers seemed to at least understand my motives, if not my method. A friend with a pickup truck helped bring them to my house, the seats still attached to the pallet. My wife was tempted to ride in the seat in the pickup bed, but then thought better of it. Nobody I knew had any idea how to make them work in a Honda, including me!
 

· Registered
Joined
·
222 Posts
For the sensor in the passenger seat back you could of just pulled it from the accord seat and installed it in the "new" seats with all the wiring and it would of worked fine

Mine is actually covered now we a heated seat pad and more padding and no lights.. Only difference is if I have someone leaning towards the door I no longer get the side airbag off warning like I did before..

pass occupancy works like normal

I bet you could of done the same for the position sensors and everything else minus the airbags..
 

· Registered
Joined
·
28 Posts
Discussion Starter · #11 ·
Could I have just peeled off the sensors in the seat back carefully and put them in the Mercedes seats?

I honestly weighed that option. There was nothing to prevent me from taking that route.

But I deemed that it would be even more work. There is the issue of pulling off the seemingly delicate sensors that are glued to the seat back foam. There is the problem of finding the right place in the Mercedes seats, what with the "hog rings" being in the inconvenient places. Then there is the issue of figuring out whether the sensor was picking up the height of the passenger properly. The Honda HDS does give the weight of the passenger in real time, but it does not seem to give the height of the passenger info.

That is the fundamental problem of reverse-engineering something like this. Ideally, it would be best to understand the nature of the sensor and how the OPDS unit "thinks." As it is, I have a fairly good guess at how the sensor works, but I am not 100 percent sure (Is it a single electrode sensor, or two electrode sensor, etc).

And as far as the OPDS unit is concerned, it is literally a "black box," meaning I have no idea exactly what its algorithms are, other than that vaguely, I understand that it reads voltage from the weight sensors, and it senses some "charge transfer time" or something of that nature for what I assume to be capacitive sensors in the back. I have no idea how the OPDS handles conflicts, such as if the weight sensors detect an adult, but the back sensors don't detect anything.

So yes, I could have pulled off the back sensors instead of trying to "fool" the computer with variable capacitors. But what of the weight sensors at the seat base? I really could not have used the Honda seat base with the Mercedes seats. The Honda seat base plus the weight sensors are a lot taller than the Sparco seat base. The Mercedes seat would have sat about 2 inches too high. Not a realistic option.

Bottom line is that the chance of success is probably higher if one understands the nature of the sensors and the computer that is reading them. That information just is not out there, at least not to the level of detail that would be helpful in reverse engineering. Secondly, these are very delicate electronic sensors, and it would involve a lot of testing and tweaking to work in a new seat. (For instance, attaching a different seat may induce some "twist" into the seat base that was not present before, and how would the weight sensors interpret this?)

My sense and experience is that in situations such as this, these sensors are far from the plug-and-play convenience that we are used to in the consumer electronics world.
 

· Car so nice, bought twice
Joined
·
4,733 Posts
So I'm getting different measurements than @emineid is. I can confirm that 3Ohms works fine for bypassing the yellow airbag connector and 2kOhms works fine for bypassing the seatbelt latch (2 pins).

10-15pF for the 4 in the seatback
65pF for the one in the side bolster.

However it looks like Honda did some sort of change for '11-'12 (I'm working with a '12 seat) where there is 1-2 fewer pressure plates (lacking a 4th connector going to the OPDS computer).

Automotive design Font Automotive lighting Auto part Parallel

Buuuuut I'm getting blocked at the moment by the serial number of the salvage OPDS computer being wrong (SRS DTC 81-64 and SRS DTC 85-64) (since it came out of a different car) and I don't think I can go through the initialization until I fix the weight sensors. (EDIT: I may have this backwards where you need to initialize with the back sensors faked before you can initialize the weight sensors)

Rather than faking hall-effects, I'm just extracting the real ones from the seat rails. 100% a destructive task and you need an e-torx socket.

(EDIT: it's likely these can be faked with a simple voltage divider. Pin 1 is 5V, Pin 2 is Gnd, Pin 3 (the pin on the side of the connector latch) is pulled up to 5V when it's disconnected and pulled down to 2.98V with no weight on them. It's easy to push on the sensor and get down to about 2.0V so 2.5V would likely be close to the weight of the seat with no one in it. So make a voltage divider circuit with 2 1kOhm resistors and tie Pin 3 between the two resistors to supply 2.5V sensor).

I have a dozen capacitors on the way and I'll plug them into the ODS tomorrow. It's very likely OP didn't get accurate measurements and wasn't following the initialization procedures right. I CAN CONFIRM that swapping back my OEM seat fixes the airbag light still at this stage. Even with all this messing around with other sensors and ODS computer.
 

· Car so nice, bought twice
Joined
·
4,733 Posts
Couple updates: You can't fix 81-64 (the serial number mismatch) unless you have the OPDS sensor values correct. The HDS ODS initialization will fail if it's wrong. I ended up partially disassembling my OEM seat and plugging in my actual seat pad into the scrapyard ODS module and it accepted it for initialization.

I can't fully get through ODS initialization because the SWS (seat weight sensor) voltages are not "correct" even though I have actual seat weight sensors plugged in from the salvage seat. My guess is that it's very sensitive for what range of voltage (weight) it will accept so just having the sensors laying out in the open with no seat on top of them isn't valid enough for initialization. I'll probably weigh the seat and put a dumbbell on the sensors.

Also I discovered my multimeter despite being Agilent and decent can't measure the capacitance ranges that the seat back is putting out because they're so low. So OP may have been correct when he was measuring 100+pF. However my multimeter measured something like 33pF when I attached 133pF of actual capacitors to it. I need to get accurate measurements from the seat if I'm going to have any chance of faking it.
 

· Car so nice, bought twice
Joined
·
4,733 Posts
Another update: I went full engineer (what my actual job is) . I measured all of the capacitance values from my OEM leather seat (put a 10nF capacitor in parallel with the seat pins to put my multimeter in a range where it has some accuracy) and did some extra functions to take a 30 second average measurement of the capacitance to filter noise (thermal noise, probes, etc. is noticeable when we're talking about picofarads of capacitance).

(looking from the wires to the male connector)
Bolster (separate connector): 160pF
Top Left pins: 84pF
Top Right: 68 pF
Bottom Left: 116pF
Bottom Right: 87pF

I don't know yet if plugging these numbers into the connector directly via capacitors will trick the system but I don't see why it wouldn't unless I measured wrong again. I ordered capacitors that are close to these values (there should be some tolerance allowed due to different fabric tightness and manufacturing of the sensors). I suspect OP measured inaccurately due to the small values and then put in capacitors that are too small for an unoccupied seat.

*Note these are unoccupied values. I may try to measure values with me sitting in the seat in case someone wants to be able to ensure the airbags fire if everything else in the system is correct....I think there is weight detected in the seat but the back sensors are "unoccupied" the front passenger airbag either fires slow or doesn't fire at all. Or it could be the opposite where in a crash it wants to see the backrest become unoccupied when the seatbelt is catching you and then it fires the airbag....I don't know. I'm pretty sure the seatbelt has a squib on it to tighten though when in a crash...I remember my passenger seatbelt being loose when the airbag deplayed in my first Accord)

Weight sensor values:

Seat weighs 56 lbs. on its own. You can't initialize the SWS/ODS system without some weight on the sensors so I put a 55lb dumbbell on all 4 of them so each one sees 56lbs/4 of weight). Once the initialization is done it seems the SRS system doesn't care if the sensors have no weight on them at all (no light on dash or DTC set). The HDS reports a negative weight.

Voltages:

Sensor by itself, no weight: 2.98V
Sensor with 1/4 * 55lbs on it: 2.89V
Sensor with ~150lbs on it: 2.72V
Result: 1.7333mV per pound of weight. It appears linear based on these two measurements. 2.5V in theory should register as 288 lbs if you try to do a voltage divider circuit (I tried a basic 2kOhm + 2kOhm one and measured something like 3.2V so there's some sort of pull-up resistor built into the ODS computer).

I haven't yet tried to see if I can run a single weight sensor instead of all 4 and tie all of the 4 input pins on the ODS computer together. It may use some sort of current sensing on the voltage source pins and complain that it's zero....god knows they've got so much error checking on this stuff I wouldn't put it past them.


Seatbelt values (assuming you have the ODS initialized and no SRS light):

2 pin connector:
2kOhm = Unbuckled = Front and Side Passenger Airbags disabled.
1kOhm = Buckled = Front Passenger Airbag disabled. Side Passenger airbag enabled. "Passenger Airbag Off" light on. The computer thinks there is a child seat in the passenger seat in this condition.

I suspect that if the Seatbelt = Buckled then the front airbag is controlled by the weight reported from the seat. The HDS has "small child" and "adult" categories so probably 50lb threshold or something (on top of the weight of the seat).
 

· Car so nice, bought twice
Joined
·
4,733 Posts
Final-ish update:

Alright I'm pretty defeated here. I've matched the capacitance values from the seat exactly within probably <5pF. Breadboard with stacked capacitors to tune it to exactly match the measurements I was getting from the seat back connectors. So even if my measurements were offset, they would be consistent at least when I'm doing back to back measurements.

The strips in the seat back are not straight capacitors. Elesys's documentation says it's some sort of electric field (EF) proximity sensor. It's effectively probably a capacitance sensor still where it doesn't care what force is on the seat but is "looking" for a body to be next to it, but there's also either an inductance value that I'm not able to measure with my equipment or the ODS computer is expecting some sort of "fuzzy" and quickly fluctuating value instead of a fixed capacitance value. The furthest I was able to get was able to make the SRS light turn off if I pinched in my hand the wires connecting my capacitors going into the ODS computer. As soon as I removed my hand the light would come on. So clearly the computer is expecting some sort of "noise" to be coming in that my body is able to induce on the wires when I'm pinching them. I played around a bit with wrapping the wires with another wire to act as an antenna and trying to put aluminum foil around them. No-go.

I could have probably spent forever longer trying different capacitance values. I did a couple hail-mary attempts of setting all the sensors to 300pF and 150pF but it didn't work.

Here's the last capacitance values used that didn't work. I also noticed that the value doesn't change based on pressure however if I do AC voltage measurement I can see a difference when my hand is near:
Bolster / Separate 2 pin: 144pF
Top Left: 75pF
Top Right: 73pF
Bottom Left: 105pF
Bottom Right: 81pF

My multimeter reported 0.68VAC coming from the ODS computer on these pins when unconnected at 68kHz....no idea if that means anything.

So here's the answer: just buy a scrapyard seat, disassemble it, steal the ODS computer, peel off the seatback sensors, mount them to some cardboard, and attach them back to the ODS computer. You can NOT initialize a new/used ODS computer if the ODPS values are wrong / unplugged and can NOT initialize the SWS portion if the weight sensors don't have some weight on them. If you're cheating via direct voltage divider: 2.89V on pin3. You will need a OEM harness unless you want to use a TON of jumper wires but it's doable. I also tried to connect a single weight sensor to all 4 inputs...it didn't work so there's probably current sensing on the four +5V supplies going into the sensors.

More specific procedure: Initialize the scrapyard ODS with the OEM sensor pads (2 connectors) and your own weight sensors connected to the main ODS plug (with 55lbs of weight on them). When you get to the screen that says "Put a known weight on the seat" just hit the exit button or else you'll get the SRS light complaining about the weight sensors not being calibrated. Then you can plug in your hacked sensor pads and weight sensors with no weight on them (like my picture below) and there shouldn't be any SRS light. Yes this procedure has to be followed or else you'll get a light...yes it's stupid.

Lastly I believe the airbags (even the front passenger) will still fire if the passenger seat is removed and the SRS light is on. All of this work is just to disable the SRS light. In order to disable the front airbag you need to put a 1kOhm resistor on the seat buckle connector and the OFF light will illuminate.

Here's the final configuration for a "seat" simulator. I stripped the harness to make it more manageable:
Bag Gas Font Electrical wiring Satellite phone
 
1 - 15 of 15 Posts
This is an older thread, you may not receive a response, and could be reviving an old thread. Please consider creating a new thread.
Top