Skip to content

Raspberry pi based digital dash working with Ecumaster Emu Black

License

Notifications You must be signed in to change notification settings

sskramgarhia/DIY-Emu-Black-Dash

 
 

Repository files navigation

Working Dash

DIY-Emu-Black-Dash

Raspberry pi based digital dash working with Ecumaster Emu Black. Based on https://github.com/valtsu23/Raspberry_Pi_gauge_cluster . Biggest difference to previously mentioned is PCB. Now there isn't an additional microcontroller. Also parts of the program had to be rewritten to support new hardware.

If you are interested of buying an assembled PCB, please let me know (valtteri.eklund@gmail.com). If there is demand I could make a small batch.

Version history

25.10.2024 released version 1.1

  • Cpu clock monitoring replaced with cpu load using Psutil ilbrary

Additional data

To do

  • More testing

Raspberry Pi 5 version: https://github.com/valtsu23/DIY-Emu-Black-Dash-Rpi5

Technical specs:

Hardware features

Raspberry Pi 4 handles the communicatin with all the hardware via SPI and I2C. Can bus communication with MCP2515, ADC (MCP3002) reads light sensor values and Raspberry Pi adjusts screen brightness based on ambient light. DS3231 RTC to keep the clock in time. Neopixels for shiftlight. 12v to 5v DC-DC converter on board. Device needs switched 12V and continous 12v from battery to work correctly. Continous power is connected to a relay on PCB. Switched power wakes up the device and Raspberry pi starts booting and relay turns on. When Can Bus stream is lost Raspberry pi automatically starts shutdown process. After shutdown the relay turns off and cuts power from the device. The device doesn't consume any power after shutdown. Small button as a failsafe if Raspberry Pi crashes (pressing thins buttons turns relay off).

Software specs

  • Raspberry Pi OS Lite 64bit (Bookworm)
    • Python code runs from command line without a windows manager
    • Gauge cluster software is based on Pygame graphics library

Performance

  • Boot time with overclock is about 18s
  • I have made a lot of work to make the program light as possible
  • Only part of the screen is updated when needed, not the whole screen (this helps for cpu load)
  • I'm not using any kind of extra cooling
  • I haven't experienced any heat or performance issues

Graphic software functions

  • There is 6 sensors data (3 left and 3 right) that you can choose to display with touscreen
  • bar on the bottom of the screen in normal situation is blue and shows Raspberry pi CPU temperature and CPU clock
  • If there is some error detected by ECU or battery voltage is low. Error flags are shown on the bottom of the screen and the bar is red.

Can bus stream

  • Most of the data needed is read from Ecumaster Emu Black can stream
  • There is also DIY can bus device sending message id 0x400, which contains
    • Turn signals
    • High beam on
    • Fuel level
    • Ambient temperature

Case

  • Designed for Rpi4 and Rpi5
  • Designed with FreeCAD
  • Filament is PETG
  • M3x6 machine screws 2 pcs
  • M4 thread insert 1 pcs
  • M4x8 machine screw 1pcs
  • M4x20 machine screw 2pcs
  • M4 nut 2pcs

Parts for PCB

PCB was ordered from www.jlcpcb.com (order stats can be found from pcb files):

  • MCP3002-I/P
  • 3A diode
  • 1A diode 2pcs
  • P6KE18A transient diode (for overvoltage protection)
  • 15pF Ceramic capacitor 2pcs
  • 16Mhz crystal
  • BPW42 3mm phototransistor or similar
  • 2N3904 NPN transistor or similar
  • B3F-31XX Omron switch or SKH KKK 2 from partco.fi
  • 120 0,6w resistor
  • 10K 0,6w resistor
  • 2K2 0,6w resistor
  • 1M 0,6w resistor
  • 2x13 male pin header with long pins (20mm total length)
  • 2x13 female smd pin header (soldered to display pcb)
  • 1x40 male pin header
  • 0,22mm2 - 0,5mm2 wires (0,5mm2 recommended for power and ground)
  • MCP2515-I/P
  • MCP2562-E/P
  • IC SOCKET 18-PINS (optional)
  • IC SOCKET 8-PINS 2pcs (optional)
  • FTR-F3AA005V
  • NeoPixel Stick mit 8 WS2812 5050 RGB LEDs (Copy of Adafruit's product. Dimensions won't match)
  • Adafruit DS3231 Precision RTC - STEMMA QT
  • Pololu Step-Down Voltage Converter D24V22F5 - 5V 2,5A 2858
  • 5pin JST-SM connector pair

Alt PCB

Alt Inside

Alt Case1

Alt Case2

Alt Case3

About

Raspberry pi based digital dash working with Ecumaster Emu Black

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%