Skip to the content
PCBKitNew board
4 layers90 × 90 mmElevatorLift, the printed circuit board in 3D

This folder is the hardware design workspace. The KiCad 10 project contains a Rev-A schematic capture and a routed four-layer PCB.

Size
90 × 90 mm
Copper layers
4
Thickness
1.6 mm
Parts
127
Nets
140
Pads
477
Tracks, vias
1,453, 181
Pours
1
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
8 Jul 2026
Updated
11 Oct 2026

Overview

ElevatorLift is an open-source printed circuit board by Nickster44, from the Nickster44/ElevatorLift repository on GitHub. It is a 4-layer board of 90 × 90 mm with 127 parts on 140 nets, routed with 1,453 tracks and 181 vias.

It is built around the ESP32-S3-WROOM-1U-N16R8, LICAL-DEC-MS001-T and TLP291-4, with the CC0603KRX7R9BB104, SMBJ15A and CL21A106KAYNNNE among its other parts. Its parts include 35 resistors, 26 capacitors, 13 connectors, 9 ICs and 5 diodes. It belongs with the ESP32 boards of this library.

Main components

11

README

hardware/README.md

Hardware / KiCad Workspace

This folder is the hardware design workspace. The KiCad 10 project contains a Rev-A schematic capture and a routed four-layer PCB. The source board has passed its current KiCad routing checks, and the production archive contains the corresponding September 19 Gerber and drill outputs.

2026-09-19: sourcing changes (RV3032 RTC, active 4 MHz oscillator, three AC blade terminals and corrected TVS polarity) are present on the PCB and the post-rework KiCad DRC has no errors or unrouted items. The current production archive contains September 19 Gerber and drill outputs, and the current BOM/CPL contain the substituted references. Regenerate all outputs together only if the source board changes again. Follow the local rework and firmware handoff.

For JLCPCB, use the assembly exclusions and sourcing plan. assembly-policy.json controls owner-fit/bare-feature exclusions and verified catalogue corrections; tools/check-assembly-bom.py audits the original exports in production/ without changing them by default.

Files

FilePurpose
ElevatorLift.kicad_proKiCad project
ElevatorLift.kicad_schRoot hierarchical schematic
Power_RevA.kicad_schFused AC input and isolated 12 V, 5 V and 3.3 V rails
MCU_Storage_RevA.kicad_schESP32-S3, USB, MRAM, RTC and service interfaces
VFD_Interface_RevA.kicad_sch3.3 V/5 V UART translation; communications-only enable, no MCU RUN output
Encoder_Counter_RevA.kicad_schIsolated encoder inputs and LS7366R counter
IO.kicad_schLinx RF, monitored field inputs and light output; optional AUX removed
ElevatorLift.kicad_pcbRouted 90 mm x 90 mm, four-layer source board with 86 mm corner-hole centers; source for the September 19 production package
ElevatorLift_Custom.kicad_sym / ElevatorLift_Custom.prettyProject-owned custom symbols and corrected/provisional footprints
SnapEDA-LibraryRepository-owned copy of imported symbols, footprints and supplied STEP files
sym-lib-table / fp-lib-tableProject library registrations using portable ${KIPRJMOD} paths
architecture-blocks.mdSchematic page/block plan

Current Schematic Pages

  1. Root hierarchy and design notes.
  2. Power (Power_RevA).
  3. MCU and storage (MCU_Storage_RevA).
  4. VFD interface (VFD_Interface_RevA).
  5. Encoder counter (Encoder_Counter_RevA).
  6. Consolidated RF, field inputs and outputs (IO).

The superseded standalone RF, safety, output and connector child sheets were removed after their contents were consolidated into the active Rev-A hierarchy.

Rev-A Capture Assumptions

