Skip to the content
PCBKitNew board
2 layers80 × 35.2 mmTab5-desk ctrl, the printed circuit board in 3D

Firmware for an M5Stack Tab5 that drives a Flexispot desk and runs the room around it: Home Assistant, Jellyfin, a radar of the planes overhead, the day's timetable and a focus timer. With a simulator and a Bluetooth companion board.

Size
80 × 35.2 mm
Copper layers
2
Thickness
1.6 mm
Parts
19
Nets
15
Pads
75
Tracks, vias
213, 11
Pours
6
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
4 Oct 2026
Updated
2 Nov 2026

Overview

Tab5-desk ctrl is an open-source printed circuit board by wtb04, from the wtb04/smart-flexispot repository on GitHub, published under the Apache-2.0 licence. It is a 2-layer board of 80 × 35.2 mm with 19 parts on 15 nets, routed with 213 tracks and 11 vias.

It is built around the EEU-FR1A471B, BAT54S,215 and SMD1206P050TF/15, with the R-RJ45R08P-C000 and SS14 among its other parts. Its parts include 6 resistors, 3 capacitors, 2 ICs, 2 diodes and 1 fuse. It belongs with the home automation and IoT and radio and wireless boards and the ESP32 and RISC-V boards of this library.

Main components

5

README

pcb/README.md

Desk companion board

A carrier for an ESP32 DevKit V1 (30-pin) that plugs into a LoctekMotion / Flexispot control box over RJ45. It runs off the desk's 5 V, shifts the box's 5 V signal down for the ESP32, and uses the jack's two LEDs for Bluetooth (BT) and the desk link (LINK). What they show is in getting started. The firmware is in ../proxy.

topbottom
3dschematic
the jackfrom behind

Rev2, 80 × 35.2 mm, two layers, 4 × M3. The schematic is also a PDF.

Wiring

RJ45 pinControl boxOn the boardESP32
85 VPTC fuse, SS14 diode, 470 µFVIN
7GNDground pourGND
6box RX220 ΩGPIO17 (TX2)
5box TX, 5 V10k / 15k divider, BAT54S clampGPIO16 (RX2)
4wake ("PIN 20")220 ΩGPIO23
12 / 11LED220 ΩGPIO32, BT
10 / 9LED220 ΩGPIO33, LINK

This is how my control box uses pins 4 to 8: it sends on pin 5 and listens on pin 6, as the published LoctekMotion tables have it. Measure yours before plugging it in. The back of the board names what you probe there: the jack's pin numbers beside its pads with what each carries, BT and LINK by the LED pads, C3's + side, and the DevKit's pin names along both sockets, as on the top.

The companion firmware's defaults are this board's: TX on GPIO17, RX on GPIO16, wake on GPIO23.

Ordering

Upload fab/tab5-desk-ctrl-gerbers.zip, -bom.csv and -cpl.csv to JLCPCB with SMT assembly on the top side. The jack, the two headers and C3 are hand-soldered, see fab/tab5-desk-ctrl-hand-solder.csv. Print fab/tab5-desk-ctrl-check-1to1.pdf at 100 % and hold the jack and the DevKit against it before you order.

Files

The KiCad files are generated by the Python scripts here, so change the scripts rather than the board. make_fab.sh builds everything in fab/, and render.sh the pictures in img/. The scripts look for KiCad 9 where macOS puts it; KICAD9_FOOTPRINT_DIR, KICAD9_SYMBOL_DIR and KICAD_CLI point them elsewhere. The jack is LCSC part C386757, where its datasheet is; its 3D model in 3dmodels/ is LCSC's.

Things to know

  • Only for a box with 5 V on pin 8. Nothing on the board protects against more: a LoctekMotion variant with about 29 V there destroys the capacitors, the DevKit's regulator and probably the ESP32.
  • C3 has a + side. It is the 470 µF electrolytic behind the jack, 10 V or more, 8 mm across and no taller than 11.5 mm, its long leg in the pad marked +. It is optional: the companion also starts without it, with one restart at power-up. It carries the radio's start-up surge: on desk power alone, rev1 browned out and restarted at every boot.
  • Rev1 had pins 5 and 6 the other way round. On a rev1 board the companion needs TX on GPIO16 and RX on GPIO17, in proxy/sdkconfig, and R1 bridged, since commands to the box cannot pass its 10k. GPIO17 then takes the box's 5 V through 220 Ω, which is outside the ESP32's ratings.
  • The diode has to be a BAT54S. The BAT54A and BAT54C come in the same package and both break RX without a sound: one holds the line near 0.6 V, the other keeps its low near 2.7 V. With the box idle, GPIO16 should read about 3.1 V.
  • Use flux made for electronics. Acid flux for plumbing, such as S-39, leaves a residue that conducts: on a rev1 board it leaked about 6 kΩ from pin 6 to ground and held the box's signal down.
  • R2 is 15k. The box's TX measured between 5.01 and 5.17 V; 10k over 15k puts that at 3.0 to 3.1 V, inside the ESP32's 3.3 V with room either side, whichever of those it is.
  • Pick the soldermask, silkscreen and finish on the order form. JLCPCB does not read them from the files.
  • The LED polarity is from the jack's datasheet, not measured. A LED that stays dark is the wrong way round, which does it no harm. At start-up the companion blinks BT twice, LINK twice, then both.

