Skip to the content
4 layers70 × 80 mmEasyrelay, the printed circuit board in 3D

Motorcycle ECU STM32 ARM Cortex 4 source code and hardware PCB design

Size
70 × 80 mm
Copper layers
4
Thickness
1.58 mm
Parts
78
Nets
144
Pads
429
Tracks, vias
983, 108
Pours
2
Routed
Yes
KiCad
KiCad 6 (file 20211014)
Created
18 Jan 2022
Updated
10 Feb 2022

Overview

Easyrelay is an open-source printed circuit board by stamina, from the stamina/easyriderc repository on GitHub, published under the GPL-3.0 licence. It is a 4-layer board of 70 × 80 mm with 78 parts on 144 nets, routed with 983 tracks and 108 vias.

It is built around the TMCS1101A3UQDRQ1 and ULN2003LVD. Its parts include 19 capacitors, 13 switches, 9 ICs, 8 resistors and 6 connectors. It belongs with the STM32 boards of this library.

Main components

2

README

README.md

EasyRider

EasyRider REV C is a motorcycle telemetrics project, developed specifically for my Honda C90 classic bike.

The software is written in C using the libopencm3 library for the STM32 446RE Arm Cortex M4 microcontroller.

The PCB's were created with Kicad 6, you'll find all gerbers/schematics/datasheets in the /docs directory.

Functionality

EasyRider basically does the following things:

  • Controls the lighting system: indicators, rear light, brake light, etc.
  • Controls the claxon
  • Contains an alarm system, based on an IMU
  • Reads the motorcycle battery voltage and the power draw of the board
  • Contains a buzzer for some startup/alarm sounds
  • Reads the RPM of the motor via the CDI, through an opamp and optocoupled circuit
  • Logs GPS coordinates and timestamps of events via the external RTC
  • Sends all telemetry data over Bluetooth and writes it to onboard Flash.

Overall changes/benefits compared to Rev B

  • Way more powerful -> Main board: STM32 Nucleo ARM Cortex 4 32bit mcu with Floating Point Unit
  • Way easier debugging with SWD (Serial Wire Debug)
  • Smaller form-factor size and more modular -> 2 detachable shields -> riser/daughter boards: 3x stack of 70mmx80mm boards, connected with double 2x19pin headers (76 pins total)
  • EasyRelay board: PSU/Relay grid with connectors and 2x 16 port I/O expander IC's
  • EasyComm boards: GPS/Bluetooth/IMU/Flash Storage/Sound(buzzer)
    • Adafruit Ultimate GPS Breakout - 66 channel w/10 Hz updates - Version 3
    • Adafruit LSM6DS33 + LIS3MDL - 9 DoF IMU with Accel / Gyro / Mag - STEMMA QT Qwiic
    • Adafruit Bluefruit LE SPI Friend - Bluetooth Low Energy (BLE)
  • 4-layer board instead of 2-layer -> less noise, crosstalk
  • Lower power -> most IC's at 3.3V, relay coils at 5V
  • Lower power -> switching 5V Voltage Regulator instead of Linear
  • Radio connectivity: Bluetooth LE low power instead of power-hungry Wifi
  • Fast storage for logging/settings/unique ID's/reboots etc. -> 256MBit WinBond SPI flash memory.
  • New smaller molex connectors (Mini-Lock)
  • More decoupling cap pads at longer traces
  • Seperate 12V higher current wire for claxon relay
  • Shift registers/IO expander IC before relays/darlington transitor arrays -> less pins needed on Cortex
  • Shift registers/IO expander IC before input sense signals -> less pins needed on Cortex

Board Board Board

Parts

