Skip to content
SPOOLEDRACING

SpooledOS Community

Build your own dash

Turn a Raspberry Pi and a Waveshare 8.8" touchscreen into a live gauge cluster for your DS1-tuned car. Free and open source.

Free and open source · GPL-3.0 · Never flashes or edits your tune

Gauge page with a wide boost bar and six reading tiles

What it does#

  • Live gauges

    A wide boost bar with its target and the last ten seconds, and tiles for lambda, fuel pressures, wastegate duty, knock and temps, read from your DS1 over WiFi.

  • Your layout

    Hold any tile to rearrange them, or change what it shows to any channel your DS1 streams.

  • Tuner-grade logs

    Every drive and every pull, in the DS1's own log format, so they open in the tools tuners already use.

  • Logs on your phone

    Download logs over the dash's own WiFi. No app, no cables.

  • Fault codes

    The check-engine status and fault codes, with descriptions read from your own DS1.

  • Ethanol blend calculator

    How much E85 and pump gas to add to hit your target.

  • Graphs on the dash

    Look over a log right on the screen.

  • Updates over WiFi

    New versions install from Settings.

  • Map switching

    Switch your DS1's maps from the dash, with a confirm before every switch.

Gauge editing mode with Reset and Done buttons
Hold any tile to rearrange or change it
Diagnostics screen showing the check-engine status and a list of fault codes
Fault codes and the check-engine status
Ethanol blend calculator showing how much E85 and pump gas to add
Ethanol blend calculator

What you need#

  • Raspberry Pi 4 (2 GB or more)

    This is what SpooledOS is built and tested on.

  • Waveshare 8.8" DSI touchscreen (1920×480, capacitive touch)

    The long "bar" screen. It connects to the Pi's DSI port with a ribbon cable. Other screens aren't supported by the installer.

  • microSD card, 32 GB or larger

    A1 or A2 rated. A good brand matters: the car cuts the power every time you turn it off.

  • DS1

    Your DS1 joins the dash's WiFi network, and the dash reads its live data from there.

  • 12 V to 5 V converter, 5 A, USB-C output

    Powers the Pi and the screen from the car. Don't go smaller than 5 A: an underpowered Pi slows itself down and reboots at random.

  • Add-a-fuse / fuse tap for your car's fuse box

    Lets you take power from a fuse without cutting any wires.

  • Inline fuse holder with a 3 A fuse

    Protects the wire to the dash.

  • 18 AWG wire, heat-shrink, crimp connectors

    For the power run.

  • DS3231 clock moduleOptional

    Keeps the time while the car is off, so log names are always dated right. Without it the dash sets its clock from your phone or the internet.

  • A computer, and a USB keyboard or SSHOptional, setup only

    Only needed once, to run the installer.

The printed parts

