Skip to the content
4 layers70 × 157.5 mmController Tv Lift, the printed circuit board in 3D

Controller Tv Lift

vyrubaev/TV-Lift-Controller

TVLift Controller is an intelligent controller for TV lift and lower mechanisms, based on the ESP32 microcontroller. The device is designed to control electric drives for TV lifts, automatic furniture opening systems, lifting mechanisms, and other electromechanical systems.

Size
70 × 157.5 mm
Copper layers
4
Thickness
1.6 mm
Parts
103
Nets
89
Pads
385
Tracks, vias
618, 155
Pours
11
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
20 Jul 2026
Updated
4 Oct 2026

Overview

Controller Tv Lift is an open-source printed circuit board by vyrubaev, from the vyrubaev/TV-Lift-Controller repository on GitHub. It is a 4-layer board of 70 × 157.5 mm with 103 parts on 89 nets, routed with 618 tracks and 155 vias.

It is built around the ESP32-WROOM-32, MAX3232ID and SN65HVD230D, with the B0505S-1WE, LM2596S-5.0 and VNH5019ATR-E among its other parts. Its parts include 27 resistors, 26 capacitors, 14 connectors, 10 ICs and 9 diodes. It belongs with the ESP32 boards of this library.

Main components

12

README

README.md

TVLift Controller

Профессиональная платформа управления лифтом для телевизора на базе ESP32.

Проект включает в себя:

  • прошивку контроллера ESP32;
  • мобильное приложение;
  • сервер обновлений и управления;
  • веб-панель администратора;
  • аппаратную документацию;
  • систему удаленного обновления прошивки (OTA — Over-the-Air);
  • полную инженерную документацию.

Основные возможности

  • управление электроприводом лифта;
  • поддержка Wi-Fi и Ethernet;
  • первоначальная настройка через Captive Portal;
  • безопасное удаленное обновление прошивки;
  • хранение настроек во Flash памяти;
  • REST API для мобильного приложения;
  • журнал событий;
  • диагностика устройства;
  • поддержка нескольких аппаратных ревизий.

Архитектура проекта

text
TVLift/

├── docs/               Документация
├── firmware/           Прошивка ESP32
├── backend/            Сервер
├── mobile/             Мобильное приложение
├── web-admin/          Панель администратора
├── hardware/           KiCad (схемы и PCB)
├── tools/              Скрипты и утилиты
├── component-library/  Библиотека компонентов
└── README.md

Документация

Архитектура

ДокументНазначение
00_ProjectVision.mdЦели проекта
01_SystemArchitecture.mdОбщая архитектура
02_FirmwareArchitecture.mdАрхитектура прошивки
03_StateMachine.mdКонечный автомат
04_API.mdREST API
05_OTA.mdСистема обновлений

Аппаратная часть

ДокументНазначение
Board.mdОписание платы
Pinout.mdНазначение выводов
Power.mdСистема питания

Библиотека компонентов

В проекте используется собственная библиотека утвержденных компонентов.

Все новые устройства должны использовать компоненты из этой библиотеки, если нет технической причины выбрать другой элемент.


Используемые технологии

Firmware

  • ESP32
  • ESP-IDF
  • PlatformIO
  • C++17

Backend

  • Python
  • FastAPI
  • PostgreSQL

Mobile

  • Flutter

Web

  • React
  • TypeScript

Основные принципы разработки

Проект строится по следующим правилам:

  • модульная архитектура;
  • минимальная связанность модулей;
  • отсутствие глобальных переменных;
  • отсутствие динамического выделения памяти в рабочем режиме;
  • аппаратная независимость бизнес-логики;
  • документирование всех архитектурных решений;
  • обязательное код-ревью перед слиянием изменений.

Структура прошивки

Firmware состоит из независимых модулей.

  • Boot
  • Configuration
  • Storage
  • Hardware Abstraction Layer (HAL)
  • Network Manager
  • OTA Manager
  • REST API
  • Elevator Controller
  • Logger
  • Diagnostics

Состояния контроллера

