Skip to the content
2 layersVeloDashboard, the printed circuit board in 3D

Bicycle computer for a velomobile

Copper layers
2
Thickness
1.6 mm
Parts
58
Nets
96
Pads
249
Tracks, vias
0, 0
Routed
Not yet
KiCad
KiCad 8.0 (file 20240108)
Created
16 Feb 2024
Updated
16 Dec 2025

Overview

VeloDashboard is an open-source printed circuit board by JanBurp, from the JanBurp/VeloDashboard repository on GitHub. It is a 2-layer board with 58 parts on 96 nets.

It is built around the SN74AHCT125N and LDD-700L. Its parts include 24 resistors, 14 connectors, 9 ICs, 7 switches and 2 diodes. It belongs with the lEDs and displays boards and the NXP (LPC, Kinetis, i.MX RT) boards of this library.

Main components

2

README

README.md

Velo Dashboard

A bicycle computer made for velomobiles.

alt text

alt text

Walkthrough videos (dutch):

Reasons

In the summer of 2022 i bought a second hand Quest velomobile. It was in very good shape, had only driven 8000km while only 10 years old, and it fits my budget.

But it was missing blinkers, had a 6V system on board, and two headlights which could be turned on independent from eachother. Which results in my Quest looking cross-eyed :-( That could be done better.

I also struggled finding the 'perfect' bicycle computer to keep track of at least my current speed, average speed, maximum speed, time, time of the trip, distance, and at least two seperate distance counters. The most anoying things of these computers are the small screens, the not so ideal combination of functions, button combo's etc. And a GPS one took too long to recognise my location (possibly due to the carbon body).

I took some inspiration found online from other velonauts. Such as:

Features

This bicycle computer for a velomibile has these features:

Lighting:

  • Drive the normal LED lights that are standard in most velombiles (rear light, brake light, fog light and blinkers if present)
  • Drive the (double) head light(s) in several steps (off, dim, normal, beam)
  • Drive LED strips on each side of the velomobile. For blinkers (with nice animation!), and normal light for visibility (front, rear and brake lights).

Knobs & Display:

  • Big OLED display so i can see it easy.
  • All controls are on the steering wheel (with a 3D printed console).
  • Knobs for the blinkers, lights and switching through several pages on the display.

Speed & Distance:

  • Current speed
  • Current average speed
  • Current maximum speed
  • Distance of current trip
  • Total distance of current day
  • Distance of previous day
  • Average and maximum speed of previous day
  • Total distance of the velomobile in total
  • Total distance of the velomobile while in my ownership
  • At least three different tocal counters wich can be reset independent

Time:

  • Current clock time
  • Driving time of current trip (excluding stops for traffic lights etc)
  • Total time of current trip (including these stops)
  • Driving and total time of previous day

Others:

  • Current Cadans speed
  • Battery status
  • Battery saving modes
  • Automatic turn off after a set time (to spare battery)
  • Option to set the total distance
  • Option to set the clock time
  • Option to set the wheel circumference
  • Optionts to reset all extra counters

Result

I have a working prototype since december 2022, with several improvements and new featuers since then.

Manual

Dashboard

alt text

  • The yellow buttons are for activating the blinkers. Press and it turns on. Press again to turn off. Press the other and the first one stops and the new one starts. The LED's in front of the dashboard reflects the state of the blinkers.
  • The white buttons are for controlling the head and rear lights. And also the lights of the LEDstrips. Press the upper button increases intensity. The lower button decreases intensity. These modes exists: OFF, DIMLIGHT, NORMAL LIGHT, BEAM, FOG.
  • The red button on the upper right turns the headlights into BEAM mode while pressed.
  • The red button in the middle is not part of the computer: it is it's own circuit and turns of the horn (in my case a Hornitt).
  • The black button on the right is for controlling the display on the computer. Pressing cycles to several pages of the display (see below). Long press turns the computer and display into SETUP mode (see below).

Display modes

Normal pages of the display (cycles through with the blank button):

Homescreen:

  • Speed (big in the center)
  • Current distance (topleft)
  • Current clock time (topright)
  • Average speed (bottomleft)
  • Maximun speed (bottomright)
  • Cadans / RPM (bottomcenter)
  • Icons for headlights and rearligt (middleleft)
  • Icons for blinkers and breaklight (topmiddle)
  • Icon for battery status (middleright)

Screen 2 (today):

  • Average speed
  • Max speed
  • Time elapsed while driving (excluding stops)
  • Time elapsed from start of driving (including stops)

Screen 3 (distances):

  • Distance of current drive
  • Distance of today
  • Distance of previous driving day
  • Distance of Trip 1

Screen 3 (totals):

  • Total distance of velomobile in my ownershop
  • Total distance of velomobile
  • Distance of Trip 2
  • Distance of Trip 3

Setup

A long press on the blank button switches to the setup screens. And pressing normal cycles to the setup screens. Long pressing again switches to normal screens. Of the screens there is some help of how to setup the several options.

These are the setup pages:

  • Trip - for resetting Trip 1,2 and 3.
  • Clock - for setting the time
  • Tyre - for setting the tyre (used for measuring speed and distances). You can select and ERTRO value or in mm.
  • Bike - setting the total distance of the bike.

Others

The computer keeps track of battery status. If the battery is becoming low it will decreases the brightness of the LEDstrips the battery icon on the display starts to blink.

If the battery is very low/almost dead, it will spare itself by turning everything off.

If you forgot to switch the computer off, if will auto power off after three minutes. The last 20 seconds will be shown in the display. If you press a button or start cycling again, the auto-power-off timer will stop.

Hardware

Teensy 4.0

The computer is based around a Teensy 4.0. My first attempt was made with a Arduino nano, which is cheaper and uses less power. But i wanted a clock. And the combination of driving LED strips and having an OLED screen was impossible (as far as i know) with te Arduino. The Teensy 4.0 has multiple i2c (OLED) and interrupts. And it also has a build in RTC (Real Time Clock) with power options for a small coin battery to keep the state of the clock. The Teensy has also lots of room for improvements or future additions (SD card storage for example).

IP67 LEDstrips WS2812B

IP67 means rainproof. And WS2812B means it just has three wires to connect (5V, GND & Data). I have two of them, one for each side of the velomobile. But the computer can also run four of them in case you want four small ones instead of two large ones. I choose the large ones because of easier assembling on my Quest. Downside is it user more power. Here is a guide for using WS2812B LEDstrips

Power

  • For power i choose Lipo batteries of 12.6 Volts. Other batteries are possible.
  • Polo Mini Pushbutton Power Switch is a on/off switch, whith reverse protection and more.
  • Power regulator to 5V. The Teensy has it's own regulator for 5V to 3.3V.

LED drivers

For driving the front, rear, brake (and maybe blinker) LED's i use Meanwell LDD Led drivers (LDD-700 for now).

Schematics

The raw schematics can be found in the kicad folder

Software

For developing i used VScode with PlatformIO. Once setup, i found this much easier for developling compared the Arduino IDE. But thats a software developer speaking ;-)