The software is free. If you'd rather not make your own mounts, we sell ours: a bracket that puts the screen in the dash of a D4 or a C7, and a closed box for the Pi and the clock. Printed in ASA, with the screws.

  1. Put Raspberry Pi OS on the card#

    1. On your computer, install Raspberry Pi Imager.
    2. Choose Raspberry Pi 4 as the device, and Raspberry Pi OS (64-bit) as the operating system.
    3. Choose your microSD card, then Edit settings when Imager asks about customisation:
      • set a username and password (remember them)
      • enter your home WiFi name and password, so the Pi can download SpooledOS
      • under Services, turn on SSH if you want to install from your computer instead of with a keyboard on the Pi
    4. Write the card, then put it in the Pi.
    Warning: It must be the version with desktop. The "Lite" version doesn't have the display system the dash runs on.
  2. Connect the screen#

    1. With the Pi unplugged, connect the screen's ribbon cable to the Pi's DSI display port (the narrow connector labelled DISPLAY, beside the micro-HDMI ports). Lift the connector's latch, slide the ribbon in fully with the contacts facing the right way, and press the latch down.
    2. Connect the screen's power as shown in the instructions that came with it.
    3. Plug in the Pi's power.
    Note: It's normal for the screen to stay black at this point. It lights up after the installer has set it up.
  3. Install SpooledOS#

    Open a terminal on the Pi - with a keyboard and the Pi plugged into a monitor, or over SSH from your computer (ssh yourusername@raspberrypi.local) - then run this one command:

    curl -fsSL https://raw.githubusercontent.com/HybridUla/SpooledOS-Community/main/install.sh | bash

    It takes a few minutes. It sets up the screen, starts the dash automatically every time the Pi powers on, and creates a WiFi network for your DS1. When it finishes, restart:

    sudo reboot

    After the restart the screen goes straight into the dash.

    Warning: If you installed over SSH, you'll lose the connection after this reboot. That's expected: the Pi's WiFi is now busy being the network your DS1 joins. Getting back into the Pi

    Options

    To change the WiFi network's name or password, or if you've fitted a DS3231 clock, put the setting in front of bash:

    curl -fsSL https://raw.githubusercontent.com/HybridUla/SpooledOS-Community/main/install.sh | SSID=MyDash PASS=mypassword RTC=1 bash
    • SSIDDefault: Spooled

      Name of the WiFi network the dash makes for the DS1

    • PASSDefault: SpooledDash

      Its password, 8 to 63 characters

    • RTC=1Default: off

      Turns on a DS3231 clock module on the GPIO header

    • DIRDefault: ~/spooledos

      Where SpooledOS is installed

    Running the installer again is safe; it repairs and updates the setup in place.

  4. Connect your DS1#

    The first time the dash starts, it walks you through this on the screen:

    1. On your DS1, open its WiFi settings.
    2. Join the network Spooled with the password SpooledDash (or the ones you chose).
    3. The dash finds the DS1 on its own, and the gauges come alive.

    From then on, they connect by themselves every time the car starts.

  5. Power it from the car#

    Warning: Work with the car off and the key out. If you're not comfortable working on your car's electrics, have an installer do this part.
    Dash power wiring+12 V switchedUSB-CGroundChassisgroundFuse box(add-a-fuse)Inline fuse3 A12 V → 5 VconverterRaspberry Pi 4
    1. Find a switched fuse: one that only has power with the ignition on, so the dash turns off with the car and can't drain the battery. Check it with a multimeter or test light: power with the key on, none with the key out.
    2. Fit the add-a-fuse in that slot. The car's original fuse goes in the lower slot. In the new slot, use a fuse of at least 5 A.
    3. From the add-a-fuse's wire, run 18 AWG wire through the inline 3 A fuse to the converter's +12 V input. Keep the inline fuse close to the fuse box.
    4. Connect the converter's ground to a clean bare-metal chassis point or a factory ground bolt.
    5. Plug the converter's USB-C into the Pi.
    6. Use crimp connectors or solder with heat-shrink for every joint. Avoid "scotch-lock" T-taps: they loosen with vibration.
    Success: Turn the key: the dash boots, and it shuts off with the car.

Using the dash#

Gauges
Swipe or use the arrows to change page. Page 1 is boost, as a wide bar with its target and the last ten seconds, beside six tiles. Page 2 is a G-force plot beside six more. Hold any tile and they all start to wiggle: drag one to a new spot, or tap it to choose what it shows. Boost always keeps the wide panel on page 1. Tap Done when you're finished, or Reset to go back to the original layout.
Maps
The third page shows which of your DS1's maps is running. Tap another to switch to it: the dash asks you to confirm first, because a different map is a different tune. Name your maps under Settings → Map names.
Logs
The dash logs every drive, and saves every full-throttle pull as its own file. To get logs onto your phone, join your phone to the Spooled WiFi and open spooled.local/logs, or scan the QR code under Settings.
Diagnostics
Shows the check-engine status and fault codes. The descriptions come from your DS1: the dash reads them the first time the two connect, and until then shows each code on its own.
Ethanol Blend
Works out how much E85 and pump gas to add to hit your target ethanol content.
Settings
Brightness, °F/°C, time zone, map names, the DS1 WiFi network, and updates.
Picker listing every value a tile can show, each with its live reading
Every tile can show any of the dash's own values or any channel your DS1 streams.

