Skip to the content
PCBKitNew board
2 layers57.2 × 60.3 mmSmartSpin2k, the printed circuit board in 3D

Transform your spin bike into a Smart Trainer!

Size
57.2 × 60.3 mm
Copper layers
2
Thickness
1.6 mm
Parts
82
Nets
113
Pads
323
Tracks, vias
751, 124
Pours
3
Routed
Yes
KiCad
KiCad 6 (file 20211014)
Created
28 Aug 2020
Updated
7 Nov 2026

Overview

SmartSpin2k is an open-source printed circuit board by doudar, from the doudar/SmartSpin2k repository on GitHub, published under the GPL-2.0 licence. It is a 2-layer board of 57.2 × 60.3 mm with 82 parts on 113 nets, routed with 751 tracks and 124 vias.

It is built around the ESP32-WROOM-32D, CP2102-GMR and MAX3232ID, with the TMC2209-LA-T, TPS5430DDA and LM1117-3.3 among its other parts. Its parts include 32 capacitors, 24 resistors, 7 ICs, 6 diodes and 4 connectors. It belongs with the radio and wireless and robots and motor control boards and the ESP32 boards of this library.

Main components

10

README

README.md
ss2k banner

You can visit us at Facebook

Did you know there's a SmartSpin2k companion App?

Find the source code here! -> SS2kConfigApp

You can get it from the Apple App Store here:

Or for Android devices:

About

SmartSpin2k is a DIY project that allows you to turn any spin bike into a smart trainer. With SmartSpin2k, you can connect your spin bike to Zwift, TrainerRoad, or other popular training apps. This allows you to control your bike's resistance automatically, track your performance, and compete with other riders online.

SmartSpin2k is easy to build and requires only a few simple tools. The entire build process can be completed in under an hour.

If you are looking for a way to turn your spin bike into a smart trainer, SmartSpin2k is the perfect solution. With its new features and improvements, SmartSpin2k rev 3 is the best version yet.

Getting Started

To get started with SmartSpin2k, you will need the following:

  • A spin bike with a resistance control knob.
  • A 3D printer.
  • A soldering iron and basic soldering skills.

Once you have these materials, you can follow the these instructions to build your own SmartSpin2k. If you'd prefer to buy a pre-assembled kit, we have them for sale at SmartSpin2k.com

Features

SmartSpin2k offers a number of features, including:

  • Automatic incline resistance control: SmartSpin2k can automatically control your bike's resistance based on the resistance settings in your training app. This allows you to focus on your workout and not worry about adjusting the resistance yourself.
  • SmartSpin2k ERG function is a great way to improve your cycling performance. It allows you to train at a consistent power output, which is essential for improving your speed and endurance. ERG stands for "electronic resistance control." It works by automatically adjusting the resistance on your bike based on the power output you set in your training app.
  • Online competition: SmartSpin2k can connect to Zwift, TrainerRoad, and many other cycling apps allowing you to compete with other riders online. This is a great way to stay motivated and push yourself to new heights.
  • Do you have a spin bike that doesn't output realistic or accurate power numbers? If so, you're not alone. Many spin bikes have inaccurate power meters that can make it difficult to track your progress and train effectively. With SmartSpin2k you can calibrate the power output of your spin bike.

Conclusion

SmartSpin2k is a great way to turn any spin bike into a smart trainer. With its new features and improvements, SmartSpin2k Rev 3 is the best version yet. If you are looking for a way to improve your indoor cycling experience, SmartSpin2k is the perfect solution.

Documentation

Everything you need to know is in the SS2K Wiki Hardware files and build assets are in SS2k-Hardware.

Contributing

  1. Install Microsoft Visual Code. https://code.visualstudio.com/
  2. Install the pioarduino IDE extension (pioarduino.pioarduino-ide) recommended by this repository in Visual Studio Code.
  3. Install Python https://www.python.org/downloads/
  4. Install Pre-commit. https://pre-commit.com py -m pip install pre-commit
  5. Follow any install warnings to add pre-commit to your path.
  6. Install pre-push git hooks: pre-commit install --hook-type pre-push
  7. Open this project in the pioarduino IDE.