Use the hardware requirements matrix and the main README physical verification checklist as the source of truth. The current schematic assumptions are:

  • Target PCB outline: 90 mm x 90 mm; corner mounting-hole centers 86 mm apart. The reported 12 mm underside and approximately 40 mm upper clearances are enclosure estimates, not defined keepout radii. Verify screw-head/standoff envelopes and the estimated 2.56 mm hole diameter before layout release.
  • Main supply: fused 120 VAC + neutral to exact RECOM RAC10-12SK/277; schematic input tabs J20/J21/J22 are Keystone 1287 LINE/NEUTRAL/CHASSIS; protected 12 V distribution uses MF-MSMF075/24-2; 5 V uses R-78E5.0-0.5; and 3.3 V uses AP63203 with Bourns SRP7028A-2R2M. F40 remains 1.1 A hold, now 33 V; 25 W lighting is not qualified.
  • RTC: U13 is RV-3032-C7 at 0x51, with primary-cell charging disabled and backup switchover requiring configuration. The PCB pin map and inhibited calendar firmware driver are updated; retention requires bench qualification.
  • Counter clock: Y30 OT32254MJBA4SL active 4 MHz oscillator feeds U32 fCKi; fCKo is NC. C30 is 100 nF supply bypass; C31 is removed.
  • 5 V source sharing: separate LM66100DCKR ideal diodes isolate the onboard 5 V converter and USB VBUS before they join the 5 V rail. USB VBUS alone does not power the separate 3.3 V regulator; an approved bench-power procedure remains necessary.
  • VFD serial: the TXS0104E circuit matches the field design, with the TSW-104-07-G-S header ordered 5 V, GND, RX, TX. Assembled-board pinout and bench behavior remain release gates.
  • Encoder: 12 V field inputs use 2.2 kOhm LED resistors into TLP291-4 isolation. This intentionally replaces the observed legacy 270 ohm values to avoid excessive optocoupler current; verify reliable switching on the actual encoder.
  • RF: RXM-418-LR and LICAL-DEC-MS001 support is mandatory; include a separate wired LEARN interface plus a local service button/pads.
  • Light output: protected 12 V MOSFET output with an onboard/external supply selector. The previous 750 mA lighting operated from the 10 W RAC10 supply; verify Rev-A load margin, and select the external 12 V lamp input if controller demand or upgraded lighting exceeds the onboard budget.
  • Service station: J43 accepts dry-contact SERVICE KEY and HOLD-TO-RUN inputs with a shared GND; J44 accepts dry-contact SERVICE UP and SERVICE DOWN inputs with a shared GND. Use a maintained key switch and momentary controls. These are optocoupler-conditioned MCU inputs sharing controller GND, not an independent galvanic barrier or a safety-rated enabling circuit.
  • Current MCU assignment: LIMIT_UP GPIO43/module pin 37 through 1k R62; LIMIT_DOWN GPIO44/pin 36; SERVICE_KEY GPIO3/pin 15. GPIO35/36/37 remain NC for octal PSRAM. J11 UART pins 3/4 are now NC; use native USB. Preserve active-low inputs and default JTAG eFuses; see the reset/boot details in the current handoff.
  • GPIO42 is VFD_COMMS_ENABLE and connects only U24 OE plus R24's 10k pulldown. R25/U25/J25/TP26 and AUX R59/R60/Q41/F41/D42/J47 are removed. The separate external hardwired safety loop remains the required RUN authority, subject to VFD configuration verification.

PCB Preparation Status

  • The current board contains 127 footprints (including four mounting holes) and 140 nets. The 90 x 90 mm outline runs from (97.26,52.29325) to (187.26,142.29325) mm. H1–H4 are plated 2.6 mm holes with 3.0 mm exposed copper pads on CHASSIS, retaining 86 mm spacing and a 2 mm offset from each adjacent edge. The custom footprint is ElevatorLift_Custom:MountingHole_2.6mm_Pad3.0mm_CHASSIS. CHASSIS remains separate from circuit GND.
  • The board is routed and zones are filled. In1.Cu is the continuous SELV GND reference. In2.Cu is intentionally a mixed routing layer with GND fill because the board could not be completed within the available outer-layer routing area. This prototype decision is recorded in the routing and EMI plan.
  • Net classes retain 3.2 mm mains clearance, 0.8 mm SELV power track width, 1.0 mm LIGHT_POWER track width and provisional USB differential-pair settings.
  • The downloaded ESP32 module footprint contained invalid 0.2 mm plated holes. ElevatorLift_Custom:ESP32-S3-WROOM-1U-N16R8_CorrectedV2 replaces it with the correct perimeter geometry and nine symbol-compatible exposed-pad segments.
  • The mains input uses separate Keystone 1287 LINE, NEUTRAL and CHASSIS tabs. The source board includes RV-3032, powered Y30 oscillator, revised TVS polarity and C31 removal; see the 2026-09-17 handoff for exact pin and purchasing changes.
  • Current verification on 2026-09-19: ERC reports 0 errors and 35 warnings; PCB DRC reports 0 errors, 0 unrouted items and 120 library/mismatch warnings, with zero schematic-parity findings. The 227 pin/comms connectivity assertions also pass against the current export and live PCB pads.
  • Owner review accepted the USB routing, mixed In2 routing, isolation clearance and physical-clearance decisions for this prototype. The library warnings are intentionally deferred; they must not be cleared by an uncontrolled footprint refresh.
  • production/Elevator_Lift_Controller_A0.zip contains September 19 Gerber and drill files, while the BOM/CPL record RV3032, the Y30 oscillator, J20/J21/J22 mains tabs and C31 removal. Regenerate the complete package only if this source board changes again.

