/PowerTune

Primary LanguageQMLGNU General Public License v3.0GPL-3.0

PowerTune

PowerTune is a Modern Gauge Display for written in QT5.8 and supports the following ECU's:

Additional ECU's supported via Daemon (these are items you can purchase from us)

  • Adaptronic Modular ECU's (Adaptronic CAN Protocol)
  • Haltech CAN V2 Protocol comapatible ECU's
  • Microtech CAN Protocol comapatible ECU's (LT9c,LT10c,LT15c)
  • Link G4 with CAN BUS ( via Haltech or Microtech Protocol)
  • VIPEC with CAN BUS ( via Haltech or Microtech Protocol)
  • Nissan Consult I
  • Holley EFI (CANBUS)
  • OBD II (Serial ELM327 Cable only)
  • GT86 BRZ FRS (CANBUS)

Testet Platforms :

Ubuntu 17.04 Windows 10 (CANBUS only on LINUX) Raspbian Jessie 2017-04-10 Raspbian Stretch

Implemented PowerFC variants:

Mazda :

  • "13B1 "
  • "13B-REW "
  • "13B-REW2"
  • "13B-REW3"
  • "13BT1PRO"
  • "13BR1PRO"
  • "13BR2PRO"
  • "13BR3PRO"

Nissan Power FC Variants

  • "NISSAN-L"
  • "CA18DET "
  • "SR20DE1 "
  • "SR20DE2 "
  • "SR20DE3 "
  • "SR20DE4 "
  • "SR20DET1"
  • "SR20DET2"
  • "SR20DET3"
  • "SR20DET4"
  • "SR20DET5"
  • "SR20DET6"
  • "RB20DET "
  • "RB25DET "
  • "RB25DET2"
  • "RB26DETT"
  • "VG30DETT"
  • "CA181PRO"
  • "SR2N1PRO"
  • "SR2N2PRO"
  • "SR2N3PRO"
  • "SR2N4PRO"
  • "SR201PRO"
  • "SR202PRO"
  • "SR203PRO"
  • "SR204PRO"
  • "SR205PRO"
  • "SR206PRO"
  • "RB201PRO"
  • "RB251PRO"
  • "RB252PRO"
  • "RB261PRO"
  • "RB262PRO"
  • "RB26Pro "
  • "RB26PRO "
  • "RB26PRO1"
  • "RB25PRO2"
  • "CA18T1-D"
  • "SR20T1-D"
  • "SR20T2-D"
  • "SR20T3-D"
  • "SR20T4-D"
  • "SR20T5-D"
  • "RB26_1-D"
  • "RB26_2-D"
  • "VG30TT-D"

Toyota Power FC Variants

  • "TOYOTA-L"
  • "1ZZ-FE "
  • "1ZZ-FET "
  • "2ZZ-GE "
  • "3S-GE "
  • "3SGET "
  • "1JZ-GTE "
  • "1JZGT-AT"
  • "4A-G1 "
  • "4A-G2 "
  • "1JGT1PRO"
  • "TOYOTA-D"
  • "4A-GE "
  • "4A-GE1 "
  • "4A-GE2 "
  • "4A-GE3 "
  • "4AGE1-TH"
  • "4AGE2-TH"
  • "4AGE3-TH"
  • "4E-FTE1 "
  • "4E-FTE2 "
  • "1JZGT-D "
  • "3S-GE1 "
  • "3S-GE2 "
  • "3S-GTE "
  • "3S-GTE2 "
  • "3S-GTE3 "
  • "1JZ-GTE2"
  • "1JZ-GTE3"
  • "2JZ-GTE1"
  • "2JZ-GTE2"
  • "4AGE1PRO"
  • "4AGE2PRO"
  • "4AGE3PRO"
  • "4EFT1PRO"
  • "4EFT2PRO"
  • "3SGE1PRO"
  • "3SGT1PRO"
  • "3SGT2PRO"
  • "3SGT3PRO"
  • "1JGT2PRO"
  • "1JGT3PRO"
  • "2JGT1PRO"
  • "2JGT2PRO"

Mitsubishi Power FC Variants

  • "4G63 "
  • "4G63-US "
  • "4G63-3 "
  • "4G63-5 "
  • "4G63-6 "
  • "4G63-7 "
  • "4G63D_US"
  • "4G63-D "
  • "4G63-D3 "
  • "4G63-D4 "
  • "4G63-D5 "
  • "4G63-D6 "
  • "4G63-D7 "

