PowerTune is a Modern Gauge Display for written in QT5.8 and supports the following ECU's:
- 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
- "13B1 "
- "13B-REW "
- "13B-REW2"
- "13B-REW3"
- "13BT1PRO"
- "13BR1PRO"
- "13BR2PRO"
- "13BR3PRO"
- "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-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"
- "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 "
- "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 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 |
Soon to be tested : | ECU Variant: | Variant: | Confirmed: | Confirmed by : |
---|---|---|---|---|
Nissan Silvia S14 | (SR20DET1) | Nistune |
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 |
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 |