Dated review results are evidence, not a live release status. See the external-box review for the latest field-interface evidence and unresolved independent stopping authority.

Portable Project Libraries

Open ElevatorLift.kicad_pro, not an individual child sheet. Both project library tables use ${KIPRJMOD} paths:

  • SnapEDA resolves to hardware/SnapEDA-Library.
  • ElevatorLift_Custom resolves to the custom symbol file and footprint folder beside the project.

The repository-owned SnapEDA directory is a byte-for-byte copy of the imported download and includes the supplied STEP files. Standard KiCad libraries are still required, so install KiCad 10 with its normal symbol and footprint packages on the destination computer.

See field observations and the capture register for the confirmed observations, reusable-parts register, and the remaining release gates.

KiCad Tooling

This project is pinned to KiCad 10.0.4. Use tools\kicad.ps1 rather than a generic kicad-cli command so automated checks do not accidentally run against the also-installed KiCad 8 version.

powershell
# From the repository root
powershell -ExecutionPolicy Bypass -File hardware\tools\kicad.ps1 -Action Version
powershell -ExecutionPolicy Bypass -File hardware\tools\kicad.ps1 -Action Validate
powershell -ExecutionPolicy Bypass -File hardware\tools\kicad.ps1 -Action Gui

Validate writes KiCad-native ERC and DRC JSON reports to hardware\reports by default. The reports are generated design-review artifacts and should be regenerated whenever the schematic or board changes.

The helper scripts auto-detect conventional OneDrive/Documents KiCad plugin locations. On a different layout, set KONNECT_PLUGIN_ROOT to the installed Konnect directory and KICAD_10_BIN to the KiCad 10 bin directory. Neither environment variable is required merely to open and edit the project in KiCad. Use PowerShell 7 for the Konnect batch helper; the basic KiCad launcher also supports Windows PowerShell 5.1.

Parts