Parts

19
QtyValueFootprintReferences
4220RResistor_SMD:R_0805_2012MetricR3, R4, R5, R6
4M3MountingHole:MountingHole_3.2mm_M3H1, H2, H3, H4
2Socket 1x15 2.54mmConnector_PinSocket_2.54mm:PinSocket_1x15_P2.54mm_VerticalU1A, U1B
1100nF 50VCapacitor_SMD:C_0805_2012MetricC2
110kResistor_SMD:R_0805_2012MetricR1
115kResistor_SMD:R_0805_2012MetricR2
122uF 25VCapacitor_SMD:C_1206_3216MetricC1
1470uF 10VCapacitor_THT:CP_Radial_D8.0mm_P3.50mmC3
1BAT54SPackage_TO_SOT_SMD:SOT-23D2
1PTC 500mAResistor_SMD:R_1206_3216MetricF1
1RJ45 8P8C 2xLEDConnector_RJ:RJ45_Connfly_DS1128-09-S8xx-S_HorizontalRJ45_1
1SS14Diode_SMD:D_SMAD1

Questions

How big is the Tab5-desk ctrl PCB?

It measures 80 × 35.2 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Tab5-desk ctrl use?

19 parts, built around the EEU-FR1A471B, BAT54S,215, SMD1206P050TF/15 and R-RJ45R08P-C000. 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 Tab5-desk ctrl KiCad files?

From the wtb04/smart-flexispot repository on GitHub, at the commit this page was made from: the board is pcb/tab5-desk-ctrl.kicad_pcb and its schematic pcb/tab5-desk-ctrl.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Tab5-desk ctrl design in my own project?

Its repository publishes it under the Apache-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).

Similar boards

  • 4 layers144 × 112 mmQuadcuber, the printed circuit board in 3D

    Quadcuber

    gonewx/quadcuber

    本目录是 A1 电子源目录。打开 quadcuber.kicadpro,包含原生可编辑原理图和四层 PCB、本地符号/封装库。本设计为单块PCB,RP2040、QSPI Flash、晶振、USB-C、驱动和电源均直接焊接在板上;A0的Pico H插装已移除。马达使用EV3裸插座。接线定义仍从 ../wiring/spec.py 导入,固件未改动,也没有把 R/L 固件描述成已支持四臂控制。

    200 parts
  • 2 layers431.2 × 126.4 mmConvertible keyboard pcb, the printed circuit board in 3D

    Convertible keyboard pcb

    TechnikWeber/convertible-keyboard-pcb

    Convertible keyboard PCB: full-size ISO-DE & ANSI with a snap-off numpad that turns it into a TKL (RP2040, USB-C, KiCad). Cheap, clean, modern core to build on — looking for a case designer.

    504 parts
  • 4 layers63.5 × 32 mmGpio breakout, the printed circuit board in 3D

    Gpio breakout

    TensorFleet/koyomi-lvds-hat

    Modified copy of exentio/koyomi-lvds-hat (CERN-OHL-S-2.0) with a solder mask fix for FL1/FL2

    18 partsCERN-OHL-S-2.0
  • 2 layers65 × 65 mmRC CAR V2, the printed circuit board in 3D

    RC CAR V2

    yamahdee/KICAD-RC-CAR

    68 parts
  • 4 layers165 × 100 mmUsb scoring platform, the printed circuit board in 3D

    Usb scoring platform

    AndrewCraswell/agency

    Native KiCad engineering prototype, separate from the earlier ESP32/tscircuit board. Open usb-scoring-platform.kicadpro in KiCad 10; schematic and PCB are the editable source, with no generator required.

    224 partsMIT
  • 2 layers40.1 × 54.3 mmBSPD 2027, the printed circuit board in 3D

    BSPD 2027

    SCFormulaElectric/USC-Electrical-Systems

    71 parts9
  • 4 layers160 × 110 mmHPM6E00FULLPORTRevB, the printed circuit board in 3D

    HPM6E00FULLPORTRevB

    hpmicro/hpm_apps

    hpm apps for hpm sdk

    726 parts35BSD-3-Clause
  • 6 layers80.9 × 63 mmCM4IOv5, the printed circuit board in 3D

    CM4IOv5

    neatstranger/Pi-In-The-Skyy

    PoE Camera, Based on Raspberry Pi CM4

    69 parts24