Sparkdog PF-DI Daughterboard for Rabbit ECU
The base Rabbit ECU is an Arduino compatible ‘shield’ that makes it easy to create a DIY ECU with Arduino Due as the controller. The base Rabbit ECU can run a 4 cylinder engine with fully sequential injection and ignition and has some simple I/O to spare.
This setup is great for throttle-body and port fuel injected engines. But because of the I/O limits of the Due, variable cam control, direct injection, fuel pressure and electronic throttle control are not possible.
The Sparkdog PF-DI extension overcomes these limitations by adding additional I/O drivers and using a Teensy 3.5 controller in place of the Arduino Due.
The Rabbit ECU becomes a lot more powerful with the Sparkdog PF-DI extensions, adding:
- 4 x high side high pressure injector drivers that can supply both boosted and 12V to up to 4 injectors
- 2 x low side high pressure injector drivers that can multiplex fire up to 4 injectors
- 2 x H-bridge drivers that can power electronic throttle or any other reversible DC motor actuator
- 2 x low side VVT phaser drivers, in conjunction with existing Rabbit ECU drivers can control up to 4 VVT channels
PWM mode injector drivers
It is important to control the high pressure injectors in peak-hold PWM mode. The injector is supplied with boost voltage on the high side and switched to ground for a few hundred microseconds on the low side to rapidly build up the solenoid current. A lot less current is required to keep the injector open, so it is supplied with 12V on the high side and PWM switched to ground on the low side.
Using this technique, the injector can be accurately controlled and consume as little power as possible. For now, the PF-DI daughter-board uses an external DC-DC converter for the boost voltage supply.
Direct injection generally fires for a much shorter duration than port injection, partly because the window of time that injection can occur is limited to a part of intake and compression stroke.
There are two modes of injection commonly used:
- Homogeneous charge mode – fuel is injected during the intake stroke to completely fill the cylinder with an even mix of fuel and air, typically at 14.7 air-fuel ratio.
- Stratified Charge Mode – fuel is injected during the compression stroke and forms a pocket of air fuel mix that is ignited close to the spark plug.
Rabbit ECU with Sparkdog PF-DI is concentrating on homogeneous injection. This is very common for GDI vehicles because it avoids the problem of excessive NOx emission in stratified mode.
Like most GDI electronic drive systems, Rabbit ECU with Sparkdog PF-DI uses a multiplex arrangement where a common grounding circuit fires two direct injectors, but at different times. This is done to reduce complexity and cost.
In the diagram above, the injector fires every second low switch event (pink), because the high side (red) is disabled every other event.
PWM mode fuel pressure solenoid driver
Another feature of GDI engines that adds complexity is the use of variable and high pressure in the GDI fuel rail.

Test Application Golf GTI MK6
The test car uses a Volkwagen GDI EA888 engine.
To fit the Rabbit ECU, the original Bosch ECU was removed, and a plug-and-play harness was made. It is hoped that the Rabbit ECU can control all of the functions of the OEM ECU.
Here is some video of the engine fast idling well for the first time, with no throttle control. You can follow the progress of the Rabbit ECU project and the Golf GTI MK6 here at the Facebook page.
Hi ,can I use it for a single cilinder 2stroke with overboost.?
I have two spark plugs on it.
Thanks
Hi Matthew,
I would like to buy one Rabbit ECU RG1.
Maximum peak voltage is 80V ?
Maximum peak current is ?
Best regards,
Robert
Hi Robert,
I just received the PCBs for the RG1 PF-DI – the add on board that has GDI drivers.
Because this is DIY project the voltage boost is limited to a safe 50V but could be increased if needed.
For the EA888 GTI test car the peak current is 10A and the hold current is 2.5A.
I hope to get the new PCB up and running soon – hopefully it will work well and be available soon!
Schematics are here:
https://github.com/RabbitECUProject/Sparkdog-PF-DI-V2/blob/main/Outputs/PF-DI%20V1_2%20Schematics.pdf
Hi Matthew,
is it possible to buy the RG1 PF-DI now?
Regards,
Robert
Hi Robert,
I am testing and developing code so the system is reliable and robust. I can provide the PF-DI V2 PCB if you have a Rabbit ECU and want to try one out. It is DIY I don’t expect to have any PCBs assembled just yet until the design is 100%
Hi Matthew,
yes, I would like to try one out. So I buy a Rabbit ECU on Tindie and you provide the PF-DI V2 PCB. That is ok for me.
Best regards,
Robert
Hi Robert, Great 🙂 I will ship the Rabbit ECU ASAP and let you know shortly when a PF-DI V2 is ready to go! Cheers.
Hi Matthew, i talked to you on youtube about the teensy 3.5. I would like to buy the RabbitECU v1.4, without arduino due, and with the SPARKDOG PF-DI DAUGHTERBOARD for teensy. This combo is not available on tindie.
Hi yes that is correct – sadly the parts for the Teensy 3.5 board are scarce and I can’t sell them in the foreseeable future. I am working on other options – hopefully later this year I can offer an alternative.
Perfect open source ECU for a boosted 2J project with the additional fuel/ignition controls like Peter mentioned
Looking forward to future development!
PJRC expect to have a limited number of Teensy 3.5 by November 8.
That’s fantastic Peter – I will order some if there are any left 🙂
Highly professional аnd accurate work