127
QtyValueFootprintReferences
810kResistor_SMD:R_0603_1608MetricR49, R50, R51, R52, R53, R54, R55, R56
82.2kResistor_SMD:R_0603_1608MetricR41, R42, R43, R44, R45, R46, R47, R48
4100nCapacitor_SMD:C_0603_1608MetricC40, C41, C42, C43
42.6mm CHASSISElevatorLift_Custom:MountingHole_2.6mm_Pad3.0mm_CHASSISH1, H2, H3, H4
31kResistor_SMD:R_0603_1608MetricR20, R61, R62
2100kResistor_SMD:R_0603_1608MetricR40, R58
222u 10VCapacitor_SMD:C_1206_3216MetricC24, C25
2SMBJ15ADiode_SMD:D_SMBD20, D41
2TLP291-4Package_SO:SOIC-16_4.55x10.3mm_P1.27mmU42, U43
1+12V TESTTestPoint:TestPoint_Pad_D1.0mmTP20
1+3V3 TESTTestPoint:TestPoint_Pad_D1.0mmTP22
1+5V TESTTestPoint:TestPoint_Pad_D1.0mmTP21
10.75A HOLD 24V PTCFuse:Fuse_1812_4532MetricF21
10RResistor_SMD:R_0603_1608MetricR21
11.1A HOLD 33V PTCFuse:Fuse_1812_4532MetricF40
1100RResistor_SMD:R_0603_1608MetricR57
1100n 25VCapacitor_SMD:C_0603_1608MetricC21
1100n 3V3Capacitor_SMD:C_0603_1608MetricC27
1100n 5VCapacitor_SMD:C_0603_1608MetricC28
1100n BSTCapacitor_SMD:C_0603_1608MetricC26
1100nF 12V FIELD DECOUPLINGCapacitor_SMD:C_0603_1608MetricC34
1100nF 74HC14 decouplingCapacitor_SMD:C_0603_1608MetricC33
1100nF ESP32 decouplingCapacitor_SMD:C_0603_1608MetricC14
1100nF LS7366R decouplingCapacitor_SMD:C_0603_1608MetricC32
1100nF MRAM decouplingCapacitor_SMD:C_0603_1608MetricC11
1100nF OSC DECOUPLINGCapacitor_SMD:C_0603_1608MetricC30
1100nF RTC decouplingCapacitor_SMD:C_0603_1608MetricC13
1100u 63VCapacitor_THT:CP_Radial_D8.0mm_P3.50mmC20
110k A pull-upResistor_SMD:R_0603_1608MetricR32
110k B pull-upResistor_SMD:R_0603_1608MetricR33
110k BOOT pull-upResistor_SMD:R_0603_1608MetricR13
110k EN pull-upResistor_SMD:R_0603_1608MetricR12
110k OE pull-downResistor_SMD:R_0603_1608MetricR24
110uCapacitor_SMD:C_0805_2012MetricC44
110u 10VCapacitor_SMD:C_0805_2012MetricC22
110u 25VCapacitor_SMD:C_1206_3216MetricC23
110uF ESP32 bulkCapacitor_SMD:C_0805_2012MetricC15
11287 AC LINEElevatorLift_Custom:Keystone_1287_Tab_6.35x0.81mmJ20
11287 AC NEUTRALElevatorLift_Custom:Keystone_1287_Tab_6.35x0.81mmJ21
11287 CHASSIS PEElevatorLift_Custom:Keystone_1287_Tab_6.35x0.81mmJ22
11k STATUS LEDResistor_SMD:R_0603_1608MetricR14
11u 5V OUTCapacitor_SMD:C_0603_1608MetricC17
11u USB INCapacitor_SMD:C_0603_1608MetricC16
11uFCapacitor_SMD:C_0603_1608MetricC29
11uF EN reset delayCapacitor_SMD:C_0603_1608MetricC12
12.2k ENCODER A LEDResistor_SMD:R_0603_1608MetricR30
12.2k ENCODER B LEDResistor_SMD:R_0603_1608MetricR31
12.2uHInductor_SMD:L_Bourns_SRP7028A_7.3x6.6mmL20
13V3 OKLED_SMD:LED_0603_1608MetricD22
14.7k I2C SCL pull-upResistor_SMD:R_0603_1608MetricR17
14.7k I2C SDA pull-upResistor_SMD:R_0603_1608MetricR16
15.1k 1% CC1Resistor_SMD:R_0603_1608MetricR10
15.1k 1% CC2Resistor_SMD:R_0603_1608MetricR11
174HC14D SCHMITT CONDITIONINGPackage_SO:SOIC-14_3.9x8.7mm_P1.27mmU31
1AO3400APackage_TO_SOT_SMD:SOT-23Q40
1AP63203WU 3V3 2APackage_TO_SOT_SMD:TSOT-23-6U20
1BAT54WS-7-FDiode_SMD:D_SOD-323D40
1BOOTButton_Switch_SMD:SW_SPST_PTS810BOOT1
1BOOT RESET HEADER - UART PINS 3/4 NCConnector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_VerticalJ11
1CONSMA002 (418 MHz ANT)ElevatorLift_Custom:SMA_TE-Linx_CONSMA002_RightAngleJ40
1ED300/3 EXT LIGHT 12V / GND / SPARETerminalBlock_Altech:Altech_AK300_1x03_P5.00mm_45-DegreeJ45
1ED300/3 LIGHT + / SW- / GNDTerminalBlock_Altech:Altech_AK300_1x03_P5.00mm_45-DegreeJ46
1ED300/3 LIMIT UP DOWN GNDTerminalBlock_Altech:Altech_AK300_1x03_P5.00mm_45-DegreeJ42
1ED300/3 SAFETY HOME GNDTerminalBlock_Altech:Altech_AK300_1x03_P5.00mm_45-DegreeJ41
1ED300/3 SERVICE KEY HOLD GNDTerminalBlock_Altech:Altech_AK300_1x03_P5.00mm_45-DegreeJ43
1ED300/3 SERVICE UP DOWN GNDTerminalBlock_Altech:Altech_AK300_1x03_P5.00mm_45-DegreeJ44
1ENCODER A: +12V GND ATerminalBlock_Altech:Altech_AK300_1x03_P5.00mm_45-DegreeJ30
1ENCODER B: +12V GND BTerminalBlock_Altech:Altech_AK300_1x03_P5.00mm_45-DegreeJ31
1ENC_A_CLEANTestPoint:TestPoint_Pad_D1.0mmTP32
1ENC_A_FIELDTestPoint:TestPoint_Pad_D1.0mmTP30
1ENC_B_CLEANTestPoint:TestPoint_Pad_D1.0mmTP33
1ENC_B_FIELDTestPoint:TestPoint_Pad_D1.0mmTP31
1ERZ-V14D241 150VACVaristor:RV_Disc_D15.5mm_W5.2mm_P7.5mmRV20
1ESP32-S3-WROOM-1U-N16R8ElevatorLift_Custom:ESP32-S3-WROOM-1U-N16R8_CorrectedV2U10
1GREEN STATUSLED_SMD:LED_0603_1608MetricD11
1LICAL-DEC-MS001SnapEDA:20-SSOPU41
1LIGHT SUPPLY SELECTConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJP40
1LM66100DCKRPackage_TO_SOT_SMD:SOT-363_SC-70-6U21
1LM66100DCKR USB IDEAL DIODEPackage_TO_SOT_SMD:SOT-363_SC-70-6U14
1LS7366R-S QUADRATURE COUNTERPackage_SO:SOIC-14_3.9x8.7mm_P1.27mmU32

