
Temp Monitor
Alex-C-EE/Reliable-Temp-Monitor
A CAN Node designed to take temperature measurement from 3 analog-output sensors and control 2x 24V fans

Custom 4-layer PCB, 82.65 × 47.63 mm, 4 × M2.5 mounting holes (75 × 40 mm).
ESP32 VESC Controller is an open-source printed circuit board by jawedhakimi, from the jawedhakimi/Hiking_trailer repository on GitHub. It is a 4-layer board of 82.6 × 47.6 mm with 108 parts on 105 nets, routed with 665 tracks and 307 vias.
It is built around the ESP32-S3-WROOM-1-N16R8, TJA1051T/3/1 and ADS1115IDGS, with the AMS1117, ICM-20948 and H3V3L10B among its other parts. Its parts include 37 capacitors, 34 resistors, 12 diodes, 8 connectors and 7 ICs. It belongs with the ESP32 boards of this library.
A motorised hiking trailer that follows its handle. You walk; the trailer pushes itself. A spring-centred potentiometer in the handle measures how hard you pull or push, and an ESP32-S3 controller turns that into a speed (or torque) command for a VESC motor controller over CAN. The trailer watches its own orientation with an IMU and cuts the motor if it tips over, shows live status on a small touchscreen, and hosts its own WiFi dashboard for telemetry, tuning and calibration — no app, no internet, no reflashing to change settings.
by Jawed Hakimi
handle pot ──► ADS1115 ──I2C──┐
│
ICM-20948 IMU ──────SPI───────┤ ┌──────────────┐ CAN ┌──────┐
touch LCD (ST7789+CST816S) ───┼─► ESP32-S3 controller ─┼─TJA1051─► VESC ├─► hub motor
buzzer / LEDs / VBAT divider ─┘ └──────┬───────┘ └──────┘
│ WiFi AP
phone / laptop
(web dashboard, 192.168.4.1)Drive
Safety
Touchscreen (1.69", 280×240)
Web dashboard (WiFi AP Hiking-trailer, http://192.168.4.1/ or http://hiking-trailer.local/)
| Path | What it is |
|---|---|
SW/VESC CAN interface/ | Main firmware (PlatformIO, ESP32-S3 N16R8): control loop, CAN, IMU, LCD, web server + dashboard. Has its own detailed README. |
SW/GUI/ | SquareLine Studio project for the touchscreen UI. Its export is copied into the firmware's lib/ui/ (never its lv_conf.h). |
SW/VESC motor config/ | vesc_mcconf.xml — VESC Tool motor configuration backup (FOC, 14 pole pairs). |
SW/ESP32 CAN test/ | Minimal TWAI/CAN bring-up test for the TJA1051 transceiver. |
HW/ESP32_VESC_controller/ | KiCad project of the controller PCB (schematic sheets: ESP32-S3, power, CAN/RS485, sensors, connectors, thermals). |
HW/ESP32_VESC_Controller.pdf | Schematic as PDF. |
HW/Hardware_Template/ | Board reference: every pin as #defines (board_pins.h), working platformio.ini, and a self-test firmware for bringing up a new board. See its README. |
HW/Hiking_trailer.step | 3D model of the trailer assembly. |
Mech/ | STEP models: controller PCB, enclosure face plate, wall mounts, display. |
Custom 4-layer PCB, 82.65 × 47.63 mm, 4 × M2.5 mounting holes (75 × 40 mm).
| Part | Role |
|---|---|
| ESP32-S3-WROOM-1-N16R8 | Main MCU (16 MB flash, 8 MB PSRAM) |
| TJA1051T/3 | CAN transceiver to the VESC (500 kbit/s, controller ID 97 by default) |
| ADS1115 | 16-bit ADC for the handle potentiometer (channel A0) |
| ICM-20948 | 9-axis IMU: fall detection + tilt-compensated compass |
| ST7789 1.69" LCD + CST816S touch | On-trailer display |
| Piezo buzzer, 2 LEDs | Warnings, CAN status (IO40), error (IO41) |
| Battery divider (510k/15k) | ESP32-side pack voltage (alternative to the VESC's reading) |
| VESC | Motor controller (FOC), drives the hub motor |
Power comes in on J2 (+48 V nominal, max ≈ 80 V) or USB-C for programming.
Main pins: CAN TX/RX = IO17/IO18 · I2C (ADS1115) SDA/SCL = IO7/IO6 · IMU CS/SCK/MOSI/MISO = IO8/IO12/IO11/IO13 (SPI bus shared with the LCD, LCD CS = IO10) · touch I2C SDA/SCL = IO47/IO48 · buzzer IO39 · VBAT IO4. Full tables: firmware README and hardware template.
data/) on LittleFS.include/config.h
only holds pins and first-boot defaults.SW/VESC CAN interface/ as a PlatformIO project.pio run --target upload # firmware
pio run --target uploadfs # web dashboardHiking-trailer (password trailerhiking), open
http://192.168.4.1/, and change the password on the System tab.This is a home-built motorised vehicle that moves on its own. The firmware's fail-safes are a backstop, not a guarantee:
Work in progress. Working: CAN control of the VESC, pot calibration, web dashboard, IMU, touchscreen. Still to verify on the real trailer: fall thresholds, the new fault detection, the touchscreen layout, and real wheel diameter / gear ratio. Ideas for later: live requested-vs-actual speed chart and data logging, hill hold, battery range estimate, GPS, lights.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 17 | 10kΩ | PCM_JLCPCB:R_0402 | R1, R2, R3, R4, R5, R8, R19, R25, R28, R29, R30, R31, R32, R33, R34, R35 +1 |
| 12 | 4.7uF | PCM_JLCPCB:C_0603 | C3, C4, C5, C6, C8, C19, C20, C21, C22, C23, C24, C32 |
| 8 | 2.2nF | PCM_JLCPCB:C_0402 | C1, C2, C7, C10, C34, C35, C36, C37 |
| 8 | 2.2uF | PCM_JLCPCB:C_0805 | C11, C12, C13, C14, C15, C16, C17, C18 |
| 4 | BM08B-GHS-TBT_LF__SN__N_ | Added comps:JST_BM08B-GHS-TBT_LF__SN__N_ | P1, P2, P3, P4 |
| 4 | H3V3L10B | PCM_JLCPCB:D_DFN1006-2L | D3, D4, D11, D12 |
| 4 | MountingHole_Pad | MountingHole:MountingHole_2.7mm_M2.5_Pad | H1, H2, H3, H4 |
| 3 | 100kΩ | PCM_JLCPCB:R_0402 | R15, R16, R21 |
| 3 | 100nF | PCM_JLCPCB:C_0402 | C25, C33, C38 |
| 3 | 2.2uF | PCM_JLCPCB:C_0402 | C29, C30, C31 |
| 3 | 22uF | PCM_JLCPCB:C_1206 | C26, C27, C28 |
| 3 | Red | PCM_JLCPCB:D_0603 | D2, D6, D10 |
| 2 | 1N4001W | PCM_JLCPCB:D_SOD-123FL | D8, D9 |
| 2 | 39kΩ | PCM_JLCPCB:R_0402 | R23, R24 |
| 2 | 5.1kΩ | PCM_JLCPCB:R_0402 | R12, R13 |
| 2 | Tactile Button, 160gf | PCM_JLCPCB:SW_TS-1088-AR02016 | S1, S2 |
| 1 | 0Ω | PCM_JLCPCB:R_0402 | R26 |
| 1 | 120Ω | PCM_JLCPCB:R_1206 | R27 |
| 1 | 15kΩ | PCM_JLCPCB:R_0402 | R11 |
| 1 | 1kΩ | PCM_JLCPCB:R_0402 | R7 |
| 1 | 2.4kΩ | PCM_JLCPCB:R_0402 | R20 |
| 1 | 200Ω | PCM_JLCPCB:R_0402 | R22 |
| 1 | 20kΩ | PCM_JLCPCB:R_0402 | R14 |
| 1 | 510kΩ | PCM_JLCPCB:R_0402 | R10 |
| 1 | 56kΩ | PCM_JLCPCB:R_0402 | R17 |
| 1 | 8.2kΩ | PCM_JLCPCB:R_0402 | R18 |
| 1 | 8uH2-5A | Downloded_footprints:IND-SMD_L6.0-W6.0 | L1 |
| 1 | ADS1115IDGS | Package_SO:TSSOP-10_3x3mm_P0.5mm | U6 |
| 1 | AMS1117 | PCM_JLCPCB:SOT-223_L6.5-W3.5-P2.30-LS7.0-BR | U2 |
| 1 | AMS1117 | PCM_JLCPCB:SOT-223-3_L6.5-W3.4-P2.30-LS7.0-BR | U3 |
| 1 | AO3400A | PCM_JLCPCB:Q_SOT-23 | Q1 |
| 1 | BM14B-GHS-TBT_LF__SN__N_ | Connector_JST:JST_GH_BM14B-GHS-TBT_1x14-1MP_P1.25mm_Vertical | J3 |
| 1 | Conn_01x02_Socket | Connector_PinHeader_1.27mm:PinHeader_1x02_P1.27mm_Vertical | J4 |
| 1 | Connector, USB-TYPE-C-16P | PCM_JLCPCB:TYPE-C-SMD_HX-TYPE-C-16PIN | J1 |
| 1 | ESP32-S3-WROOM-1-N16R8 | RF_Module:ESP32-S3-WROOM-1 | U1 |
| 1 | ICM-20948 | Sensor_Motion:InvenSense_QFN-24_3x3mm_P0.4mm | U5 |
| 1 | Jumper_3_Open | Jumper:SolderJumper-3_P1.3mm_Open_RoundedPad1.0x1.5mm_NumberLabels | JP1 |
| 1 | LMR38020SDDAR | Added comps:SOIC127P600X170-9N | IC1 |
| 1 | PKLCS1212E4001-R1 | Downloded_footprints:SPKR_PKLCS1212E4001-R1 | LS1 |
| 1 | SM06B-GHS-TB_LF__SN_ | Added comps:JST_SM06B-GHS-TB_LF__SN_ | J2 |
| 1 | SS110F | PCM_JLCPCB:D_SMAF | D7 |
| 1 | SS52C | PCM_JLCPCB:D_SMC | D5 |
| 1 | TJA1051T-3 | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm | U4 |
| 1 | Yellow | PCM_JLCPCB:D_0603 | D1 |
It measures 82.6 × 47.6 mm and has 4 copper layers, 1.6 mm thick.
108 parts, built around the ESP32-S3-WROOM-1-N16R8, TJA1051T/3/1, ADS1115IDGS and AMS1117. 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 jawedhakimi/Hiking_trailer repository on GitHub, at the commit this page was made from: the board is HW/ESP32_VESC_controller/ESP32_VESC_Controller/ESP32_VESC_Controller.kicad_pcb and its schematic HW/ESP32_VESC_controller/ESP32_VESC_Controller/CAN_RS485.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 jawedhakimi before reusing the design.

Alex-C-EE/Reliable-Temp-Monitor
A CAN Node designed to take temperature measurement from 3 analog-output sensors and control 2x 24V fans



c-lydia/SmartDB
A distribution board system designed for automatic electrical fault monitoring using Digital Signal Processing (FFT analysis), Isolation Forest, and YOLO thermal imaging detection with a Mobile App, alerting system, and…

openUC2/TechnicalDocs-openUC2-HoloBox
This is the holographic box for openUC2


jasonbowman55/PCB_Design
This repository will hold all of the necessary files for me to begin learning how to better design PCB boards, as well as project files for various PCB design projects.

sarthakchikte0312/MSPM0L1105_Dev_Board
Custom MSPM0L1105 development board designed in KiCad with USB, UART, SWD, and GPIO support.