For command-line builds, use a Python virtual environment and run python -m pip install -r requirements-ci.txt from the repository root to install the same pinned pioarduino Core used by CI. CI uses Python 3.11. If that environment already has the upstream platformio package installed, uninstall it before installing pioarduino; the two packages share Python modules and command names.

pioarduino still uses platformio.ini, the .platformio tool directory, and the pio / platformio commands. Build with pio run -e release (classic ESP32) or pio run -e S3release (ESP32-S3), and run native tests with pio test -e native. See AGENTS.md for build and validation details.

Important announcement for existing users

If you experience an issue after upgrading firmware, please follow these instructions in the Wiki. Flashing instructions are available HERE.

Licensing

The hardware designs are licensed under the CERN Open Hardware License Version 2 - Permissive license. The software in this project is licensed under the GNU GENERAL PUBLIC LICENSE Version 2, June 1991 license.

Hardware 2.0

^^@eMadman's IC4 model

Parts

82
QtyValueFootprintReferences
70.1uFCapacitor_SMD:C_0402_1005MetricC17, C20, C21, C22, C23, C27, C29
510kResistor_SMD:R_0402_1005MetricR3, R7, R8, R22, R23
4330Resistor_SMD:R_0402_1005MetricR9, R12, R13, R24
4LED_SmallLED_SMD:LED_0603_1608MetricD1, D2, D3, D9
30(5%)Resistor_SMD:R_0402_1005MetricR1, R4, R5
30.1uF(10%)Capacitor_SMD:C_0402_1005MetricC2, C13, C15
3100nF(50V)Capacitor_SMD:C_0805_2012MetricC4, C5, C14
2100uF(50V)Capacitor_SMD:CP_Elec_8x10C7, C19
21uFCapacitor_SMD:C_0603_1608MetricC10, C11
2200Resistor_SMD:R_0402_1005MetricR10, R11
280mResistor_SMD:R_1206_3216MetricR15, R16
2B4B-XH-AMLFSNConnector_JST:JST_XH_B4B-XH-AM_1x04_P2.50mm_VerticalJ1, J2
2D_SchottkyDiode_SMD:D_SMAD7, D8
2S8050Package_TO_SOT_SMD:SOT-23Q1, Q2
2SW_PushButton_Switch_SMD:SW_Push_SPST_NO_Alps_SKRKSW1, SW2
10.01uFCapacitor_SMD:C_0805_2012MetricC28
11.0uFCapacitor_SMD:C_0805_2012MetricC25
11.5nFCapacitor_SMD:C_0805_2012MetricC31
1100kResistor_SMD:R_0402_1005MetricR14
1100nF(10V)Capacitor_SMD:C_0805_2012MetricC12
1100uFCapacitor_SMD:C_1206_3216MetricC30
110118194-0001LFdigikey-footprints:USB_Micro_B_Female_10118194-0001LFJ4
110uFCapacitor_SMD:C_0603_1608MetricC32
110uF(50V)Capacitor_SMD:C_0805_2012MetricC1
110uF(50V)Capacitor_SMD:C_1206_3216MetricC3
1150pFCapacitor_SMD:C_0805_2012MetricC26
11MResistor_SMD:R_0402_1005MetricR2
11kResistor_SMD:R_0402_1005MetricR6
11uF(50V)Capacitor_SMD:C_0603_1608MetricC9
12.2uFCapacitor_SMD:C_0402_1005MetricC16
120kResistor_SMD:R_0805_2012MetricR17
122kResistor_SMD:R_0402_1005MetricR18
122nF(50V)Capacitor_SMD:C_0805_2012MetricC6
14.7kResistor_SMD:R_0402_1005MetricR21
14.7uFCapacitor_SMD:C_0805_2012MetricC24
14.7uF(50V)Capacitor_SMD:C_1206_3216MetricC18
14.7uF(6V3)Capacitor_SMD:C_0805_2012MetricC8
15.9kResistor_SMD:R_0603_1608MetricR20
1549Resistor_SMD:R_0402_1005MetricR19
1B8B-XH-A_LFSNConnector_JST:JST_XH_B8B-XH-AM_1x08_P2.50mm_VerticalJ3
1EG1218Button_Switch_SMD:SW_SPDT_CK-JS102011SAQNS1
1ESP32-WROOM-32DRF_Module:ESP32-WROOM-32U1
1INTERFACE-CP2102-GMR(QFN28)Package_DFN_QFN:QFN-28-1EP_5x5mm_P0.5mm_EP3.35x3.35mmU5
1LM1117-3.3Package_TO_SOT_SMD:SOT-223-3_TabPin2U6
1LOGOIEEE_Logo:SS2K_QR_Code_25x25mmG***
1LOGOIEEE_Logo:SmartSpin_ScreenPrint_One_25x25mmG***
1L_IronInductor_SMD:L_12x12mm_H8mmL1
1MAX3232MAX3232:MAX3232IPWRU3
1SRV05-4Package_TO_SOT_SMD:SOT-23-6U7
1TMC2209-LA-TPackage_DFN_QFN:QFN-28-1EP_5x5mm_P0.5mm_EP3.75x3.75mmU2
1TPS5430DDAPackage_SO:SOIC-8-1EP_3.9x4.9mm_P1.27mm_EP2.514x3.2mmU4