Honda Power FC Variants

  • "D15B "
  • "B16A1 "
  • "B16A-US "
  • "B16A2 "
  • "B16A1-TH"
  • "B16B "
  • "B16B2 "
  • "B16BT "
  • "B16B1-TH"
  • "B16B2-TH"
  • "B18C "
  • "B18C-US "
  • "B18C2 "
  • "B18CT "
  • "B18C1-TH"
  • "B16A1PRO"
  • "B16A2PRO"
  • "B16B1PRO"
  • "B16B2PRO"
  • "B18C1PRO"
  • "H22A "
Tested Vehicles Apexi PFC :   ECU Variant: FC Hako:     FC Datalogit: Confirmed by :
Mazda RX7 FD3S   (13B-REW)       Markus Ippy
Toyota MR2 (3S-GTE3)        Tolis Kofoglou
Toyota MR2 (3S-GTE )          Juan Pena
Nissan Skyline R33 GTST ENR33 (RB25DETT)      Michael Kwaaitaal
Nissan Skyline R32 GT-R BNR32 (RB26DETT)      Alpheus Booth
Toyota Soarer (1JZ-GTE3)      Kieron Sandhu
    (SR20DET1)      Damian James Holmes

Adaptronic Variants :

  • Adaptronic Select series:
  • All variants
  • Adaptronic Modular series :
  • All variants
Tested Vehicles Adaptronic:   ECU Variant: Interface:     Confirmed: Confirmed by :
Mazda RX7 FD3S   (13B-REW) Select Plugin S8* Serial   Bastian Gschrey
Mazda RX7 FD3S   (13B-REW) Modular    CAN (PICAN2)   Bastian Gschrey

Nissan Consult :

Soon to be tested :     ECU Variant: Variant:     Confirmed: Confirmed by :
Nissan Silvia S14 (SR20DET1)   Nistune

Haltech V2 Protocol:

Tested Vehicles :   ECU Variant: Interface:   Confirmed: Confirmed by :
Mazda RX7 FD3S   Haltech Elite 2000   CAN (PICAN2)   Bastian Gschrey
Mazda RX7 FD3S   Adaptronic Modular   CAN (PICAN2)   Bastian Gschrey

Microtech CAN Protocol:

