An OLED gauge for the Speeduino ECU. Uses UART (secondary serial) for communication.

speeduino-ardugauge

speeduino-ardugauge

An OLED gauge for the Speeduino ECU. Uses UART (secondary serial) for communication. See demo video. See screenshots.

NOTE: The gauge shares the same Serial port for communcations with Speeduino ECU and USB connection for programming. Disconnect from the ECU if you wish to upload the Arduino sketch.

Parts List

  1. Arduino Nano - should work with most 328P arduino boards
  2. Monochrome OLED display - 128x64 px, SSD1306 driver, I2C interface
  3. Push button - with optional pull-up resistor.
  4. Connector of your choice.

Basic Pinout

Arduino Pin Connects To
5V Speeduino 5V
D0-RX Speeduino TX3
D1-TX Speeduino RX3
GND Speeduino GND
5V OLED 5V
A5 OLED SCL
A4 OLED SDA
GND OLED GND
D2 Push Button
GND Push Button

Speeduino Settings

Enable Secondary Serial only. Speeduino Manual

Customizable Pages

The pages displayed and the data within each page are customizable in the ardugauge.ino sketch file. The following is a quick guide on how to modify the pages.

  1. The complete dataset is fetched at the start of each loop iteration and stored in a buffer. To get appropriate data, use:

    • getByte(address); - returns numeric value for single byte.
    • getWord(address); - returns numeric value for 2 bytes. Use LB address.
    • getBit(address, bit); - returns bit value for status bytes.

    See Speeduino Manual for the specific address.

    NOTE: The temperature values are in °C and are offset by 40 to maximize single byte range. Subtract 40 from raw value then use appropriate conversion to °F if needed.

  2. Create new case for new page. Inside, use one of the following commands:

    • showNumeric(label,value,min,max,decimal); - displays a single numeric value.
    • showBar(label,value,min,max,decimal); - displays a single numeric value with a bar graph.
    • show2Bar(label1,value1,min1,max1,decimal1,...); - displays 2 bar graphs.
    • show4Numeric(label1,value1,min1,max1,decimal1,...); - displays up to 4 numeric values.
    • showFlags(label1,value1,...); - displays up to 8 boolean flags.

    Do not forget to include a break command at the end of each case statement.

  3. Update the NUM_PAGES constant in line 5.

Similar Resources

View your current playing song on ESP32 & OLED display using Spotify API

View your current playing song on ESP32 & OLED display using Spotify API

esp32-spotify-oled View your current playing song on ESP32 & OLED display using Spotify API Spotify Visit Spotify Dashboard https://developer.spotify.

Oct 15, 2022

Enables Permanent UART output across boots. Supports PS4 version 6.72 only for now

Enables Permanent UART for PS4. Requires a 5.05/6.72/7.02 Jailbroken PS4. To build, you require ps4-sdk from Scene-Collective/ps4-payload-sdk In the t

May 12, 2022

RV-Debugger-BL702 is an opensource project that implement a JTAG+UART debugger with BL702C-A0.

RV-Debugger-BL702 is an opensource project that implement a JTAG+UART debugger with BL702C-A0.

BL702 is highly integrated BLE and Zigbee combo chipset for IoT applications, contains 32-bit RISC-V CPU with FPU, frequency up to 144MHz, with 132KB RAM and 192 KB ROM, 1Kb eFuse, 512KB embedded Flash, USB2.0 FS device interface, and many other features.

Jan 1, 2023

Using D2XX driver to capture UART data to a binary file

What is it This is the sample code to read UART data using any baud rate that FTDI supports and save them to a binary file. How to use Usage: ./larger

Nov 24, 2021

Cross-platform, Serial Port library written in C++

Serial Communication Library (Linux and OS X) (Windows) This is a cross-platform library for interfacing with rs-232 serial like ports written in C++.

Dec 30, 2022

experiments with the Gameboy Advance serial interface

experiments with the Gameboy Advance serial interface

