Welcome to Speedy Digital Cluster

  1. Introduction
  2. Features
  3. Licensing Limits and Features Table
  4. Install Combinations
    1. Most Basic Installation
    2. Advanced installation
  5. FAQ

If you’re on the mobile version of this website, there’s a menu button on the top right of the page.

The dropbear ECU is now supported by SDC but you must be using at least the February 2024 firmware release.

Introduction

SDC is a bare-metal digital cluster application for Raspberry Pi Zero, 2, and 3. The phrase “bare-metal” means that SDC turns your Raspberry Pi into a single use computer, more like a microcontroller. This means rapid boot times: less than 4 seconds to a working cluster from a cold boot. It’s fast because you don’t need to wait for an Operating System to load, and there is no messing around trying to get the right application to start up after an OS has loaded.

SDC was originally designed to work with the Speeduino engine control unit using the serial data feed as its primary datasource, but it also supports Canbus either in a secondary (alongside the Speeduino serial feed) or a primary mode (where all data is received via canbus). You can also add multiple devices so that Speeduino serial data becomes available to other devices via the canbus.

Features

  • Boots straight into a cluster, no messing around
  • Touch screen support (requires a HID compliant USB touch screen, or the offical Raspberry Pi Touchscreen)
  • Full HDMI support with accelerated graphics, so up to 60 FPS
  • Up to 255 pages supported, runtime switchable via multiple input devices.
  • Composite pages - embed a group of pages in a fixed location in a parent page. Scroll through the sub-pages at will.
  • A wide range of gauges including traditional analog needle, bar graph, scrolling line chart, values, static strings, bounding rectangle, engine map displays, static bitmaps.
  • Fully customisable analog gauges with a wide range of settings to handle most scenarios.
  • Screen designer application which uses your Pi’s live display as the preview (requires WIFI or Ethernet connection). You can also edit the XML description manually if you prefer.
  • Onboard optional Automatic Data logging. Log files compatible with MegaLogViewer.
  • Support for configurable Canbus based data inputs, secondary or primary datasource and able to be merged with Speeduino data.
  • Supports serial connection to Speeduino ECU using the secondary serial protocol and the expanded ‘n’ dataset.
  • Physical button based input supported for certain actions (e.g. change page).
  • Multi-mode Rotary encoder support
  • Selectable fonts and you can add new Truetype fonts as needed.
  • Speed camera detection support (requires a ublox-7 GPS receiver and a data file for your area).
  • Scripting support to give your pages a dynamic element to them.
  • Basic warning only speed limiter support (does not integrate with hardware limiters). Set limiter manually or via speed camera data.
  • Data update rates of around 25hz from a Mega based Speeduino (throttled by the Speeduino firmware). Teensy and STM32 devices will go faster but can be throttled by SDC to a sensible rate to avoid overloading the Pi.
  • Display of VE, Advance, and AFR Target maps in real-time. SDC tools will generate the maps from your TunerStudio tune, and send them to the device.
  • Customisable boot screen logo.
  • Real time clock support via external I2C device.
  • Ability to generate warnings for certain scenarios, if the relevant data is available. e.g. low oil pressure warning.

Licensing Limits and Features Table

License Level No. Of Pages Data Rate Limits
Free 1 page 10hz data rate limit
Level 1 5 pages No rate limits
Level 2 20 pages No rate limits
All 255 pages No rate limits
Optional Extras licence Adds GPS and CANBus support to the Level 1, 2, or All licence, implicitly adds speed camera support as this uses GPS.  

If you already have a suitable Rasbperry Pi, then you can Buy a license here If you also require a Raspberry Pi you can Buy a kit here

When using the free licence, if you load any of the pre-built demo pages, you will get a full data rate but SDC will run a carousel where it displays each of the pages in the system for 4 seconds before moving on to the next one. If you connect the screen editor, then the carousel will stop.