The 106 most common of 127 parts.

Questions

How big is the ElevatorLift PCB?

It measures 90 × 90 mm and has 4 copper layers, 1.6 mm thick.

What parts does the ElevatorLift use?

127 parts, built around the ESP32-S3-WROOM-1U-N16R8, LICAL-DEC-MS001-T, TLP291-4 and CC0603KRX7R9BB104. 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 ElevatorLift KiCad files?

From the Nickster44/ElevatorLift repository on GitHub, at the commit this page was made from: the board is hardware/ElevatorLift.kicad_pcb and its schematic hardware/ElevatorLift.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the ElevatorLift design in my own project?

Its repository states no licence, so its author keeps all rights: ask Nickster44 before reusing the design.

Similar boards

  • 2 layers177 × 35 mmPower, the printed circuit board in 3D

    Power

    plektra/syntsamix

    Analog mixer for synthesizers

    97 parts
  • 4 layers45 × 16.5 mmHadesGPSDongle, the printed circuit board in 3D

    HadesGPSDongle

    pms67/HadesFCS

    Complete flight control system designed from scratch. Hardware designed with KiCad.

    27 parts1kBSD-3-Clause
  • 4 layers64 × 59 mmDoorbell, the printed circuit board in 3D

    Doorbell

    gunnarbeutner/doorbell

    doorbell.kicadsch / doorbell.kicadpcb are the authoritative source — edit them in KiCad. build.sh never authors copper; it runs the checks KiCad's own DRC/ERC can't express and exports the fab outputs:

    119 parts1MIT
  • 4 layers60 × 120 mmTheoros, the printed circuit board in 3D

    Theoros

    Majorwhiskey/gps-lora

    Theoros is a USB-C GPS logger and LoRa tracker built on the ESP32-S3. It logs 1 Hz u-blox M10 fixes to microSD, shows status on an OLED and sends AES-128-CCM encrypted position over 868 MHz LoRa.

    88 partsCERN-OHL-P-2.0
  • 2 layers66.8 × 34 mmESP8266, the printed circuit board in 3D

    ESP8266

    MaloufSleep/ME-ESP8266

    Malouf Electronics - ESP8266 Dev Board

    127 parts204MIT
  • 4 layers118 × 117 mmCm4-robot, the printed circuit board in 3D

    Cm4-robot

    Twisted-Fields/acorn-robot-electronics

    PCB hardware designs in KICAD for Acorn, the precision farming rover from Twisted Fields.

    268 parts81
  • 2 layers53.9 × 62.6 mmMoon light, the printed circuit board in 3D

    Moon light

    HeyPCB/moon-light

    Luna, the night-light moon: A sleepy moon that turns on at dusk and tucks itself in after you fall asleep. KiCad 10, heypcb.ai merch.

    36 parts1CERN-OHL-S-2.0
  • 4 layers101 × 51.5 mmQuack core, the printed circuit board in 3D

    Quack core

    HeyPCB/quack-core

    Brain board for the Open Duck Mini: Pi Zero 2W carrier, 14-servo STS bus, fused 2S power path in stitched copper zones (15-18 A battery side), USB-C charging with balancing, IMU.

    138 parts1CERN-OHL-S-2.0