Updates#

  1. On the dash, go to Settings → Network and join your home WiFi (or a phone hotspot).
  2. Go to Settings → Check for updates, then Update. The dash downloads the new version and restarts.
  3. Switch back to the DS1's network afterwards from Settings → Network.

Or from a terminal on the Pi:

~/spooledos/update.sh

Getting back into the Pi#

After the first reboot the Pi's WiFi hosts the DS1's network, so it's no longer on your home WiFi. To reach it:

  • Join your computer to the Spooled WiFi, then run ssh yourusername@10.42.0.1, or
  • on the dash, join your home WiFi from Settings → Network, then run ssh yourusername@spooled.local.

Try it on your computer#

You can run the dash with simulated data - no Pi or car needed. With Python 3 installed:

git clone https://github.com/HybridUla/SpooledOS-Community.git
cd SpooledOS-Community
python3 server.py --demo

Then open http://localhost:8080 in your browser, with the window sized long and short like the screen.

Troubleshooting#

The screen stays black after the reboot

Check the ribbon cable is fully seated at both ends, with the contacts facing the right way. Then run the installer again.

The picture is sideways, or touch is in the wrong place

Run the installer again and reboot.

The dash says the DS1 isn't connected

Check the DS1 has joined the Spooled network. Restart the DS1, then the dash.

The gauges freeze or drop out

Usually power: use a 5 A converter and a good USB-C cable. Settings → Debug mode shows if the Pi is short on power.

Update says "No internet"

Join the dash to your home WiFi first, from Settings → Network.

The logs page won't open on my phone

Your phone must be on the Spooled WiFi. If spooled.local/logs won't load, try 10.42.0.1/logs.

Log times are wrong

Set your time zone in Settings. Without a DS3231 clock, the time comes from your phone (opening the logs page sets it) or the internet.

To see what the dash is doing, run this in a terminal on the Pi:

journalctl -u spooled-server -f

SpooledOS or SpooledOS Community?#

SpooledOS Community is the free, do-it-yourself edition. The Spooled dash is a ready-built unit, made to fit your car, running SpooledOS.

  • Live gauges, custom layouts

    Community
    Included
    Spooled dash
    Included
  • DS1-format logging, phone download

    Community
    Included
    Spooled dash
    Included
  • Fault codes, ethanol blend calculator

    Community
    Included
    Spooled dash
    Included
  • Updates over WiFi

    Community
    Included
    Spooled dash
    Included
  • Themes

    Community
    Not included
    Spooled dash
    Included
  • Remote support from Spooled

    Community
    Not included
    Spooled dash
    Included
  • Automatic log backup to logs.spooled.racing

    Community
    Not included
    Spooled dash
    Included
  • Ready-built, made to fit your car

    Community
    Build it yourself
    Spooled dash
    Included
  • Price

    Community
    Free
    Spooled dash
    See the shop

Credits#

  • Dyno Spectrum

    For making the DS1. SpooledOS exists because the DS1 streams everything a tuned car is doing over WiFi, ready for a screen like this one to read.

  • opendbc by comma.ai

    For vw_mlb.dbc. The CAN messages the dash decodes from the car's bus, and how each signal is laid out and scaled, come from it (MIT licence).

Thank you both.

License#

SpooledOS Community is free software under the GNU General Public License v3.0. You can use, change and share it. If you share a modified version, or sell something built on it, you must release your source code under the same license.

Source code on GitHub

SpooledOS Community is not affiliated with or endorsed by Dyno Spectrum, comma.ai, Audi or any car manufacturer; their names are used only to credit them and to describe what this works with. It reads data from your DS1, and can switch maps and set the log mask on it. It never flashes or edits a tune. Fit and use it at your own risk, and keep your eyes on the road.