All levels include the “Always” page, so there is one extra editable page over and above the number of pages given in the above table, but this is always combined with whichever page is being displayed. See the information in the Screen Editor and Always Page

Install Combinations

SDC can be installed in a number of different ways. If you want only one screen you can use the speeduino Serial connection as your primary datasource. If you want data on multiple screens, or want to use one screen as an input device to control one or more other screens you can add a canbus device and as many canbus consumers or producers as you wish. The only rule is you must ensure there is only one producer of each data item on the network. Speeduino data is published onto the canbus network in real-time and becomes available to all other devices on the network.

Most Basic Installation

Below is a basic installation. For this you will need a Raspberry Pi, a Serial connection between it and your Speeduino ECU, and an either and HDMI monitor or the official Raspberry Pi touchscreen.



Advanced installation

Here is an example of a more advanced installation. Once you have a canbus installed the possibilities are pretty much endless. In this example, the SDC node in the top part of the diagram publishes all of Speeduino’s real-time data onto the canbus where other devices, both SDC and non-SDC, can receive it.

Other canbus devices also contribute their own data onto the canbus, including being able to populate atributes which are displayable by SDC devices. This is how my own vehicle’s system works where I have devices responsible for things such as VSS/Odometer, TPMS, Accessory input (indicators, handbrake etc) and vehicle sensor input (fuel gauge etc).

FAQ

What about Raspberry Pi 4?
Pi 4 isn’t supported by the development platform I use at the moment. To be more precise, it doesn’t support Pi 4 accelerated graphics. Therefore I am restricted to building for devices that use the VideoCore 4 GPU which is anything up to and including Pi3. Pi4 support will come after the development platform I use supports VideoCore 6. There is no timeline for that at the moment.

Note that the Pi2 and Pi Zero do not have on-board WIFI so although they work with SDC it is not really recommended as you won’t be able to use the screen editor with it installed in your vehicle.

What can I do with a Zero or ZeroW
This is the lowest power device I support and with a limited clock speed compared to the power of a Pi3b+ its capability is a little less. However it should still be capable of displaying a standard gauge set as long as you stay away from having too many scripts on your page. You may find that screen update rates are limited depending on what you are trying to do. You can add the ‘fps’ attribute to your screens to monitor the performance while you are building screens. You should be looking for around 20fps as a minimum.

Where do I get it?
Look in the menu where you will find a download link.

Can it display data from my non-speeduino ECU?
Support for this is very limited at the moment, although I am willing to expand it if provided with the appropriate specifications and assuming there is no overlap with the SDC canbus protocol.

The alternative is for your device to support the SDC canbus protocol. That is fully documented on this website.

Does it support tuning the Speeduino ECU?
No, and it never will. TunerStudio is a complex piece of software and writing a tuning interface with a similar amount of flexibility is just something I don’t feel is a productive use of my time given that one already exists (and is still regularly changing).

Can I run another application on my Pi at the same time as SDC?
No, the SDC software takes over the Pi completely.

Is it open source?
No. There is a personal version which is free and offers most of the capabilities but has a limit on the available number of pages and data rate. If you want more pages, better update rates, or some of the more advanced functionality then you will need to buy a license.

I’ve seen your videos of the system installed in the TVR on YouTube back when you first built it with the dual screens. How do I do that?
That system actually has 6 canbus nodes and some of the things it can do can not be directly replicated with SDC by itself. This is primarily because there are a range of vehicle-specific things that 4 of the 6 canbus nodes are responsible for and they use custom one-off hardware and software designs. These include capturing inputs from other hardware sources such as indicators or handbrake etc, managing the odometer, and reading TPMS. If you are prepared to build the relevant nodes for your own vehicle, SDC contains all of the support necessary for receiving and displaying this data over the canbus.

A multiple screen setup can be implemented and you can get one screen to control the other over canbus without self-built canbus nodes, but it does obviously require some canbus hardware for each Pi to make it work.