
MTR LED System Map
Hong-Kong-Public-Transport/MTR-LED-System-Map
A replica of an M-Train LED system map using the ESP32.

Haptic motor controller PCB — ESP32-S3 + 8x DRV2605L + TCA9548A I2C mux
Haptic controller copy is an open-source printed circuit board by rrzhang139, from the rrzhang139/haptic-controller-pcb repository on GitHub. It is a 2-layer board of 80.5 × 93.5 mm with 88 parts on 128 nets.
It is built around the ESP32-S3-WROOM-1-N8, DRV2605LDGS and 74HC595, with the AP2112K-3.3 among its other parts. Its parts include 25 capacitors, 23 resistors, 16 diodes, 13 ICs and 9 connectors. It belongs with the robots and motor control boards and the ESP32 boards of this library.
A custom PCB that independently drives up to 16 haptic motors via I2C, with an LED status grid. Designed in KiCad as a first PCB project, with future use as a haptic feedback interface for robot teleoperation.
USB-C 5V
|
+---> 5V Motor Rail ---> DRV2605L x8 ---> ERM Motors x8
|
+---> AP2112K LDO ---> 3.3V Logic Rail
|
+---> ESP32-S3-WROOM-1 (MCU)
+---> TCA9548A (I2C Mux, 8-channel)
+---> 74HC595 x2 (LED shift registers)
+---> 16x Status LEDs| Part | Qty | ~Cost | Notes |
|---|---|---|---|
| ESP32-S3-WROOM-1 | 1 | $3.00 | MCU module (Wi-Fi/BLE built-in) |
| TCA9548A | 1 | $1.50 | I2C mux, TSSOP-24 |
| DRV2605L | 8 | $16.00 | Haptic drivers, VSSOP-10 (0.5mm pitch) |
| ERM coin motors | 8 | $3.20 | 8-10mm, 3V, off-board with connectors |
| AP2112K-3.3 | 1 | $0.15 | 3.3V LDO, SOT-23-5 |
| 74HC595 | 2 | $0.20 | LED shift registers, SOIC-16 |
| 0805 LEDs | 16 | $0.32 | Status indicators |
| USB-C connector | 1 | $0.30 | Power input |
| Passives (R, C) | ~50 | $0.50 | Decoupling caps, pull-ups, LED resistors |
| PCB fab (JLCPCB, 5pcs) | $5-8 | 2-layer, standard specs |
brew install --cask kicad| Qty | Value | Footprint | References |
|---|---|---|---|
| 16 | 330 | Resistor_SMD:R_0805_2012Metric | R8, R9, R10, R11, R12, R13, R14, R15, R16, R17, R18, R19, R20, R21, R22, R23 |
| 16 | LED | LED_SMD:LED_0805_2012Metric | D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16 |
| 13 | 100nF | Capacitor_SMD:C_0805_2012Metric | C5, C6, C7, C9, C10, C12, C14, C16, C18, C20, C22, C24, C25 |
| 10 | 1uF | Capacitor_SMD:C_0805_2012Metric | C2, C3, C8, C11, C13, C15, C17, C19, C21, C23 |
| 8 | DRV2605LDGS | Package_SO:TSSOP-10_3x3mm_P0.5mm | U4, U5, U6, U7, U8, U9, U10, U11 |
| 3 | 10k | Resistor_SMD:R_0805_2012Metric | R3, R4, R5 |
| 2 | 10uF | Capacitor_SMD:C_0805_2012Metric | C1, C4 |
| 2 | 4.7k | Resistor_SMD:R_0805_2012Metric | R6, R7 |
| 2 | 5.1k | Resistor_SMD:R_0805_2012Metric | R1, R2 |
| 2 | 74HC595 | Package_SO:SOIC-16_3.9x9.9mm_P1.27mm | U12, U13 |
| 1 | AP2112K-3.3 | Package_TO_SOT_SMD:SOT-23-5 | U1 |
| 1 | BOOT | Button_Switch_SMD:SW_Push_1TS009xxxx-xxxx-xxxx_6x6x5mm | SW2 |
| 1 | ESP32-S3-WROOM-1 | RF_Module:ESP32-S3-WROOM-1 | U2 |
| 1 | MOTOR0 | Connector_JST:JST_PH_B2B-PH-K_1x02_P2.00mm_Vertical | J6 |
| 1 | MOTOR1 | Connector_JST:JST_PH_B2B-PH-K_1x02_P2.00mm_Vertical | J2 |
| 1 | MOTOR2 | Connector_JST:JST_PH_B2B-PH-K_1x02_P2.00mm_Vertical | J5 |
| 1 | MOTOR3 | Connector_JST:JST_PH_B2B-PH-K_1x02_P2.00mm_Vertical | J4 |
| 1 | MOTOR4 | Connector_JST:JST_PH_B2B-PH-K_1x02_P2.00mm_Vertical | J3 |
| 1 | MOTOR5 | Connector_JST:JST_PH_B2B-PH-K_1x02_P2.00mm_Vertical | J8 |
| 1 | MOTOR6 | Connector_JST:JST_PH_B2B-PH-K_1x02_P2.00mm_Vertical | J7 |
| 1 | MOTOR7 | Connector_JST:JST_PH_B2B-PH-K_1x02_P2.00mm_Vertical | J9 |
| 1 | RESET | Button_Switch_SMD:SW_Push_1TS009xxxx-xxxx-xxxx_6x6x5mm | SW1 |
| 1 | TCA9548APWR | Package_SO:TSSOP-24_4.4x7.8mm_P0.65mm | U3 |
| 1 | USB_C_Receptacle_USB2.0_16P | Connector_USB:USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_Horizontal | J1 |
It measures 80.5 × 93.5 mm and has 2 copper layers, 1.6 mm thick.
88 parts, built around the ESP32-S3-WROOM-1-N8, DRV2605LDGS, 74HC595 and AP2112K-3.3. 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 rrzhang139/haptic-controller-pcb repository on GitHub, at the commit this page was made from: the board is haptic-controller_copy.kicad_pcb and its schematic haptic-controller.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask rrzhang139 before reusing the design.

Hong-Kong-Public-Transport/MTR-LED-System-Map
A replica of an M-Train LED system map using the ESP32.


nrdsp/rvPhone
The goal of the this project is to develop a privacy enhanced, simple and fully featured mobile phone.



ece49022-team9/slate
Keep the team's native schematic and board sources here, including any project-specific libraries needed to open them.

Enoch36Yi/AlarmShock
As a chronic deep sleeper, I created AlarmShock to help me wake up on time when standard alarms don't work. The design uses a BMI160 accelerometer and gyroscope to measure wrist movement, an ESP32-S3 MCU, and a DRV2605L…

brendena/Nordic_Pebble_Steel
The goal of this project is to replace the main motherboard in the pebble steel with newer parts. Specifically the cpu will be a Nordic NRF52840.