The 81 most common of 82 parts.

Questions

How big is the SmartSpin2k PCB?

It measures 57.2 × 60.3 mm and has 2 copper layers, 1.6 mm thick.

What parts does the SmartSpin2k use?

82 parts, built around the ESP32-WROOM-32D, CP2102-GMR, MAX3232ID and TMC2209-LA-T. 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 SmartSpin2k KiCad files?

From the doudar/SmartSpin2k repository on GitHub, at the commit this page was made from: the board is Hardware/V3 - Integrated PCB/PCB/SS2K_KiCad_Files/SmartSpin2k.kicad_pcb and its schematic Hardware/V3 - Integrated PCB/PCB/SS2K_KiCad_Files/SmartSpin2k.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the SmartSpin2k design in my own project?

Its repository publishes it under the GPL-2.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).

More from doudar/SmartSpin2k

1
  • 2 layers189.5 × 204.9 mmSmartSpin2k Panelized, the printed circuit board in 3D

    SmartSpin2k Panelized

    doudar/SmartSpin2k

    Transform your spin bike into a Smart Trainer!

    749 parts292GPL-2.0

Similar boards

  • 2 layers67.1 × 88.4 mmDE429 001 INSTALL, the printed circuit board in 3D

    DE429 001 INSTALL

    Purdue-Northwest-Vibration-Anaylsis/Purdue-Northwest-Vibration-Analysis

    Vibration analysis senior design project for purdue northwest.

    48 parts2
  • 4 layers317.5 × 228.6 mmChess board iot, the printed circuit board in 3D

    Chess board iot

    shuki25/chess-board-pcb

    487 parts
  • 4 layers50 × 75.2 mmRpiFly v3, the printed circuit board in 3D

    RpiFly v3

    r3dpath/RpiFly_Hardware

    While most of the functionality here has been tested to work theres certainally some marginal design decisions, just beware.

    108 parts1
  • 2 layers290 × 100 mmESP32-Wall Clock, the printed circuit board in 3D

    ESP32-Wall Clock

    SkullKill/ESP32-Wall-Clock-PCB

    ESP32 based 30cm Wall Mounted Clock. WiFi, NTP, SNMP, web interface, MicroUsb, Type-C, HG3613 Retrofit

    207 parts3GPL-3.0
  • 2 layers60 × 60 mmSolarpowerPCB, the printed circuit board in 3D

    SolarpowerPCB

    icl-rocketry/ICARUS

    Imperial College london rocketry Attempts to be Resourceful by Using Solar power. A CanSat for the Mach-22 Competition

    142 parts
  • 4 layers64 × 77 mmOBSPro, the printed circuit board in 3D

    OBSPro

    FabianSchwartau/OBSPro

    Version of the OpenBikeSensor hardware optimized for PCBA

    131 parts3LGPL-2.1
  • 2 layers38.7 × 50.6 mmSmartWatch, the printed circuit board in 3D

    SmartWatch

    PierceMckinnon/SmartWatch

    PCB + SW to make a functional smartwatch

    89 parts1