(I'm hedging my bets with this repo name. I'd want to add more serial setup tutorials. For example, I bought a bunch of Gameboy Advance wireless adapt

Jan 6, 2023

CRServoF - The CSRF serial protocol to PWM servo converter

 CRServoF - The CSRF serial protocol to PWM servo converter

CRServoF - The CSRF serial protocol to PWM servo converter I wanted to create a small project to mess around with PWM servo output for ExpressLRS, and

Dec 28, 2022

Synology DSM 7 USB serial drivers

Missing USB serial drivers for DSM 7 Supported drivers cp210x ch341 Supported platforms apollolake (linux-4.4.x) armada38x (linux-3.10.x-bsp) armadaxp

Dec 31, 2022

A handy little system information monitor using and ESP32 + ILI9488 TFT. Receives data over Serial Bluetooth.

A handy little system information monitor using and ESP32 + ILI9488 TFT. Receives data over Serial Bluetooth.

Bluetooth-System-Monitor A handy little system information monitor using and ESP32 + ILI9488 TFT. Receives data over Serial Bluetooth and thus giving

Dec 22, 2022
Comments
  • Possibility to expand to two displays on same i2c wiring?

    Possibility to expand to two displays on same i2c wiring?

    I dont know how to contact you directly, so i'm hoping you'll get a notification when i open an issue like this.

    Is it possible to expand onto two i2c displays with different adresses? Like having two full 0,96" displays with one or two datapoints each, for easier readability?

This repository gives an idea about how to use UART/SPI/I2C communication using HAL APIs

STM32-UART-SPI-I2C communication with Arduino board using HAL APIs This repository gives an idea about how to use UART/SPI/I2C communication using HAL

Nov 1, 2021
The adventures of redesigning the AFR gauge

The adventures of redesigning the AFR gauge I'm starting to develop a custom air-fuel ratio powered with an LCD display on Arduino Uno and o2 wideband

Apr 8, 2022
Serial Data Monitor is a multiplatform (Windows, Linux, Mac, ...) tool to interactively receive/edit/monitor data and send commands to an embedded system via the serial bus
Serial Data Monitor is a multiplatform (Windows, Linux, Mac, ...) tool to interactively receive/edit/monitor data and send commands to an embedded system via the serial bus

See wiki for full documentation Serial Data Monitor Description Serial Data Monitor is a multiplatform (Windows, Linux, Mac, ...) tool to interactivel

Oct 29, 2021
The function is based on MQTT. When the original serial of ESP8266/ESP32 cannot be used, it can replace serial print.
The function is based on MQTT. When the original serial of ESP8266/ESP32 cannot be used, it can replace serial print.

MqttPrint and MqttMonitor The function is based on MQTT. When the original serial of ESP8266/ESP32 cannot be used, it can replace serial print. MqttPr

Sep 28, 2022
Dec 15, 2022
CredBandit - Proof of concept Beacon Object File (BOF) that uses static x64 syscalls to perform a complete in memory dump of a process and send that back through your already existing Beacon communication channel

CredBandit CredBandit is a proof of concept Beacon Object File (BOF) that uses static x64 syscalls to perform a complete in memory dump of a process a

Dec 25, 2022
A custom OLED animation for QMK keyboards

superloop This animation is made for 32x128 pixel 1-bit OLED displays. Info This repository is a lightweight clone of the crkdb:default QMK configurat

Nov 28, 2022
qmk based oled bongo cat animation

oledbongocat qmk based oled bongo cat animation step 1: append OLED enable and WPM enable to your rules.mk (see last lines of my rules.mk) step 2: in

Dec 31, 2022
A simple tool using PC mouse via USART to control MCU and LCD/OLED (with LVGL library), if your screen cannot be controlled by touch.
A simple tool using PC mouse via USART to control MCU and LCD/OLED (with LVGL library), if your screen cannot be controlled by touch.

LVGL_USB_Mouse A simple tool using PC mouse via USART to control MCU and LCD/OLED (with LVGL library), if your screen cannot be controlled by touch. 如

May 5, 2022
a pc heat verifier using arduino uno and oled screen(ssd1306)
a pc heat verifier using arduino uno and oled screen(ssd1306)

pc-heat-check a pc heat verifier using arduino uno and oled screen(ssd1306) to this application works needs this other application running: https://gi

Oct 5, 2022