Tested Vehicles :   ECU Variant: Interface:   Confirmed: Confirmed by :
LINK G4   CAN (PICAN2)   Damian Holmes
Mazda RX7 FD3S Microtech LT9c   CAN (Modtronix im1   Jaques Hanekom

Implemented Features :

  • Remote control GoPro Recording on off
  • Logging to CSV file
  • Differential Aux input Settings for Power FC
  • GPS for NMEA 0183 compliant devices via Serial (Tested with BU-353S4 GPS Mouse)
  • Switching between metric and Imperial values

Build a Raspberry Pi image with Buildroot:

This was tested on Ubuntu 17.04

$ git clone https://github.com/MarkusIppy/buildroot.git
$ cd buildroot
$ make powertune_rpi3_defconfig

If you use another screen than the official pi Screen , edit the following file

$ nano /buildroot/board/powertune/rpi3/rootfs/profile.d/qt5-env.sh

Press "Ctrl+x" when you finished modifing the file and plress "y" to save

$ make

This will download all required sourcecode into a seperate folder called "dl" Once the compilation has finished it will create a pi image called "powertune.img" in the folder /buildroot/output/images

Flash the image to your SD card ( you can user Etcher or do it via command Line ) Etcher can be downloaded her https://etcher.io/

The image currently has a boot time of approx 17 seconds until PowerTune is starting ( i am still working on optimization )

About the image : The username and password are :

user: pi pw: raspberry

Not all linux commands are supported and there is no need to use sudo

Should you wish to use Wlan :

  • quit PowerTune

  • Log in with user and password from above

  • Switch to root user $ sudo su root

  • Type the following:

$ wpa_passphrase "YourSSIDHere" "YourPasswordHere" >> /etc/wpa_supplicant/wpa_supplicant.conf

  • Replace your WLAN SSID and Password Above

Pro-tip: edit the file and delete the line: #psk=YourPasswordHere

$ reboot

Now your pi will always log into WLAN at boot

Build your own Debian Stretch image:

On a fresh Debian Stretch image build QT5.8 I made some scripts here :

https://github.com/MarkusIppy/QT5.x-raspbian-stretch

Now download the sourcecode for PowerTune

$ git clone https://github.com/BastianGschrey/PowerTune.git

Your source code is now available in /home/pi/PowerTune

Now creade a directory where we compile and start PowerTune from :

$ sudo mkdir /opt/PowerTune
$ sudo chown pi:pi /opt/PowerTune

Compile PowerTune:

$ cd /opt/PowerTune
$ qmake /home/pi/PowerTune/PowerTuneQMLGui.pro
$ make -j4

now PowerTune is installed in /opt/PowerTune

Create a start script for PowerTune :

$ sudo nano /home/pi/startPowerTune.sh

Insert the following text into startPowerTune.sh

export QT_QPA_EGLFS_PHYSICAL_WIDTH=155
export QT_QPA_EGLFS_PHYSICAL_HEIGHT=86
/opt/PowerTune/PowerTuneQMLGui

save the file by pressing "ctrl"+"x" and then press "y"

Make the script executable :

$ sudo chmod +x /home/pi/startPowerTune.sh 

Test the script

$ ./startPowerTune.sh

Now we can build ourselfs a update script for PowerTune

$ sudo nano /home/pi/update.sh

Insert the following into the file

cd /home/pi/PowerTune
git pull
cd /opt/PowerTune
qmake /home/pi/PowerTune/PowerTuneQMLGui.pro
make -j4

save the file by pressing "ctrl"+"x" and then press "y"

Make the script executable :

$ sudo chmod +x /home/pi/update.sh 

Making PowerTune Autostart at Boot

Create a sercive to launch the startPowerTune.sh script at boot

$ sudo nano /etc/systemd/system/PowerTune.service

Insert the following text into PowerTune.service

[Unit]

Description=PowerTune

[Service]

Type=simple

ExecStart=/home/pi/startPowerTune.sh

[Install]

WantedBy=multi-user.target

Test if the script works:

$ sudo systemctl start PowerTune.service

If PowerTune is launching, quit PowerTune

Now enable the script

$ sudo systemctl enable PowerTune.service

Reboot your pi and you should see PowerTune starting at boot

$ sudo reboot

12.Launch a custom video at boot with OMXPlayer

$ sudo nano /etc/systemd/system/bootsplash.service

Copy the following content into the file and save it ( this example assumes you have a video called "bootvideo.mp4" in the folder: "/home/pi/" :

[Unit]
Description=BootSplash
DefaultDependencies=no
After=local-fs.target
Before=basic.target

[Service]
Type=simple
ExecStart=/usr/bin/omxplayer -b /home/pi/bootvideo.mp4

[Install]
WantedBy=getty.target

Test if the script works:

$ sudo systemctl start bootsplash.service

If the video is playing , then enable the script:

$ sudo systemctl enable bootsplash.service

Reboot your pi and you should see your video at boot

$ sudo reboot

if you want to create your own Dashboards here are the possible Sensors ( not every car supports every Sensor):

QML Sensor Inputs: Description
Dashboard.revs RPM
Dashboard.Intakepress
Dashboard.PressureV MAP Sensor Voltage
Dashboard.ThrottleV Throttle Voltage
Dashboard.Primaryinp
Dashboard.Fuelc
Dashboard.Leadingign Leading ignition degree
Dashboard.Trailingign Trailing ignition degree
Dashboard.Fueltemp Fueltemp
Dashboard.Moilp Oil pump
Dashboard.Boosttp Precontrol Duty %
Dashboard.Boostwg Wastegate Duty %
Dashboard.Watertemp Water temperature
Dashboard.Intaketemp Intake temperature
Dashboard.Knock Knock
Dashboard.BatteryV Battery Voltage
Dashboard.speed Vehicle Speed
Dashboard.Iscvduty
Dashboard.O2volt O2 Sensor Voltage
Dashboard.O2volt_2 O2 Sensor2 Voltage
Dashboard.Secinjpulse Secondary injector pulse width
Dashboard.InjDuty Injector duty %
Dashboard.pim
Dashboard.EngLoad Engine Load %
Dashboard.MAF1V MAF 1 voltage
Dashboard.MAF2V MAF 2 voltage
Dashboard.injms
Dashboard.Inj
Dashboard.Ign
Dashboard.Dwell
Dashboard.BoostPres
Dashboard.BoostDuty
Dashboard.MAFactivity