Wednesday, February 19, 2014

Hello again

Recently, I got an email from someone asking about the Miata ECU project.  It turned out that he works very close by where I work, so we met and talked over coffee.  I'd been so busy with other things (life, basically) that I hadn't really done anything with the project in a long time.  That in itself really didn't (and doesn't) bother me, but our meeting made me realize that others have taken an interest in the project, and that I've been remiss in keeping up this blog.  It's received a little over 10,000 page views, including over 500 last month, even though it's been over 2 years since I've written a project-related post.  So I do feel like I owe you some new posts.

While I really have not done much in the last year or so, there is a lot that I've already learned over the past couple of years that I haven't shared, so just catching everyone up will take up quite a few posts.

I left off with a series of posts about OBD modes.  I think next time, I'll just wrap up the remaining supported modes, so we can move on to more interesting topics.  If you have suggestions for topics of particular interest you'd like me to cover, please leave a comment!

13 comments:

  1. Wow, thank god i came up on this site.
    I've been searching on google to see if someone had the idea to hack the ecu of honda's..
    Thank god i'm not the only one!

    I still have to start with it, and my knowledge of this kind of software is not that great. But a man can have dreams ! ;)

    I want to see if it would be possible like on a formula car, you can shift gears (on an automatic car) with peddles on your steer or just simply hitting the space bar on your laptop/onboard computer.

    That would be awesome. Because the kickback is doing this through sofware (right?) i thought it would be possible..
    PS. i am driving an european civic from '99. So it is obd2.
    And i don't see any ads on your site.. so can't click.

    ReplyDelete
    Replies
    1. As I'm sure you've discovered by now, there is a ton of work on Honda ECUs. I'm almost positive you can find one for your car (if you even still have it!).

      Good luck!

      Delete
  2. hey, I have a genesis coupe 3.8 and there are only 3 companies that can tune the ecu. I'm just wondering if you could shed some light on why only 3 tuners exist for this car.

    ReplyDelete
  3. It's a nice-looking car (I think). My guess would be it's because there's not a very large market for it, and/or the ECU it uses might not be as easy to access. More likely the former than the latter; if there was enough money to be made, I'm sure more people would be trying.

    ReplyDelete
  4. Can you please expound more in detail how you managed to get your "obd2 beach head" from just analyzing the Serial Port Interrupt Vector? Although your car is different from ours, we need to see an example that's not high level, but low level. Like where are the sensors mapped in your ECU? RAM? Another Chip that talks to the processor? All other threads I've seen on other forums lean right up against explaining it, but always brief right over it while not explaining important details that we need to know.

    ReplyDelete
    Replies
    1. The Serial Port Interrupt Vector is important because the ECU uses the serial port to communicate via the OBD connector. Since you know the meanings of various standard OBD messages, you can follow the interrupt vector to the handler routine, figure out how it handles known messages and from there figure out which memory locations are associated with which sensor.

      For example, say you know the OBD code for "get MAP sensor reading." Then you look at the serial interrupt handler and figure out how it handles that command. It's going to grab some value out of memory and return it. That value is, of course, the MAP sensor reading.

      Delete
  5. Keep these updates going! I'm going to attempt something similiar on my Aristo JDM 2JZGTE ECU, and am absorbing your preferences and viewpoints/recommendations on how you are analyzing and reviewing the code.

    ReplyDelete
  6. Would you be interested in a project I'm looking to get into a Yamaha and an Arctic Cat ECU. You can email me at...ken@pushturbo.com

    ReplyDelete
    Replies
    1. Not really interested - too busy - but would love to hear about your project!

      Delete
  7. Hi, any updates lately? Have you made any more progress, or do you still even have the miata?

    I'm interested in how you make the jump from OBD reverse engineering to the meat of the engine calibration, such as fuel, spark, and VVT.

    ReplyDelete
    Replies
    1. Haha, reverse engineering is way harder than just modifying lookup tables. I don't know how other companies do it, but I'd be willing to bet that some of them just look for anything that looks like a lookup table and then modify it and see what happens. That doesn't take any understanding of the code at all - just experimentation.

      But if you really understand the code, you can do all sorts of stuff that goes beyond just modifying some maps.

      But to answer your question - by looking at the code, you will know what different lookup tables are used for. For example, you might discover that a 2D lookup table will map (RPM, throttle position) to fuel delivered. I don't know if there is a table like that, but you get the idea. Then just change the entries in the table to change the amount of fuel delivered.

      Delete
  8. Hi by any chance is this blog going to go on its been a while I understand.

    ReplyDelete
    Replies
    1. These days I'm posting very infrequently, but I will try to keep it going.

      Delete