Friday, December 30, 2022

Magneti Marelli IAW 1AP.x running Speeduino

 Hello friends,


this is a Speeduino based project regarding the modification of Magneti Marelli IAW 1AP ecu's to run on Speeduino firmware. These ECUs are found on several cars, but the board Layout is pretty much the same.


Speeduino is a powerful yet economy DIY totally open source (Hardware and firmware) Engine Management System (EMS) growing all the time and new features are added regularly. 

  • Support for 1-8 cylinder engines
  • Fully interpolated 16x16 Maps
  • Open and closed loop boost control
  • Extensive list of supported crank patterns
  • Detailed and high speed logging
  • VE Analyze Live ('Autotune')
  • Secondary map switching

The process brings to mind the old-times where we used to hard-wire PlayStation boards with modchips. 

It requires soldering - desoldering skills and tools.

BEWARE!: you have to desolder both CPUs and EEPROM, you cannot undo the modification of your ECU. It is recommended to find a spare used ECU


All the work is a reverse-engineering method made by myself using a multimeter, an oscilloscope and some experience ;)


Best regards to my friend Dimitris Manolakis who inspired this project, donated his engineer knowledge and his car for tests

Voila!


The IAW 1AP.x board layout



ECU Connector Pinout





Signals on pads and vias







Controlling Idle Air Stepper motor

Marelli IAW controls IAC stepper motor directly from engine management CPU through L9122 stepper driver (component no.1 on board layout photo). I couldn't manage to find online specs and pinout of L9122, so I made my own schematic with a logic table.

Note that pin4 and pin12 of L9122 are connected together on the pcb, they will be handled as one signal named IAC DRIVER ENABLE pin


 
There are 2 options in order to control IAC from Speeduino Either you desolder L9122 and hardwire DRV8825 on the pins 6,7,9,10 of L9122 or keep L9122 and use L297 stepper controller.

L297 stepper controller




(Post will be updated with the L297 stepper motor controller and how it is connected between Atmega2560 and the stepper driver of Marelli ECU)

Tuner Studio Settings for the Marelli Ouputs






5 comments:

  1. Hi happy new year, tanks for all you work in this project,
    i have a question , L297 direction pin is the IAC DRIVER CHANNEL A or B ?
    thanks a lot :)

    ReplyDelete
    Replies
    1. Post will be updated with schematics. L297 has to be driven in "Normal drive mode (also called "two-phase-on" drive) is selected by a low level on the HALF/FULL" as per L297 datasheet. Channel A and B are connected to L297 outputs. Speeduino D17 goes to CLOCK pin of L297 BUT it is supposed to drive DRV8825 with a positive pulse, so either you invert it in software or with a hex inverter. D16 goes to pin CW/CCW of L297 (we dont care if positive or negative, direction can be reversed in tunerstudio). D24 of speeduino goes to both IAC enable and L297 enable pin but also has to be inverted in software or externally cause it is supposed to drive DRV8825 that wants a negative signal

      Delete
    2. This comment has been removed by the author.

      Delete
    3. This comment has been removed by the author.

      Delete
    4. ok thx but i also don't use idle motor :) i go try today the speeduino Magneti Marelli IAW 1AP on my car

      Delete

Magneti Marelli IAW 1AP.x running Speeduino

 Hello friends, this is a Speeduino based project regarding the modification of Magneti Marelli IAW 1AP ecu's to run on Speeduino firmwa...