Boot

↓

Hardware Init

↓

Load Configuration

↓

Network Connection

↓

Cloud Connection

↓

Ready

↓

Working

↓

Error Recovery


Требования к качеству

  • единый стиль кода;
  • обязательное документирование публичных интерфейсов;
  • отсутствие магических чисел;
  • отсутствие дублирования кода;
  • обязательные журналы ошибок;
  • возможность безопасного восстановления после сбоя.

Версионирование

Используется Semantic Versioning.

MAJOR.MINOR.PATCH

Например

2.4.15


Лицензия

Определяется владельцем проекта.


Статус проекта

🚧 В активной разработке.

Parts

103
QtyValueFootprintReferences
15100 nF 50VCapacitor_SMD:C_0805_2012MetricC1, C2, C3, C4, C5, C7, C9, C11, C13, C14, C16, C17, C21, C23, C26
1210kResistor_SMD:R_0805_2012MetricR1, R4, R6, R7, R11, R12, R13, R17, R18, R25, R27, R28
5100Resistor_SMD:R_0805_2012MetricR2, R9, R10, R15, R16
41844223Connector_Phoenix_MC:PhoenixContact_MC_1,5_3-G-3.5_1x03_P3.50mm_HorizontalJ3, J5, J6, J11
4470Resistor_SMD:R_0805_2012MetricR8, R14, R19, R26
4C5360899Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ8, J12, JP3, JP4
4TS-1187A-BABButton_Switch_SMD:SW_Push_1P1T_XKB_TS-1187ASW1, SW2, SW3, SW4
31 nF 50VCapacitor_SMD:C_0805_2012MetricC18, C19, C24
31844210Connector_Phoenix_MC:PhoenixContact_MC_1,5_2-G-3.5_1x02_P3.50mm_HorizontalJ4, J9, J10
21kResistor_SMD:R_0805_2012MetricR21, R23
2C16133Capacitor_Tantalum_SMD:CP_EIA-3528-21_Kemet-B_HandSolderC15, C22
2C7171Capacitor_Tantalum_SMD:CP_EIA-3216-18_Kemet-AC6, C25
2LL4148Diode_SMD:D_MiniMELFD4, D5
2MountingHoleMountingHole:MountingHole_2.7mm_M2.5_Pad_ViaH2, H4
2MountingHole_PadMountingHole:MountingHole_2.7mm_M2.5_Pad_ViaH1, H3
2PC817Package_DIP:DIP-4_W7.62mmU7, U8
1+24VTestPoint:TestPoint_Pad_D2.0mmTP1
1+3VTestPoint:TestPoint_Pad_D2.0mmTP3
1+5VTestPoint:TestPoint_Pad_D2.0mmTP2
11000 uF 50VCapacitor_THT:CP_Radial_D8.0mm_P3.50mmC20
1120Resistor_SMD:R_0805_2012MetricR3
11836189Connector_Phoenix_MC_HighVoltage:PhoenixContact_MC_1,5_2-G-5.08_1x02_P5.08mm_HorizontalJ2
11844236Connector_Phoenix_MC:PhoenixContact_MC_1,5_4-G-3.5_1x04_P3.50mm_HorizontalJ7
12.2kResistor_SMD:R_0805_2012MetricR5
120SQ045Diode_THT:D_DO-201AD_P15.24mm_HorizontalD1
147Resistor_SMD:R_1206_3216MetricR22
1AMS1117-3.3Package_TO_SOT_SMD:SOT-223-3_TabPin2U6
1C105432Package_TO_SOT_SMD:SOT-23Q2
1C145345OptoDevice:Vishay_MOLD-3PinU2
1C17936Resistor_SMD:R_1206_3216MetricR20
1C19702Capacitor_SMD:C_0603_1608MetricC10
1C25503905Capacitor_SMD:CP_Elec_6.3x7.7C12
1C46550473Capacitor_SMD:CP_Elec_10x10C8
1C5249699Fuse:Fuseholder_Blade_Mini_Keystone_3568F1
1C54620381Connector_PinSocket_2.54mm:PinSocket_2x07_P2.54mm_VerticalJ1
1C55109499Inductor_SMD:L_APV_ANR6045L1
1ESP32-WROOM-32RF_Module:ESP32-WROOM-32U4
1GNDPWRTestPoint:TestPoint_Pad_D2.0mmTP5
1KT-0805GLED_SMD:LED_0805_2012MetricD7
1KT-0805WLED_SMD:LED_0805_2012MetricD6
1KT-0805YLED_SMD:LED_0805_2012MetricLED1
1LM2596S-5Package_TO_SOT_SMD:TO-263-5_TabPin3U5
1MAX3232Package_SO:SOIC-16_3.9x9.9mm_P1.27mmU1
1NCD0805R1LED_SMD:LED_0805_2012MetricLED2
1NetTie_2NetTie:NetTie-2_THT_Pad1.0mmNT2
1SMCJ26ADiode_SMD:D_SMCD3
1SN65HVD230Package_SO:SOIC-8_3.9x4.9mm_P1.27mmU3
1SS34Diode_SMD:D_SMAD8
1Signal GNDTestPoint:TestPoint_Pad_D2.0mmTP4
1VNH5019ATR-EPackage_SO:ST_MultiPowerSO-30U10
1b0505s-1weConverter_DCDC:Converter_DCDC_RECOM_R-78S-0.1_THTU9

