
Version 1.60 or later of SDC is mandatory for certain Raspberry Pi devices. Notably 2022 model Pi3A+ devices, and possibly other Pi 3’s. If your device won’t boot, make sure you are on 1.60 or later.
New Product: SDC Pro 7
SDC Pro 7 is a ready-built screen and processor combo complete with a full SDC license and is CANBus ready. Click the image for getting started instructions.
You can Buy the SDC Pro 7 here
Welcome to Speedy Digital Cluster
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 Zero2W and 3. The phrase “bare-metal” means that SDC turns your Raspberry Pi into a single use computer, somewhere between a microcontroller and a general purpose computer. As a result you get 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 can work with Any ECU for which a supported DBC Canbus definition is available, as well as use the Speeduino serial data feed (the origin of the software). SDC also supports CANBus as a secondary mode enabling control of the displays or addition of data specific to your vehicle. You can also add multiple devices and make Speeduino serial data available to other devices via the canbus.

Features
- Support for multiple ECUs via CANBus
- 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).
- 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, other CAN based datasources such as rusEFI, Haltech (both have DBC files included in the distributeion), or Megasquirt (you must supply an appropriate DBC file). Also SDC specific CAN protocol enables sending of control messages and user contributed data.
- 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. CANBus devices will go a lot faster (rusEFI does about 2000 CAN messages per second at 1Mbit).
- 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 evaluation 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 pretty much any datamode 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 serial data can be published onto the canbus network in real-time and becomes available to all other devices on the network. Obviously if you are using some other CANBus source such as rusEFI or Haltech or whatever, then all devices can be configured with a CANBus based datasource.
Most Basic Installation (Speeduino serial)
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 attributes 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).

CANBus based datamodes, particularly the dbccanbus
datamode introduced in SDC 2.00, enable you to use data from pretty much any ECU than can send CANBus data. The only proviso is that you will need to either already have, or create, a DBC file representing the signals and messages that the device sends. In such a scenerio, the ECU would be contributing data directly to the CANBus instead of sending it first to one of the SDC instances (as was necessary for Speeduino serial in the beginning and represented in the diagram above).
FAQ
What about Raspberry Pi 4?
We don’t support Pi4 or above. In reality these devices are complete overkill for a digital dash anyway. We’ll look to support them if the Pi3 goes out of production but this is some time away yet.
What can I do with a Zero or ZeroW
As of version 1.41 support for ARMV6 (Zero and ZeroW) has been deprecated. The final release containing a binary for this hardware was version 1.50. Versions after that will not provide any support for these devices. Therefore you will need either a Pi3 model or a Zero2W.
Where do I get it?
The download pages are here
Can it display data from my non-speeduino ECU?
Support for other ECUs was added in SDC version 2.00. You must have a CANBus based ECU and have a DBC definition for the messages. This DBC file can be installed on the SD card and SDC will use it to process the CANBus stream.
SDC contains DBC files for rusEFI and Haltech within its distribution.
If you are building something from scratch you can either support the SDC canbus protocol directly (fully documented on this site) or create a DBC file for your message formats.
Note that CAN based implementations require the SDC I/O hat to provide the software with access to the CAN messages on the bus.
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.
How do I test it?
There is an evaluation license included with the distribution which demonstrates most of the capabilities but if you want to use some of the more advanced functionality (e.g. CANBus support) 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.