3D print

A STL file for 3D printing the console can be found in the 3D folder.

alt text

alt text

Parts

58
QtyValueFootprintReferences
7100kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR3, R4, R5, R11, R12, R17, R18
647kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR13, R14, R15, R16, R19, R20
6LDD-700LLDD:LDD-XXXLIC1, IC2, IC3, IC4, IC5, IC6
4370Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR21, R22, R23, R24
3220kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR6, R7, R8
2220Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR9, R10
11MResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR2
122µFCapacitor_THT:CP_Radial_D10.0mm_P7.50mmC1
14MResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR1
1Addon 2Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_HorizontalJ11
1Battery Cell 3.3VBattery:Battery_Panasonic_CR2032-HFN_Horizontal_CircularHolesBT1
1BlinkersConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_HorizontalJ8
1BrakeButton_Switch_THT:SW_PUSH-12mmSW5
1Cadans sensorConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_HorizontalJ10
1DisplayButton_Switch_THT:SW_PUSH-12mmSW7
1Down (lights)Button_Switch_THT:SW_PUSH-12mmSW3
1HeadlightsConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_HorizontalJ6
1HornButton_Switch_THT:SW_PUSH-12mmSW6
1LC78_05 2.0Package_TO_SOT_THT:TO-220-3_VerticalU2
1LED STRIPSConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_HorizontalJ2
1LEFTLED_THT:LED_D5.0mm_ClearD1
1LeftButton_Switch_THT:SW_PUSH-12mmSW2
1OLEDConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_HorizontalJ1
1Polulu PowerConnector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_HorizontalJ1.out1
1PowerSwitchConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_HorizontalJ9
1RIGHTLED_THT:LED_D5.0mm_ClearD2
1RearlightsConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_HorizontalJ7
1RightButton_Switch_THT:SW_PUSH-12mmSW8
1SN74AHCT125NPackage_DIP:DIP-14_W7.62mm_Socket_LongPadsU1
1Speed SensorConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_HorizontalJ5
1Teensy4.0Teensy:Teensy40_SMTU3
1To ComputerConnector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_HorizontalJ4
1To DashboardConnector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_HorizontalJ3
1Up (lights)Button_Switch_THT:SW_PUSH-12mmSW4
1extra led stripsConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_HorizontalJ12
1~Connector_PinHeader_2.54mm:PinHeader_1x07_P2.54mm_HorizontalJ1.in1

