
SmartSpin2k Panelized
doudar/SmartSpin2k
Transform your spin bike into a Smart Trainer!

Transform your spin bike into a Smart Trainer!
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.
Find the source code here! -> SS2kConfigApp
You can get it from the Apple App Store here:
Or for Android devices:
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.
To get started with SmartSpin2k, you will need the following:
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
SmartSpin2k offers a number of features, including:
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.
Everything you need to know is in the SS2K Wiki Hardware files and build assets are in SS2k-Hardware.
pioarduino.pioarduino-ide) recommended by this repository in Visual Studio Code.py -m pip install pre-commitpre-commit install --hook-type pre-pushFor 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.
If you experience an issue after upgrading firmware, please follow these instructions in the Wiki. Flashing instructions are available HERE.
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.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 7 | 0.1uF | Capacitor_SMD:C_0402_1005Metric | C17, C20, C21, C22, C23, C27, C29 |
| 5 | 10k | Resistor_SMD:R_0402_1005Metric | R3, R7, R8, R22, R23 |
| 4 | 330 | Resistor_SMD:R_0402_1005Metric | R9, R12, R13, R24 |
| 4 | LED_Small | LED_SMD:LED_0603_1608Metric | D1, D2, D3, D9 |
| 3 | 0(5%) | Resistor_SMD:R_0402_1005Metric | R1, R4, R5 |
| 3 | 0.1uF(10%) | Capacitor_SMD:C_0402_1005Metric | C2, C13, C15 |
| 3 | 100nF(50V) | Capacitor_SMD:C_0805_2012Metric | C4, C5, C14 |
| 2 | 100uF(50V) | Capacitor_SMD:CP_Elec_8x10 | C7, C19 |
| 2 | 1uF | Capacitor_SMD:C_0603_1608Metric | C10, C11 |
| 2 | 200 | Resistor_SMD:R_0402_1005Metric | R10, R11 |
| 2 | 80m | Resistor_SMD:R_1206_3216Metric | R15, R16 |
| 2 | B4B-XH-AMLFSN | Connector_JST:JST_XH_B4B-XH-AM_1x04_P2.50mm_Vertical | J1, J2 |
| 2 | D_Schottky | Diode_SMD:D_SMA | D7, D8 |
| 2 | S8050 | Package_TO_SOT_SMD:SOT-23 | Q1, Q2 |
| 2 | SW_Push | Button_Switch_SMD:SW_Push_SPST_NO_Alps_SKRK | SW1, SW2 |
| 1 | 0.01uF | Capacitor_SMD:C_0805_2012Metric | C28 |
| 1 | 1.0uF | Capacitor_SMD:C_0805_2012Metric | C25 |
| 1 | 1.5nF | Capacitor_SMD:C_0805_2012Metric | C31 |
| 1 | 100k | Resistor_SMD:R_0402_1005Metric | R14 |
| 1 | 100nF(10V) | Capacitor_SMD:C_0805_2012Metric | C12 |
| 1 | 100uF | Capacitor_SMD:C_1206_3216Metric | C30 |
| 1 | 10118194-0001LF | digikey-footprints:USB_Micro_B_Female_10118194-0001LF | J4 |
| 1 | 10uF | Capacitor_SMD:C_0603_1608Metric | C32 |
| 1 | 10uF(50V) | Capacitor_SMD:C_0805_2012Metric | C1 |
| 1 | 10uF(50V) | Capacitor_SMD:C_1206_3216Metric | C3 |
| 1 | 150pF | Capacitor_SMD:C_0805_2012Metric | C26 |
| 1 | 1M | Resistor_SMD:R_0402_1005Metric | R2 |
| 1 | 1k | Resistor_SMD:R_0402_1005Metric | R6 |
| 1 | 1uF(50V) | Capacitor_SMD:C_0603_1608Metric | C9 |
| 1 | 2.2uF | Capacitor_SMD:C_0402_1005Metric | C16 |
| 1 | 20k | Resistor_SMD:R_0805_2012Metric | R17 |
| 1 | 22k | Resistor_SMD:R_0402_1005Metric | R18 |
| 1 | 22nF(50V) | Capacitor_SMD:C_0805_2012Metric | C6 |
| 1 | 4.7k | Resistor_SMD:R_0402_1005Metric | R21 |
| 1 | 4.7uF | Capacitor_SMD:C_0805_2012Metric | C24 |
| 1 | 4.7uF(50V) | Capacitor_SMD:C_1206_3216Metric | C18 |
| 1 | 4.7uF(6V3) | Capacitor_SMD:C_0805_2012Metric | C8 |
| 1 | 5.9k | Resistor_SMD:R_0603_1608Metric | R20 |
| 1 | 549 | Resistor_SMD:R_0402_1005Metric | R19 |
| 1 | B8B-XH-A_LFSN | Connector_JST:JST_XH_B8B-XH-AM_1x08_P2.50mm_Vertical | J3 |
| 1 | EG1218 | Button_Switch_SMD:SW_SPDT_CK-JS102011SAQN | S1 |
| 1 | ESP32-WROOM-32D | RF_Module:ESP32-WROOM-32 | U1 |
| 1 | INTERFACE-CP2102-GMR(QFN28) | Package_DFN_QFN:QFN-28-1EP_5x5mm_P0.5mm_EP3.35x3.35mm | U5 |
| 1 | LM1117-3.3 | Package_TO_SOT_SMD:SOT-223-3_TabPin2 | U6 |
| 1 | LOGO | IEEE_Logo:SS2K_QR_Code_25x25mm | G*** |
| 1 | LOGO | IEEE_Logo:SmartSpin_ScreenPrint_One_25x25mm | G*** |
| 1 | L_Iron | Inductor_SMD:L_12x12mm_H8mm | L1 |
| 1 | MAX3232 | MAX3232:MAX3232IPWR | U3 |
| 1 | SRV05-4 | Package_TO_SOT_SMD:SOT-23-6 | U7 |
| 1 | TMC2209-LA-T | Package_DFN_QFN:QFN-28-1EP_5x5mm_P0.5mm_EP3.75x3.75mm | U2 |
| 1 | TPS5430DDA | Package_SO:SOIC-8-1EP_3.9x4.9mm_P1.27mm_EP2.514x3.2mm | U4 |
The 81 most common of 82 parts.
It measures 57.2 × 60.3 mm and has 2 copper layers, 1.6 mm thick.
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.
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.
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).

doudar/SmartSpin2k
Transform your spin bike into a Smart Trainer!

Purdue-Northwest-Vibration-Anaylsis/Purdue-Northwest-Vibration-Analysis
Vibration analysis senior design project for purdue northwest.


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

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

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

FabianSchwartau/OBSPro
Version of the OpenBikeSensor hardware optimized for PCBA