More from vyrubaev/TV-Lift-Controller

1
  • 4 layers70 × 157.5 mmTv Lift easy, the printed circuit board in 3D

    Tv Lift easy

    vyrubaev/TV-Lift-Controller

    TVLift Controller is an intelligent controller for TV lift and lower mechanisms, based on the ESP32 microcontroller.

    100 parts

Similar boards

  • 4 layers100 × 80 mmPd brick, the printed circuit board in 3D

    Pd brick

    enkhbold470/pd-brick

    USB-C Power Delivery bench supply: STUSB4500 sink, LM5176 buck-boost, INA228 monitor, 1.2-22 V set over I2C by an ESP32-S3. 4-layer KiCad 10 board.

    120 partsCERN-OHL-S-2.0
  • 4 layers24 × 116 mmAconitum, the printed circuit board in 3D

    Aconitum

    Dennis960/Blumy

    A smart, WiFi-enabled ESP32 soil moisture and plant sensor

    51 parts3
  • 2 layers73.9 × 56.4 mmEsp32 minimal, the printed circuit board in 3D

    Esp32 minimal

    enliktjioe/three-workshops

    HfK Bremen - Three Workshops course from Ralf Baecker

    26 partsGPL-3.0
  • 4 layers50 × 50 mmSTMF103C8T6 Dev Board, the printed circuit board in 3D

    STMF103C8T6 Dev Board

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    52 parts915
  • 4 layers170.2 × 170.2 mmNvme Carrier all M2, the printed circuit board in 3D

    Nvme Carrier all M2

    El-Luhb/nvme-Carrier-for-LattePanda-Mu

    nvme Carrier PCB for the LattePanda Mu compute module

    400 parts12MIT
  • 8 layers120 × 100 mmGeeks ecu, the printed circuit board in 3D

    Geeks ecu

    synthesissolutions/geeksforkids

    458 parts2
  • 2 layers145 × 40 mmAudioAmp, the printed circuit board in 3D

    AudioAmp

    hh-meas/amp

    59 parts

Questions

How big is the Controller Tv Lift PCB?

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

What parts does the Controller Tv Lift use?

103 parts, built around the ESP32-WROOM-32, MAX3232ID, SN65HVD230D and B0505S-1WE. 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 Controller Tv Lift KiCad files?

From the vyrubaev/TV-Lift-Controller repository on GitHub, at the commit this page was made from: the board is hardware/TV_Lift_Kicad files/controller_Tv_Lift.kicad_pcb and its schematic hardware/TV_Lift_Kicad files/controller_Tv_Lift.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Controller Tv Lift design in my own project?

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