Similar boards

  • 2 layers49.4 × 35.8 mmWS2812Controller, the printed circuit board in 3D

    WS2812Controller

    klein0r/pcb-ws2812-wifi-controller

    WiFi Controller for WS2812 LED Stripes

    22 parts82MIT
  • 2 layers40 × 108 mmSol, the printed circuit board in 3D

    Sol

    wntrblm/Sol

    An open-source MIDI-to-CV Eurorack module that runs CircuitPython

    59 parts76
  • 2 layers26.9 × 73.9 mmWS2812ControllerEthernet, the printed circuit board in 3D

    WS2812ControllerEthernet

    klein0r/pcb-ws2812-ethernet-controller

    Ethernet Controller for WS2812 LED Stripes

    12 parts38MIT
  • 2 layers49.5 × 35.6 mmWLED Controller, the printed circuit board in 3D

    WLED Controller

    f2daz/WLED_PCB_D1_Mini

    PCB for WLED with WeMos D1 Mini and SN74AHCT125N level shifter

    12 parts34MIT
  • 2 layers65 × 70 mmOpenradfan, the printed circuit board in 3D

    Openradfan

    andrekuehne/openradfan

    An ESPHome-driven controller for radiator fans to improve heat output

    49 parts29MIT
  • 2 layersFoxie clock nano, the printed circuit board in 3D

    Foxie clock nano

    afoxinsocks/foxie-clock

    A Nixie-like, retro, RGB LED, Arduino-powered clock

    133 parts24GPL-3.0
  • 2 layers120 × 90 mmMy babys got led, the printed circuit board in 3D

    My babys got led

    mcqn/my-babys-got-led

    Simple ESP8266 board to drive WS2812 LED strips

    51 parts18

Questions

What parts does the VeloDashboard use?

58 parts, built around the SN74AHCT125N and LDD-700L. 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 VeloDashboard KiCad files?

From the JanBurp/VeloDashboard repository on GitHub, at the commit this page was made from: the board is kicad/VeloDashboard/VeloDashboard.kicad_pcb and its schematic kicad/VeloDashboard/VeloDashboard.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the VeloDashboard design in my own project?

Its repository states no licence, so its author keeps all rights: ask JanBurp before reusing the design.