78
QtyValueFootprintReferences
110.1uFstamina_footprints:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC2, C3, C4, C6, C7, C8, C10, C12, C13, C16, C19
710uFstamina_footprints:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC5, C9, C11, C14, C15, C17, C18
4MountingHolestamina_footprints:MountingHole_3.2mm_M3H1, H2, H3, H4
310Kstamina_footprints:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR3, R7, R8
318V Varistorstamina_footprints:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderRV1, RV2, RV3
2100Kstamina_footprints:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR1, R4
21N4007stamina_footprints:D_DO-15_P12.70mm_HorizontalD1, D2
220Kstamina_footprints:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR2, R6
2Fuse 6A 24V slow blowstamina_footprints:Fuse_1206_3216MetricF1, F3
2LOGOstamina_footprints:EasyRider_logo1G***, G***
2ULN2003LVstamina_footprints:TSSOP16_ULN2003LVU2, U5
1220stamina_footprints:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR5
1330uFstamina_footprints:CP_Radial_D10.0mm_P5.00mmC1
13V3stamina_footprints:PinHeader_1x01_P2.54mm_VerticalTP3V3
15Vstamina_footprints:PinHeader_1x01_P2.54mm_VerticalTP5V
1BRAKE_RELAYstamina_footprints:MEDER RELAY_CRR05-1AK3
1Batterystamina_footprints:BatteryHolder_Renata SMTU1225-LFBT1
1G5NBstamina_footprints:Relay_SPST_Omron-G5NB-1A 5V coil, 12V switch 3AmpereK13
1GNDstamina_footprints:PinHeader_1x01_P2.54mm_VerticalTPGND
1LD1117S33TR_SOT223stamina_footprints:SOT-223-3_TabPin2U3
1LEFT Morphostamina_footprints:PinHeader_2x19_P2.54mm_VerticalJ4
1LIB_RELAYstamina_footprints:MEDER RELAY_CRR05-1AK10
1LIF_RELAYstamina_footprints:MEDER RELAY_CRR05-1AK7
1LIGHT_RELAYstamina_footprints:MEDER RELAY_CRR05-1AK1
1LOGOstamina_footprints:EasyRider_logo2G***
1MCP23S17 RELAYSstamina_footprints:SSOP-28_5.3x10.2mm_P0.65mmU9
1MCP23S17 SENSESstamina_footprints:SSOP-28_5.3x10.2mm_P0.65mmU4
1PILOT_RELAYstamina_footprints:MEDER RELAY_CRR05-1AK2
1PITIND_RELAYstamina_footprints:MEDER RELAY_CRR05-1AK6
1PITSTA_RELAYstamina_footprints:MEDER RELAY_CRR05-1AK9
1Polyfuse PPTC 1.1A 16Vstamina_footprints:Fuse_1206_3216MetricF2
1Power and Relays 15pinsstamina_footprints:MolexMiniLock_1Ampere_1x15_P2.50mmJ2
1RIB_RELAYstamina_footprints:MEDER RELAY_CRR05-1AK4
1RIF_RELAYstamina_footprints:MEDER RELAY_CRR05-1AK11
1RIGHT Morphostamina_footprints:PinHeader_2x19_P2.54mm_VerticalJ6
1Screw_Terminal_01x03stamina_footprints:ScrewTerminalBlock_3_P5.08mmJ1
1Senses and switchesstamina_footprints:MolexMiniLock_1Ampere_1x15_P2.50mmJ5
1TLV2371IDBVR opampstamina_footprints:SOT-23-5_HandSolderingU6
1TMCS1101A3UQDRQ1stamina_footprints:SOIC-8_3.9x4.9mm_P1.27mmU8
1VACCUstamina_footprints:PinHeader_1x01_P2.54mm_VerticalTPACC
1VBATstamina_footprints:PinHeader_1x01_P2.54mm_VerticalTPBAT
1VCURRENTstamina_footprints:PinHeader_1x01_P2.54mm_VerticalTPCUR
1VO610A optocouplerstamina_footprints:SMDIP-4_W9.53mmU7
1VRPMstamina_footprints:PinHeader_1x01_P2.54mm_VerticalTPRPM
1Wurth 5V SMPS packagestamina_footprints:WURTH-3PIN_FSDM_PACKAGE_TO-220-3_compatibleU1
1XTRAstamina_footprints:PinHeader_1x01_P2.54mm_VerticalJ3
1XTRA1_RELAYstamina_footprints:MEDER RELAY_CRR05-1AK12
1XTRA2_RELAYstamina_footprints:MEDER RELAY_CRR05-1AK5
1XTRA3_RELAYstamina_footprints:MEDER RELAY_CRR05-1AK8

More from stamina/easyriderc

1
  • 4 layers70 × 80 mmEasycomm, the printed circuit board in 3D

    Easycomm

    stamina/easyriderc

    Motorcycle ECU STM32 ARM Cortex 4 source code and hardware PCB design

    41 parts14GPL-3.0

Similar boards

  • 4 layers100 × 49.9 mmN2adr, the printed circuit board in 3D

    N2adr

    softerhardware/Hermes-Lite2

    A second generation low-cost amateur HF software defined radio transceiver.

    166 parts384
  • 4 layers100 × 50 mmF6itu n2adr n2adr, the printed circuit board in 3D

    F6itu n2adr n2adr

    oomlout/oomlout_oomp_project_bot_v_2

    106 parts
  • 4 layers49.8 × 36 mmAdc dual, the printed circuit board in 3D

    Adc dual

    loxodes/vna

    Under development open hardware microwave vector network analyzer

    78 parts205
  • 4 layers160 × 100 mmRosco m68k, the printed circuit board in 3D

    Rosco m68k

    rosco-m68k/rosco_m68k

    Design, documentation and software for the Really Old School Computer (M68K)

    78 parts200
  • 4 layers69 × 64 mmMv2 base, the printed circuit board in 3D

    Mv2 base

    FOSDEM/video

    No longer being updated, please see the README for pointers.

    78 parts114
  • 4 layers96 × 28 mmThelio io, the printed circuit board in 3D

    Thelio io

    system76/thelio-io-hardware

    KiCad electrical design of Thelio Io board

    78 parts70GPL-3.0
  • 4 layers100 × 100 mmPCBA ZONA, the printed circuit board in 3D

    PCBA ZONA

    intechstudio/grid-hardware

    78 parts59GPL-3.0
  • 4 layers100 × 50 mmPicostation, the printed circuit board in 3D

    Picostation

    Wren6991/PicoStation3D

    3D games console based on RP2040 and iCE40 UP5k

    78 parts50CC0-1.0

Questions

How big is the Easyrelay PCB?

It measures 70 × 80 mm and has 4 copper layers, 1.58 mm thick.

What parts does the Easyrelay use?

78 parts, built around the TMCS1101A3UQDRQ1 and ULN2003LVD. 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 Easyrelay KiCad files?

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

Can I use the Easyrelay 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).