Skip to the content
PCBKitNew board
2 layers99 × 68 mmShift Indicator PCB, the printed circuit board in 3D

Shift Indicator PCB

Rav4s/diy-shift-indicator1

A K-Line shift indicator for manual transmission cars like my Mazda MX-5

Size
99 × 68 mm
Copper layers
2
Thickness
1.6 mm
Parts
31
Nets
25
Pads
71
Tracks, vias
121, 1
Pours
1
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
18 May 2024
Updated
25 Jul 2024

Overview

Shift Indicator PCB is an open-source printed circuit board by Rav4s, from the Rav4s/diy-shift-indicator repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 99 × 68 mm with 31 parts on 25 nets, routed with 121 tracks and 1 via.

Its parts include 9 resistors, 9 diodes, 5 connectors, 2 capacitors and 1 fuse.

README

README.md

K-Line (ISO9141) Shift Indicator

A DIY shift indicator for manual transmission cars like my Mazda MX-5 with a K-Line (ISO9141) OBDII interface. The device uses a series of LEDs that illuminate based on engine speed (RPM) to help the driver know when to shift gears in high-pressure situations. My technical writeup for this project, which includes rationale, insight into my design/development process, and future plans can be found here. Additionally, here are videos of the startup sequence and the device in action.

Features

  • Displays engine RPM using a set of seven LEDs
  • Has three distinct LED colors to show progression from low to high RPM (green -> blue -> red)
  • Begins illuminating LEDs at the lower end of shift range (3.5k) and fully illuminates by the higher end (6k), with equal steps in between
  • Mounts to the dashboard without significantly obstructing the driver's view of the road
  • Doesn't require any modifications to wiring/electronics of the car (plug-and-play)

Files

The file structure of this repository is as follows:

text
diy-shift-indicator
│   K-Line (ISO 9141) Shift Indicator Writeup.pdf -- technical writeup on design/development process and future plans
│   LICENSE
│   README.md
│
├───Code -- all Arduino code
│   ├───arduino_obd_reader_display -- code for polling and displaying RPM using LED series
│   │       arduino_obd_reader_display.ino -- handles initialization/communication over LIN bus
│   │       LED_driver.ino -- defines functions to drive and reset LEDs, provides displayRPM functionality
│   │
│   ├───LED_test -- tester sketch to ensure LED series is working
│   │       LED_test.ino
│   │
│   └───modified_iso9141_library -- modified version of the OBD9141 Arduino library used in display program
│           OBD9141.cpp
│           OBD9141.h
│
├───Debug -- Saleae logic analyzer capture files, useful for debugging initialization/connection with ECU
│       First_Success_TX_and_KLINE_Logic.sal
│       RX_Logic.sal
│       TX_and_KLINE_Logic.sal
│       TX_Logic.sal
│
└───Design -- CAD/design files from the prototyping process

Parts

31
QtyValueFootprintReferences
7220ΩResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR3, R4, R5, R6, R7, R8, R9
4MountingHoleMountingHole:MountingHole_3.2mm_M3_PadH1, H2, H3, H4
21N4007Diode_THT:D_DO-41_SOD81_P10.16mm_HorizontalD1, D2
1100nFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC1
11kΩResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR1
1220pFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC2
14.6kΩResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR2
1Arduino ConnectorConnector_PinSocket_2.54mm:PinSocket_1x11_P2.54mm_VerticalJ1
1BattConnector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_VerticalJ3
1Fuse (200mA)Fuse:Fuseholder_Cylinder-5x20mm_Stelvio-Kontek_PTF78_Horizontal_OpenF1
1GNDConnector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_VerticalJ2
1Green LED 1LED_THT:LED_D1.8mm_W3.3mm_H2.4mmD3
1Green LED 2LED_THT:LED_D1.8mm_W3.3mm_H2.4mmD4
1Green LED 3LED_THT:LED_D1.8mm_W3.3mm_H2.4mmD5
1LINConnector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_VerticalJ4
1OBDII ConnectorConnector_PinSocket_2.54mm:PinSocket_1x03_P2.54mm_VerticalJ13
1Red LED 1LED_THT:LED_D1.8mm_W3.3mm_H2.4mmD8
1Red LED 2LED_THT:LED_D1.8mm_W3.3mm_H2.4mmD9
1Yellow LED 1LED_THT:LED_D1.8mm_W3.3mm_H2.4mmD6
1Yellow LED 2LED_THT:LED_D1.8mm_W3.3mm_H2.4mmD7
1~Package_SO:SOIC-8_3.9x4.9mm_P1.27mmSN65HVDA195

Questions

How big is the Shift Indicator PCB PCB?

It measures 99 × 68 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Shift Indicator PCB use?

31 parts. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Shift Indicator PCB KiCad files?

From the Rav4s/diy-shift-indicator repository on GitHub, at the commit this page was made from: the board is Design/Electronics/KiCad (PCB)/Shift_Indicator_PCB/Shift_Indicator_PCB.kicad_pcb and its schematic Design/Electronics/KiCad (PCB)/Shift_Indicator_PCB/Shift_Indicator_PCB.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Shift Indicator PCB design in my own project?

Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 2 layers44.5 × 46.9 mmOSO SWAT B1-jig, the printed circuit board in 3D

    OSO SWAT B1-jig

    joeycastillo/Sensor-Watch

    A board replacement for the classic Casio F-91W wristwatch

    31 parts2.1k
  • 2 layers65 × 30 mmRgb to hdmi, the printed circuit board in 3D

    Rgb to hdmi

    hoglet67/RGBtoHDMI

    Bare-metal Raspberry Pi project that provides pixel-perfect sampling of Retro Computer RGB/YUV video and conversion to HDMI

    31 parts1kGPL-3.0
  • 2 layers191 × 98.5 mmMacroKeypad, the printed circuit board in 3D

    MacroKeypad

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    31 parts915
  • 2 layers39 × 45.2 mmCH32V003F4P6-R0-1v1, the printed circuit board in 3D

    CH32V003F4P6-R0-1v1

    openwch/ch32v003

    CH32V003 is an ultra-cheap RISC-V MCU with 2KB SRAM, 16KB flash, and up to 18 GPIOs that sells for under $0.10

    31 parts599
  • 2 layers26.7 × 27.9 mmBreakout board, the printed circuit board in 3D

    Breakout board

    Luos-io/luos_engine

    Open-source and real-time orchestrator for cyber-physical-systems, to easily design, test and deploy embedded applications and digital twins.

    31 parts546MIT
  • 2 layers100 × 50 mmPixelix, the printed circuit board in 3D

    Pixelix

    BlueAndi/Pixelix

    Full RGB LED matrix, based on an ESP32 and WS2812B LEDs or emulated LEDs on TFT.

    31 parts447MIT
  • 2 layers77.2 × 69.8 mmCubesatsim solar, the printed circuit board in 3D

    Cubesatsim solar

    alanbjohnston/CubeSatSim

    CubeSatSim, the AMSAT CubeSat Simulator

    31 parts419GPL-3.0
  • 2 layers103 × 55 mmTd neck-294, the printed circuit board in 3D

    Td neck-294

    tdaede/td-crt

    tubes

    31 parts373