• Category Archives Raspberry Pi
  • PiDash v04272020 with WiFi Direct and WiFi Network Transfers

    This will probably be the last version of PiDash I put out since I think it does what its supposed to do.

    The purpose of my PiDash is to allow users of EFI Source Gold Box/Megasquirt EFI boxes a PiDash you can put in your car to monitor/tune your vehicle for FREE (other than buying TunerStudio from EFI Analytics). The previous versions require some sort of Linux knowledge and the willingness to tinker in Linux. The problem is when people want a simpler turn-key solution, it might put off someone from using this and they’ll end up paying for something that isnt worth the price they paid.

    This version of my PiDash includes the latest BETA version of TunerStudio. You can use your registration code if you already have one to register this copy.

    PiDash v04272020 has the following:
    1. Fast boot like previous versions
    2. WiFi hotspot for direct connections to your PiDash
    3. SAMBA for transferring data to/from your PiDash
    4. WiFi networking to transfer files to/from you PiDash via a network

    Late Bug Fix:
    1. When running Enable Network, doesnt display IP address. Fixed it in “enablenet.sh”.


    NOTE:
    This works on a Pi 3B+. I’m using a Pi4 because its newer/faster.

    REQUIREMENTS:

    Raspberry Pi4 (2GB version is fine) $45
    16gb microSD card $6
    Longrunner 7″ touch screen $62
    Windshield mount (if thats what you’re doing) $15
    Raspberry Pi4 aluminum case with dual fans $25


    There is only ONE IMAGE available which covers both Longrunner 7″ Touchscreens and then stock displays.
    1. DOWNLOAD FROM THE PiDash Wiki page

    HOW TO CONFIGURE LONGRUNNER and YOUR DISPLAY:
    If you have a display other than Longrunner you may have to put in the correct settings in the config.txt file. If so, write the image to a 16GB microSD card (in Windows use Etcher) and edit the config.txt file with Notepad. Scroll to the bottom of config.txt and remove the “#” sign as stated in the pics below starting with “max_usb_current=1”. Then save the file, remove the microSD card, insert it in the Pi4 and boot it up.

    If you have different settings, you can put them in the config.txt file at the end INSTEAD OF uncommenting as stated above.

    04/30/2020 PLEASE SEE THE PiDash WIKI. THIS IS OUTDATED in VERSION 1.5.2.
    NETWORKING CONFIGURATION NOTE:
    You only use Config-WiFi *once* to configure your wireless settings. If you mess up, run it again and it will recreate the template for you to edit.

    04/30/2020 THIS IS OUTDATED SINCE V1.5.2. NEW VIDEO WILL COME OUT SOON.
    The video below shows the features and how to enable WiFi Direct and WiFi via network access.
    Any issues, just comment and I’ll review.

    Here are some pics of the latest 80 mile round trip to the parts store for some NGK BR7EF spark plugs. Had someone take pics of the engine compartment, crusin with Federales (LOL) and of course, the PiDash showing my 19MPG. 🙂



    80 mile round trip to the parts store
    Crusin’ with the Federales. LOL
    PiDash showing my turbo car with its 19mpg. 🙂

  • New PiDash coming out soon.

    What I’m trying to do is make it super easy to get your PiDash on your network so you can download logs, upload a new tune, upload a new dash you bought/designed etc. Here is a demo of it working in my Turbo Camaro.

    One thing to note is, TunerStudio saves the date/time in the filename. Since the date/time is not correct on my PiDash or yours unless you have a Real Time Clock installed, it shows the wrong date in the filename. This can be confusing. I recommend copying your logs off of the PiDash and deleting them off of the PiDash once you finish copying.


  • Updates to the PiDash ready for download

    Next version of the PiDash 04/23/2020. Why pay $250 or more when you can get it for cheaper with a little bit of elbow grease?

    There will be more changes to the .img files as new ideas are thought up. I’ll create new posts when a feature is added along with a changelog.

    My rig:


    Requirements:
    Raspberry Pi4 (2GB version is fine) $45
    16gb microSD card $6
    Longrunner 7″ touch screen $62
    Windshield mount (if thats what you’re doing) $15
    Raspberry Pi4 aluminum case with dual fans $25
    Optional:
    10Hz GPS $70

    Changes:
    1. Installation of DietPi with only LXDE and Java.
    2. LXDE does NOT autoload.
    3. Runs TunerStudio Beta demo version using X11.
    4. On exit of the beta version, PiDash will automatically shut down*

    DOWNLOAD HERE **ONLY** IF YOU ARE USING THE LONGRUNNER 7″ TOUCHSCREEN
    DOWNLOAD HERE IF USING A DIFFERENT DISPLAY
    If your display doesnt work when booting, its because the config.txt on your image needs to have the correct settings in there for your display. Comment below and I’ll walk you thru it or build an image that will work. Please provide which display you’re using or the settings your display needs.

    NOTES:
    Default username: root
    Default password: dietpi

    You can change this if you want from the command line.

    *If you exit TunerStudio, it will automatically shut down your PiDash. If you register TunerStudio ULTRA you can create a button that will exit, assuming you have a touch screen or a mouse hooked up. Its better/easier/less hassle if you use a touch screen. Here is the one I am using which is on AMAZON.

    REGISTRATION/ENABLING TunerStudio:
    If you already have TunerStudio registered, you will need to enable it.

    Pre-requisites for NON-ULTRA USERS:
    1. Tuner Studio shuts down on exit. If you want that feature, skip step 2.
    2. If you DO NOT want your NON-ULTRA version of TunerStudio to shut down automatically on exit go to the TunerStudio ULTRA users portion. That part explains how to remove the auto shutdown on exit.
    3. Need to enable networking, skip to the Enabling networking section.

    TunerStudio ULTRA users, I will ASSUME you will create a button or something that you can click or touch to shut down your PiDash:
    **IF YOU PURCHASE TS Ultra, I believe only the BETA version has this shutdown feature. If so, you will need to log in and do the following to disable my shutdown after exit since you will be using a button or similar to shutdown:

    cd /var/lib/dietpi/dietpi-autostart
    nano custom.sh


    This will bring up an editor. Remove the line at the bottom that says the below. That is a shutdown command.
    init 0

    CTRL X to save.
    Press Y to save and then RETURN when it gives you the filename, do not change that name.

    Once out of the editor, reboot by typing this:
    init 6

    Do not forget to create a button or similar in Dashboard Designer and assign the “single click” to shut down.

    Enabling networking for all TS Users:


    Plug in your network cable. Power on the PiDash. TunerStudio autostarts. You will need to jump to a terminal session. Get your keyboard out and press and hold CTRL-ALT-F1 keys. The screen will turn black with a bunch of text. Hit return once.
    Default username is: root
    Default password is: dietpi


    Once at a prompt type the following:
    systemctl start systemd-timesyncd
    systemctl enable systemd-timesycd
    systemctl daemon-reload


    Once complete, type:

    dietpi-config

    Select option #7
    Select Ethernet and hit return

    You will see a message stating Ethernet must be enabled.
    Select OK and hit return.

    Next prompt states “would you like to purge all wifi …”
    Select OK

    Stuff starts happening.
    Select “Apply: Save all changes….” and hit RETURN

    Do you wish to apply settings and reconnect.
    Select OK to that prompt and the next wifi prompt.

    Once you are back to the Dietpi Config screen:
    Tab to “Back” and hit return. You will do this twice.

    At the Main options screen select EXIT.
    At “Exit Dietpi-Config?” select OK.

    You have now successfully enabled networking and timesyncd. Next command, restart the PiDash by typing:
    init 6

    After reboot, TunerStudio will load. Enter your registration info. Once complete, disable timesyncd and networking that way the system starts up quick again.

    DISABLING networking for all TS Users:

    Plug in your network cable. Power on the PiDash. TunerStudio autostarts. You will need to jump to a terminal session. Get your keyboard out and press and hold CTRL-ALT-F1 keys. The screen will turn black with a bunch of text. Hit return once.
    Default username is: root
    Default password is: dietpi

    Once at a prompt type the following:
    systemctl stop systemd-timesyncd
    systemctl disable systemd-timesycd
    systemctl daemon-reload

    Once complete, type:

    dietpi-config

    Select option #7
    Select Ethernet and hit return

    Select Disable: Disable Ethernet Adapter
    Select OK and hit return.

    Next prompt states “would you like to disable ethernet …”
    Select OK

    Stuff starts happening and “Would you like to purge all WiFi…”
    Select OK and hit RETURN

    Once you are back to the Dietpi Config screen:
    Tab to “Exit” and hit return.

    You are now at “Exit DietPi-Config?”
    Select OK

    You have now successfully disabled networking and timesyncd. Next command, restart the PiDash by typing:
    init 6

    After reboot, TunerStudio will load and you will see your registered version.


    Next release:
    1. USB automount that way you can save your Project to a USB thumbdrive and remove it on shutdown. *May skip this because of #2 below*
    2. Wifi TunerStudio log/tune access via a Windows/Linux/Mac.
    3. Better notes on stuff and things or if I get suggestions.


  • DietPi + Raspberry Pi4 + TunerStudio with speedups!

    A few updates back I had Raspbian running on the Pi4 and TunerStudio. It was quick. But not after these updates!

    I went ahead and downloaded DietPi, installed it, installed openjdk, LXDE, disabled networking, NTP, timesyncd, anything unnecessary. LXDE boots up in under 6 seconds. TunerStudio takes up the rest of the time to load up. But rumor has it, a lightweight dash is being developed which will be a huge speedup in load time for individuals needing an inexpensive and lightweight dash solution for their Megasquirt/Gold Box EFI setup.

    What you’ll see below are pictures (yea, sorry) of how to install DietPi. Everything is run as root to make it easy for non-Linux users. This setup is bare-bones. No audio, no movie support or anything like that. It is specifically designed to get you into LXDE and to run TunerStudio. Any questions, just ask.

    If you want the easy way out, here is a link to the 1.4 GB .IMG file. I used a 64GB microSD, write it to that and let it rip! It is an image of DietPi Buster, preconfigured for a Raspberry Pi4, has the demo version of TunerStudio beta and autostarts. No network, no audio, no network time. These can all be re-enabled using dietpi-config from a terminal when logged in.

    Follow along in the pictures below if you wish to install it yourself. The order in the gallery is from Left to right, by row. After the first gallery, there is more work to do. This is just the install of DietPi.

    After you reboot, we will need to disable services. If I were you, I’d bring up Firefox on the Pi and download TunerStudio. You will download the Linux version.
    Once downloaded, the file will be in your Downloads directory. Click on LXTerminal or whichever you choose and type the below. It will extract the contents of the TunerStudio file and then move it to the main directory.

    cd Downloads
    tar xf
    mv TunerStudioMS ../.

    In order to autostart TunerStudio do the following from the same terminal session as above. It will create a directory for you and then you will edit a file called ts.desktop.

    mkdir /home/root/.config/autostart
    nano /home/root/.config/autostart/ts.desktop

    In nano, put this in the file you are editing, save and exit:

    [Desktop Entry]
    Type=Application
    Name=TS
    Exec=/root/TunerStudioMS/TunerStudio.sh

    Now to speed up DietPi. From the same terminal as above. Make sure you edit dietpi.txt exactly as stated or your results will not be the same as mine.

    systemctl stop fake-hwclock
    systemctl disable fake-hwclock
    systemctl stop systemd-timesyncd.service
    systemctl disable systemd-timesyncd.service
    systemctl daemon-reload
    cd /DietPi
    nano dietpi.txt

    Update the following values in dietpi.txt

    AUTO_SETUP_NET_ETHERNET_ENABLED=0
    AUTO_SETUP_NET_WIFI_ENABLED=0
    CONFIG_NTP_MODE=0

    Once complete, save the changes and exit. Now disable networking using the same terminal session by running dietpi-config. Select #7 from the menu, Select Ethernet which should say “Enabled”, hit return. It will ask you if its OK to drop connections, select OK. It will ask to remove Wifi, select ok. Tab to <Back> and Exit. Restart.

    Any questions, just ask. Hopefully I didnt miss anything.


  • Testing the PiDash in the Turbo Camaro

    I bought a 7″ tablet mount that suction cups to the windshield. Wanted to see if this PiDash would work well in my Turbo Camaro. Because of the lack of depth I cannot get the PiDash exactly center mounted but thats ok. It’ll replace my gauges so all I need it to do is hold on and not fall off. Another issue is heat from direct sunlight. If its 100* or more outside, I doubt I’ll be driving this monster around as it just gets too hot around here without A/C. LOL.

    Here’s a pic of the PiDash mounted. I had to pull over at the gas station and edit the gauge spacing since RPM was overlapped and I wanted the AFR text a little bigger. It held up well going over bumps here and there. Pretty stable.


  • Installing TunerStudio on Raspbian with autostart and push button clean shutdown!

    NO LONGER SUPPORTED. GO TO THE WIKI AND DOWNLOAD THE LATEST IMAGE.

    Requirements:

    1. Raspberry Pi 3 or 4
    2. Raspbian Linux
    3. TunerStudio
    4. Header to plug into the GPIO pins
    5. Push button

    Basic Concept:

    1. Start up the Raspberry Pi
    2. Boot into Raspbian
    3. Start TunerStudio automatically
    4. Exit TunerStudio clean with a push button
    5. Shutdown Raspbian clean after TS exits

    Download Raspbian here:
    https://www.raspberrypi.org/downloads/

    Installation notes for Linux, Mac OS, Windows images to SD Card here:
    https://www.raspberrypi.org/documentation/installation/installing-images/

    In Linux, my command was below. Be absolutely certain that /dev/sda is the location of your SD CARD!!!

    dd bs=4M status=progress if=2019-09-26-raspbian-buster-full.img of=/dev/sda

    Download TunerStudio or copy it to your SD Card. You can also boot into Raspbian and do this. My example will use Raspbian to do all of the work.

    Insert the SD card into your Raspberry Pi and power up. It may take a little bit to go thru the startup sequence for the first time. Once its booted up into Raspbian you’ll see the following screen, click Next and answer the questions. You’ll be asked for your locale, network config, change the password etc.

    Once complete, head over to download TunerStudio. Click on the blue globe on the top left to open your browser and go to this URL. Scroll to the bottom and download the latest TunerStudio for Linux version.
    http://www.tunerstudio.com/index.php/downloads

    Once the download is complete, open up a terminal session. Top left corner, looks like a >_ sign in a black box.

    Now we need to install TunerStudio, so you’ll do the following commands to decompress the file. At the time of this article, the version is 3.0.28 and the filename is TunerStudioMS_v3.0.28.tar.gz. The below commands will get you to your Downloads directory and show you the contents. If your file has a different name, use that instead of the one I just typed.

    cd Downloads
    ls -lsrth

    Lets move that file from our Downloads directory to the main directory and extract the contents.

    mv TunerStudioMS_v3.0.28.tar.gz /home/pi
    cd
    tar xf TunerStudioMS_v3.0.28.tar.gz
    ls -lsrth

    Now you should have a TunerStudioMS directory. Lets run TunerStudio and see if it works. You should see output saying something about it not being registered and then the awesome TS pops up. Once you do that, just exit. Time to get to work.

    cd TunerStudioMS
    ./TunerStudio.sh

    You should be back at the terminal screen. Lets create a script that starts up TunerStudio. We will be using the editor called nano. Paste the EXACT commands in the file and then save. If you screw up you can delete the file “del startts.sh” and start again.

    nano /home/pi/startts.sh

    Put this in the script and then save:

    #!/bin/bash
    cd /home/pi/TunerStudioMS
    ./TunerStudio.sh

    Make the script executable once you get to the prompt:

    chmod +x startts.sh

    Now lets run that script to see if TunerStudio starts up.

    ./startts.sh

    You should see the same TunerStudio screen. Exit. More work.

    Lets modify the boot up to start TunerStudio automatically. The following will change directory to the autostart directory where you will create a script to run TS.

    cd /etc/xdg/autostart
    sudo nano StartTS.desktop

    In the editor type this EXACTLY and when you’re done, save.

    [Desktop Entry]
    Type=Application
    Name=TunerStudioMS
    Comment=ts
    NoDisplay=false
    Exec=/usr/bin/lxterminal -e “/home/pi/startts.sh; read -n 1 -s”

    At this point you should be able to reboot and then TunerStudio should start up automagically. You should be sitting at a terminal prompt. Type the following to reboot:

    init 6

    Once rebooted, a terminal screen will pop up and then TunerStudio will start. Exit TunerStudio, hit return and then the terminal session will disappear.

    Lets set up the auto shutdown script. Click on the terminal icon which looks like a black box on the top left with a >_ in it. Then type the following two commands. The first copies the necessary commands you’ll need and the second installs it:

    git clone https://github.com/Howchoo/pi-power-button.git
    ./pi-power-button/script/install

    Now this is the interesting part. Once installed it runs some python code and starts waiting, listening for you to select the power off by hitting a button. Here is where it is on your Raspberry Pi, 3rd from the right. If you hook up a push button, once you press it, by default this will cleanly shut down the Pi but YOU’RE NOT DONE YET. The jumper was off of some old computer parts I had. You can do the same or make one. The other end of those two wires, I do not have a button on it yet. Need to order some since I lost my pack of buttons. If you’re like me and just want to test, expose the wire off of the red and black and then touch them together briefly. Your Pi will clean shutdown. Go ahead and power back on. We need to modify the python code and TunerStudio startup script that comes with TunerStudio.

    Exit TunerStudio and open a terminal session. Lets modify the original startup script TunerStudio comes with. We’ll create a backup in case you have a typo.

    cd TunerStudioMS
    cp TunerStudio.sh TunerStudio.sh.bak

    Here is the TunerStudio script. What is in BOLD RED is what you will ADD at the EXACT SPOT PICTURED!!! If you do this wrong you will screw up the TunerStudio startup script, but we have a backup. Scroll to the bottom of the script with your arrow keys and look for the line pictured. Add what is in BOLD RED. Once done, save.

    nano TunerStudio.sh

    cd “$BASE_PATH” && java -Djava.library.path=${SERIAL_DRIVER}lib -cp “.:lib:plugins” -jar TunerStudioMS.jar $1 &
    RESULT=$?

    echo $! > /tmp/ts.pid
    echo “kill -s TERM `cat /tmp/ts.pid`” >/home/pi/stopts.sh
    chmod +x /home/pi/stopts.sh


    if [ -d “$LAST_PATH” ]; then
    cd “$LAST_PATH”
    fi

    exit $RESULT

    At this point you should be back at the terminal prompt. We should be able to run TunerStudio and it should still start up the same. Lets give it a shot. Exit TS after it pops up.

    cd
    ./startts.sh

    If TunerStudio came up, no typos, you’ve done well. Last but not least, lets modify the python code to shut down TunerStudio and the Pi.

    Here is the original code:

    #!/usr/bin/env python

    import RPi.GPIO as GPIO
    import subprocess

    GPIO.setmode(GPIO.BCM)
    GPIO.setup(3, GPIO.IN, pull_up_down=GPIO.PUD_UP)
    GPIO.wait_for_edge(3, GPIO.FALLING)

    subprocess.call([‘shutdown’, ‘-h’, ‘now’], shell=False)

    Edit the file :

    sudo nano /usr/local/bin/listen-for-shutdown.py

    Insert the lines in BOLD RED:

    !/usr/bin/env python

    import RPi.GPIO as GPIO
    import subprocess
    import os
    import time

    GPIO.setmode(GPIO.BCM)
    GPIO.setup(3, GPIO.IN, pull_up_down=GPIO.PUD_UP)
    GPIO.wait_for_edge(3, GPIO.FALLING)

    os.system(‘/home/pi/stopts.sh’)
    time.sleep(15)


    subprocess.call([‘shutdown’,’-h’,’now’], shell=False)

    You can now reboot. Once booted into Raspbian, TunerStudio will start up and in the background you will have a process monitoring to see if you hit the “power button”. Once you do, TunerStudio will exit, 15 second time out, then the Raspberry Pi will shut down clean.

    If there is a way to improve on this, do so and reply back. Here’s a video of this done with my instructions.


  • Raspberry Pi Dash

    If you’re like me, the default gauge package you install is probably real gauges. I’m running the SpeedHut gauge package that was around $700 or so with a GPS speedo.

    With technology and an ECU like the one I’m running, the EFI Source Gold Box you’re able to run TunerStudio and take advantage of making your own gauges or modifying the gauges that come with it. TunerStudio is written in Java, so most newer operating systems like Linux and Windows are able to run this natively. Hell, you can even replace ALL OF YOUR GAUGES for about $135.

    Here comes the Raspberry PI. Its a small computer that many have used for things such as retro-gaming, small computing and various projects. What I’m doing is setting up a Raspberry Pi 3B+ with a 7″ touch screen display, 64GB microSD card, Raspbian Linux, GPS and of course, TunerStudio.
    In one pic you’ll see my gauges in full screen mode. I’ll make a video reviewing this setup soon.

    Here are some pics:

    7″ Touchscreen 1024×600 display, car power supply.
    Raspberry Pi 3B+
    TunerStudio running under Raspbian Linux and a small USB keyboard/touchpad combo.
    GPS Configured!
    The current dash I’ll use in TunerStudio
    Crusing around town in my Turbo LS powered Camaro!