Linux Cyberdeck Design

There’s still a moderate amount left before this is a full manufacturable board. The first-pass schematic is started, but we are not ready for PCB layout/manufacturing yet.
Main things still left to figure out
  1. Display connection
    • Exact Waveshare 6.25" DSI LCD-B connector pinout
    • DSI lane count
    • Backlight power/current
    • Touch interface, if any
    • Correct FPC connector part
  2. Battery and power
    • Exact 10,000 mAh battery pack
    • Battery connector/current rating
    • Battery protection/NTC details
    • Confirm charger settings for that pack
    • Validate 5 V boost converter can handle CM5 + LTE + display + USB-A peaks
  3. Protection parts
    • USB-C ESD protection
    • USB-A USB 3.0 ESD protection
    • HDMI ESD protection
    • SIM card ESD protection
    • Possibly battery/input fuse or protection
  4. Regulator final values
    • Final inductor part numbers
    • Capacitor voltage/package choices
    • TPS61288 compensation check
    • Thermal/current margin check
    • Layout-sensitive switching-node constraints
  5. CM5 details
    • Decide whether to add RTC backup for CM5 VBAT
    • Decide whether to expose nRPIBOOT/service pads
    • Confirm GPIO assignments for LTE, audio, IMU, keyboard wake
  6. LTE/SIM7600 details
    • Confirm exact SIM7600G-H-M.2 hardware guide handling for VDD_AUX and VDD_1V8
    • Confirm LTE/GNSS antenna connector placement strategy
    • Add SIM ESD
    • Add RF/layout keepout rules
  7. Keyboard board
    • Main-board FPC is planned, but keyboard PCB itself still needs to be designed
    • Need switch/keycap sourcing
    • Need keyboard RP2040 schematic/firmware pin map finalized
  8. Mechanical basics
    • Rough board size
    • Port locations
    • Battery location
    • Screen/keyboard placement constraints
    • Mounting holes
    • Antenna placement/keepouts
  9. PCB layout setup
    • Stackup choice, likely 6-layer because of USB 3.0, HDMI, MIPI DSI, RF, and power density
    • Controlled-impedance rules
    • Differential-pair rules
    • Power trace/current rules
    • Thermal copper areas
  10. Bring-up and manufacturing prep
  • Test pads
  • Debug headers
  • Board bring-up checklist
  • BOM cleanup
  • Footprint review
  • DRC
  • Gerbers/BOM/pick-and-place
My estimate
Schematic is roughly 55–65% figured out.
Full board readiness is more like 30–40% complete, because layout, power validation, protection, display details, and mechanical constraints are still significant.
The biggest blockers are:
  1. Exact display connector/pinout
  2. Exact battery pack
  3. Power validation for the 5 V rail
  4. ESD/protection parts
  5. Mechanical board size/port placement
  6. Keyboard PCB design
Once those are decided, the remaining work becomes much more straightforward.
Power, display, protection
Find display pinout
Validate power rail
Add protection parts
Add test pads
Review battery connector
J4
U11
Y1
Resistance
60 ohms
U5
J2
U4
U3
J12
J3
U1
J6
U10
U1 SD_DAT0 - J3 DAT0
U1 HDMI0_TX2_P - J4 1
U1 USB3_0_TX_P - J2 STDA_SSRX+
U4 FB_2 - R13 P2
U2 DRAIN_1 - U2 DRAIN_2
L4 P2 - U4 SW_1
U11 STATUS - U1 GPIO12
U5 VOUT - R15 P1
U6 FB - R11 P2
U2 DRAIN_1 - U2 DRAIN_2
U3 BAT_2 - U3 BATP
U3 SYS - U4 VIN_1
U11 USIM_CLK - J12 CLK
U2 ADCIN1 - R1 P2
U3 SCL - U2 I2CT_SCL
U2 ADCIN1 - R1 P2
U3 SW2 - L3 P2
U2 DRAIN_1 - U2 DRAIN_2
L6 P2 - C9 P1
U2 LDO_3V3 - C2 P1
U1 HDMI0_CEC - J4 13
U2 LDO_1V5 - C3 P1
R19 P2 - C23 P1
J1 CC1 - U2 CC1
L6 P2 - C9 P1
U1 SD_CLK - J3 CLK
U2 LDO_1V5 - C3 P1
U7 USBDM_DN2/PRT_DIS_M2 - J5 3
L6 P2 - C9 P1
U7 USBDP_DN2/PRT_DIS_P2 - J5 4
U3 SCL - U2 I2CT_SCL
U4 COMP - R19 P1
U1 USB3_0_RX_P - J2 STDA_SSTX+
U3 SYS - U4 VIN_1
J1 CC2 - U2 CC2
U1 SD_DAT3 - J3 CD/DAT3
U5 VOUT - R15 P1
J1 CC1 - U2 CC1
U2 DRAIN_1 - U2 DRAIN_2
U7 PLLFILT - C20 P1
U1 HDMI0_TX0_P - J4 7
U3 SW2 - L3 P2
U7 XTALIN/CLKIN - Y1 XTAL_1
U1 SD_CMD - J3 CMD
U1 HDMI0_HOTPLUG - J4 19
U2 PPHV_3 - U2 PPHV_4
U1 USB3_0_TX_P - J2 STDA_SSRX+
U1 GPIO18 - U10 BCLK
R19 P2 - C23 P1
U11 USIM_CLK - J12 CLK
U7 CRFILT - C19 P1
U1 GPIO19 - U10 LRCLK
R13 P1 - C13 P1
L6 P2 - C9 P1
J5 5 - U1 POWERBUTTON
U3 REGN - C25 P1
J1 DP1 - J1 DP2
U1 HDMI0_TX1_N - J4 6
R13 P1 - C13 P1
L6 P2 - C9 P1
J1 DP1 - J1 DP2
U2 LDO_3V3 - C2 P1
U11 USIM_DATA - J12 I/O
U2 ADCIN3 - R3 P2
U1 HDMI0_CLK_N - J4 12
U1 USB3_0_RX_N - J2 STDA_SSTX-
U12 INT2 - U1 GPIO25
U3 REGN - C25 P1
U2 PPHV_3 - U2 PPHV_4
U4 COMP - R19 P1
U1 +5V(INPUT)__5 - U9 IN
U3 SDA - U2 I2CT_SDA
U3 SW1 - L3 P1
U1 HDMI0_TX0_P - J4 7
U7 XTALOUT - Y1 XTAL_2
U3 PROG - R18 P1
U10 ~SD_MODE - U1 GPIO23
U10 ~SD_MODE - U1 GPIO23
U1 SD_CLK - J3 CLK
U5 L1 - U5 L1
U5 FB - R15 P2
L6 P2 - C9 P1
L6 P2 - C9 P1
U5 VOUT - R15 P1
U5 VIN - U5 VINA
U1 HDMI0_TX1_N - J4 6
U2 PPHV_3 - U2 PPHV_4
U6 FB - R11 P2
J7 1 - U3 BAT_1
U7 XTALOUT - Y1 XTAL_2
U3 SDA - U2 I2CT_SDA
U1 HDMI0_TX0_N - J4 9
U11 USIM_DATA - J12 I/O
U1 +5V(INPUT)__5 - U9 IN
HDMI0_UTILITY_NC
U11 USIM_RST - J12 RST
U3 SDA - U2 I2CT_SDA
U9 EN - U1 VBUS_EN
U3 BAT_2 - U3 BATP
U2 ADCIN4 - R5 P2
U1 HDMI0_SDA - J4 16
U1 HDMI0_CLK_N - J4 12
U5 L1 - U5 L1
U2 LDO_1V5 - C3 P1
U1 SD_DAT2 - J3 DAT2
U3 SYS - U4 VIN_1
U1 USB3_0_DP - J2 D+
J5 5 - U1 POWERBUTTON
U11 MAIN_ANT - J9 SIG
U1 SD_DAT2 - J3 DAT2
U1 SD_DAT1 - J3 DAT1
U3 SCL - U2 I2CT_SCL
U2 ADCIN4 - R5 P2
KBD_SPARE
U2 ADCIN1 - R1 P2
U2 VBUS_IN_3 - U2 VBUS_IN_4
U2 DRAIN_1 - U2 DRAIN_2
U5 L2 - U5 L2
U5 VIN - U5 VINA
U11 ~RESET - U1 GPIO6
J1 VBUS_B__1 - U2 VBUS_IN_1
U11 USIM_VDD - J12 VCC
U7 USBDP_DN2/PRT_DIS_P2 - J5 4
L6 P2 - C9 P1
R13 P1 - C13 P1
R13 P1 - C13 P1
U11 GNSS_ANT - J11 SIG
U3 BTST2 - C18 P1
U3 SW1 - L3 P1
U9 ILIM - R9 P1
U7 USBDP_DN1/PRT_DIS_P1 - U11 USB_DP
U4 SW_2 - C11 P2
U1 HDMI0_SCL - J4 15
U3 TS_2 - R20 P2
U3 PROG - R18 P1
J1 DP1 - J1 DP2
L4 P2 - U4 SW_1
U3 TS_2 - R20 P2
R13 P1 - C13 P1
J1 CC1 - U2 CC1
U12 INT2 - U1 GPIO25
U6 SW - L6 P1
L6 P2 - C9 P1
U11 GNSS_ANT - J11 SIG
U11 AUX_ANT - J10 SIG
R13 P1 - C13 P1
C11 P1 - U4 BST
J1 CC2 - U2 CC2
U5 VIN - U5 VINA
U3 SYS - U4 VIN_1
J1 DN1 - J1 DN2
U10 OUTN - J8 2
U2 LDO_3V3 - C2 P1
R7 P1 - R8 P1
U2 LDO_3V3 - C2 P1
U1 USB3_1_DM - U7 USBDM_UP
U7 RBIAS - R17 P1
L6 P2 - C9 P1
U4 FB_2 - R13 P2
C11 P1 - U4 BST
U1 GPIO21 - U10 DIN
U11 ~PWRKEY - U1 GPIO5
U5 L2 - U5 L2
U1 GPIO19 - U10 LRCLK
U1 USB3_1_DP - U7 USBDP_UP
U4 VIN_2 - U5 VIN
U3 SYS - U4 VIN_1
U1 HDMI0_HOTPLUG - J4 19
U3 BTST1 - C17 P1
U1 USB3_0_DP - J2 D+
L6 P2 - C9 P1
U4 VIN_2 - U5 VIN
U9 ILIM - R9 P1
U1 GPIO18 - U10 BCLK
U5 L2 - U5 L2
U10 OUTP - J8 1
U4 VCC - C12 P1
U1 SD_DAT1 - J3 DAT1
U7 XTALIN/CLKIN - Y1 XTAL_1
U11 AUX_ANT - J10 SIG
U11 USIM_RST - J12 RST
U11 MAIN_ANT - J9 SIG
U11 FLIGHTMODE - U1 GPIO13
U2 VBUS_IN_3 - U2 VBUS_IN_4
U1 USB3_0_TX_N - J2 STDA_SSRX-
J1 DN1 - J1 DN2
U1 HDMI0_CLK_P - J4 10
U1 USB3_0_DM - J2 D-
U2 LDO_1V5 - C3 P1
U11 ~RESET - U1 GPIO6
U1 USB3_0_TX_N - J2 STDA_SSRX-
R13 P1 - C13 P1
J1 DN1 - J1 DN2
U7 RBIAS - R17 P1
J1 VBUS_B__1 - U2 VBUS_IN_1
U2 VBUS_IN_3 - U2 VBUS_IN_4
U3 SCL - U2 I2CT_SCL
U1 HDMI0_SCL - J4 15
U6 SW - L6 P1
U1 +5V(INPUT)__5 - U9 IN
U2 LDO_3V3 - C2 P1
U7 XTALOUT - Y1 XTAL_2
U10 OUTN - J8 2
U5 L1 - U5 L1
U3 SW2 - L3 P2
U5 VOUT - R15 P1
L6 P2 - C9 P1
U9 OUT - J2 VBUS
U9 ~{FAULT} - R10 P1
U2 LDO_3V3 - C2 P1
U7 USBDM_DN2/PRT_DIS_M2 - J5 3
U11 FLIGHTMODE - U1 GPIO13
U3 BAT_2 - U3 BATP
U3 SDRV_2 - C26 P1
U4 COMP - R19 P1
U3 SDRV_2 - C26 P1
U12 INT1 - U1 GPIO24
U5 VIN - U5 VINA
U9 EN - U1 VBUS_EN
U7 USBDM_DN1/PRT_DIS_M1 - U11 USB_DN
U7 USBDP_DN1/PRT_DIS_P1 - U11 USB_DP
U1 USB3_0_RX_P - J2 STDA_SSTX+
U2 PPHV_3 - U2 PPHV_4
U7 USBDM_DN1/PRT_DIS_M1 - U11 USB_DN
U1 HDMI0_TX1_P - J4 4
R7 P1 - R8 P1
U6 FB - R11 P2
U1 GPIO21 - U10 DIN
R7 P1 - R8 P1
U3 SCL - U2 I2CT_SCL
U5 FB - R15 P2
U2 PPHV_3 - U2 PPHV_4
U2 ADCIN3 - R3 P2
U1 USB3_0_DM - J2 D-
U7 CRFILT - C19 P1
U2 VBUS_2 - U2 VBUS_3
U7 XTALIN/CLKIN - Y1 XTAL_1
U2 VBUS_2 - U2 VBUS_3
U1 SD_CMD - J3 CMD
U1 SD_DAT3 - J3 CD/DAT3
U1 HDMI0_TX2_N - J4 3
U1 SD_DAT0 - J3 DAT0
R13 P1 - C13 P1
U11 STATUS - U1 GPIO12
U1 HDMI0_CEC - J4 13
U1 HDMI0_TX2_N - J4 3
U3 BTST1 - C17 P1
U4 SW_2 - C11 P2
U1 USB3_1_DP - U7 USBDP_UP
U3 BTST2 - C18 P1
U2 VBUS_2 - U2 VBUS_3
U1 USB3_0_RX_N - J2 STDA_SSTX-
U4 FB_2 - R13 P2
U10 OUTP - J8 1
U2 ADCIN4 - R5 P2
U11 USIM_VDD - J12 VCC
U1 HDMI0_SDA - J4 16
U1 HDMI0_TX1_P - J4 4
U3 SDA - U2 I2CT_SDA
U9 ~{FAULT} - R10 P1
U5 FB - R15 P2
U3 REGN - C25 P1
U1 USB3_1_DM - U7 USBDM_UP
U5 VIN - U5 VINA
U1 HDMI0_TX0_N - J4 9
L6 P2 - C9 P1
U12 INT1 - U1 GPIO24
U3 SDA - U2 I2CT_SDA
R13 P1 - C13 P1
U7 PLLFILT - C20 P1
U11 ~PWRKEY - U1 GPIO5
U4 VCC - C12 P1
U3 SW1 - L3 P1
U1 HDMI0_CLK_P - J4 10
J7 1 - U3 BAT_1
U9 OUT - J2 VBUS
U3 TS_2 - R20 P2
U3 REGN - C25 P1
L6 P2 - C9 P1
U1 HDMI0_TX2_P - J4 1
U2 ADCIN3 - R3 P2
J1 CC2 - U2 CC2
U5 PGND - U6 GND
J3 VSS - J3 9
C23 P2 - C24 P2
U7 VSS - R17 P2
GND
U11 GND - U11 GND
U7 VSS - R17 P2
R14 P2 - C13 P2
U11 GND - U11 GND
U11 GND - U11 GND
U5 PGND - U6 GND
C1 P2 - C2 P2
J5 2 - J5 MP1
U2 GND_10 - C5 P2
GND
GND
U2 GND_5 - U2 GND_6
U11 GND - U11 GND
U7 VSS - R17 P2
J1 GND_B__1 - J1 SHIELD
J1 GND_A__1 - J1 GND_B
J4 11 - J4 17
U2 GND_10 - C5 P2
U4 AGND - U5 GND
U2 GND_5 - U2 GND_6
U8 EP - RT1 2
R14 P2 - C13 P2
J10 GND - J11 GND
J4 11 - J4 17
C1 P2 - C2 P2
U10 GAIN_SLOT - U12 GND
C1 P2 - C2 P2
U11 GND - U11 GND
C23 P2 - C24 P2
GND
U5 PGND - U6 GND
R14 P2 - C13 P2
U11 GND - U11 GND
R12 P2 - C9 P2
J3 VSS - J3 9
U11 GND - U11 GND
U7 VSS - R17 P2
C25 P2 - U3 ~CE
U11 GND - U11 GND
J1 SHIELD__1 - U2 GND_1
U11 GND - U11 GND
U2 GND_10 - C5 P2
U2 GND_10 - C5 P2
U11 GND - U11 GND
U11 GND - U11 GND
R14 P2 - C13 P2
J7 2 - U3 GND
U11 GND - U11 GND
GND
U11 GND - U11 GND
U5 PGND - U6 GND
R14 P2 - C13 P2
U11 GND - U11 GND
U11 GND - U11 GND
GND
R14 P2 - C13 P2
U9 GND - J2 GND
R12 P2 - C9 P2
J9 GND - J10 GND
U1 GND__50 - J4 2
U2 GND_10 - C5 P2
U11 GND - U11 GND
R12 P2 - C9 P2
U4 AGND - U5 GND
U8 EP - RT1 2
U7 VSS - R17 P2
J3 VSS - J3 9
U7 VSS - R17 P2
U11 GND - U11 GND
C1 P2 - C2 P2
J3 VSS - J3 9
C25 P2 - U3 ~CE
J1 GND_B__1 - J1 SHIELD
J7 2 - U3 GND
U9 GND - J2 GND
U11 GND - U11 GND
J5 2 - J5 MP1
J1 SHIELD__1 - U2 GND_1
J7 2 - U3 GND
U11 GND - U11 GND
J2 SHIELD - R9 P2
GND
R6 P2 - U2 RESERVED_1
U2 GND_5 - U2 GND_6
U2 RESERVED_2 - U2 RESERVED_3
C25 P2 - U3 ~CE
U8 EP - RT1 2
GND
U11 GND - U11 GND
GND
U11 GND - U11 GND
U11 GND - U11 GND
U7 VSS - R17 P2
J3 VSS - J3 9
C23 P2 - C24 P2
U11 GND - U11 GND
U7 VSS - R17 P2
U5 PGND - U6 GND
GND
J10 GND - J11 GND
C1 P2 - C2 P2
R14 P2 - C13 P2
R6 P2 - U2 RESERVED_1
J9 GND - J10 GND
U2 RESERVED_2 - U2 RESERVED_3
J2 SHIELD - R9 P2
J3 VSS - J3 9
J1 GND_A__1 - J1 GND_B
U1 GND__50 - J4 2
U5 PGND - U6 GND
U7 VSS - R17 P2
GND
U11 GND - U11 GND
C1 P2 - C2 P2
J3 VSS - J3 9
U5 PGND - U6 GND
U5 PGND - U6 GND
U10 GAIN_SLOT - U12 GND
U11 GND - U11 GND
C4
Capacitance
2.2uF
C14
Capacitance
22uF
C9
Capacitance
10uF
C6
Capacitance
100uF
C1
Capacitance
10uF
C23
Capacitance
1nF
C5
Capacitance
4.7uF
C11
Capacitance
100nF
C3
Capacitance
10uF
C16
Capacitance
22uF
C8
Capacitance
330pF
C15
Capacitance
22uF
C20
Capacitance
100nF
C24
Capacitance
30pF
C17
Capacitance
47nF
C7
Capacitance
330pF
C10
Capacitance
4.7uF
C18
Capacitance
47nF
C12
Capacitance
2.2uF
C26
Capacitance
1nF
C13
Capacitance
22uF
C25
Capacitance
4.7uF
C21
Capacitance
18pF
C19
Capacitance
100nF
C2
Capacitance
10uF
C22
Capacitance
18pF
R2
Resistance
10kΩ
R3
Resistance
162kΩ
R13
Resistance
732kΩ
R17
Resistance
12kΩ
R1
Resistance
200kΩ
R15
Resistance
1.21MΩ
R16
Resistance
180kΩ
U8
R18
Resistance
6.04kΩ
L3
Inductance
1uH
J5
R8
Resistance
3.3kΩ
L4
Inductance
2.2uH
R4
Resistance
38.3kΩ
R20
Resistance
10kΩ
R19
Resistance
36.5kΩ
R14
Resistance
100kΩ
R10
Resistance
100kΩ
R11
Resistance
453kΩ
L6
Inductance
2.2uH
R12
Resistance
100kΩ
R5
Resistance
200kΩ
R9
Resistance
28.7kΩ
L5
Inductance
1.5uH
R6
Resistance
10kΩ
R7
Resistance
3.3kΩ
U12
U9
J10
J9
J1
J8
J7
J11
U6
RT1
Resistance
10kΩ
U7
U2

Refine this doc
Ask about this doc
Keyboard and Display Direction — Linux Cyberdeck
Status
Draft direction based on the user's latest requirements and researched module documentation.
User Direction
  • Use an RK3588-class SOM carrier rather than a raw RK3588S2 + discrete LPDDR4x board.
  • Battery should be a large tablet-style battery pack sized for useful runtime and enough peak power for the device.
  • Replace the previous AliExpress smart-keyboard uncertainty with:
    • Keyboard reference: M5Stack Unit CardKB / CardKB v1.1.
    • Screen alternative: Waveshare 6.25inch DSI LCD (B).
  • Consider designing a custom keyboard PCB that is slightly longer than the M5Stack CardKB.
M5Stack CardKB Reference Findings
Sources checked:
Design-relevant facts:

Table


ItemFinding
InterfaceI2C
I2C address0x5F
ConnectorHY2.0-4P / Grove-style connector
Connector pinoutGND, 5V, SDA, SCL
Supply5 V
CurrentApprox. 20 mA found in PDF resource; not consistently listed on product page
ControllerCardKB v1.1 page lists ATMega8A; PDF resource also references ATmega328P / MEGA328P-AU, so exact revision matters
Key countProduct page says 50 keys; PDF resource says 56 keys, likely revision/document mismatch
SizeProduct page: 88.0 x 54.0 x 5.0 mm; PDF resource: 84 x 54 x 5 mm
WeightAbout 14–17 g depending source/revision
Custom Keyboard PCB Direction
Recommended direction: build a custom keyboard PCB inspired by CardKB but not constrained to cloning it exactly.
Proposed Electrical Architecture

Diagram


Key Matrix Keyboard MCU I2C to SOM / EC Optional USB HID to SOM Status LEDs / Backlight Optional RK3588 SOM Carrier
  • USB HID keyboard is the lowest-friction Linux interface if the keyboard connects directly to the RK3588 SOM.
  • I2C keyboard is useful if the design includes an embedded controller / power-management MCU that scans keys and wakes the system.
  • Best carrier-board architecture may include both:
    • Keyboard MCU enumerates as USB HID for Linux input.
    • A few wake/power keys also connect to an always-on controller or SOM wake GPIO.
Mechanical Direction
  • Baseline CardKB reference size: roughly 84–88 mm long x 54 mm wide x 5 mm thick.
  • User wants custom keyboard PCB slightly longer than CardKB.
  • Proposed first mechanical target: 100–110 mm long x 54–60 mm wide, pending desired key spacing and enclosure width.
  • Use real switch/keycap geometry before PCB layout. If using tactile domes, Kailh Choc, Blackberry-style keys, or small SMD tact switches, the key pitch and board thickness change significantly.
Waveshare 6.25inch DSI LCD (B) Findings
Sources checked:
Design-relevant facts:

Table


ItemFinding
ProductWaveshare 6.25inch DSI LCD (B), SKU 35000
Resolution720 x 1560
PanelIPS, optical bonding, toughened glass
Brightness500 cd/m²
Touch5-point capacitive touch
Touch interfaceI2C; Goodix touchscreen appears as 10-0014 Goodix Capacitive TouchScreen
Display interfaceRaspberry Pi-style MIPI DSI
RefreshUp to 60 Hz through Raspberry Pi DSI
Power5 V via pogo/spring pins or PH2.0 4-pin cable depending host board
DSI connector15-pin interface definition on panel side; uses 22-pin DSI cable for Pi 5/CM5/CM4/CM3 and 15-pin FPC for Pi 4/3-style boards
DSI lanesPinout shows two data lanes plus clock: DN0/DP0, DN1/DP1, CN/CP
Interface pinout1 GND, 2 DSI1_DN1, 3 DSI1_DP1, 4 GND, 5 DSI1_CN, 6 DSI1_CP, 7 GND, 8 DSI1_DN0, 9 DSI1_DP0, 10 GND, 11 SCL0, 12 SDA0, 13 GND, 14 3V3, 15 3V3
Included cablesDSI-Cable-12cm, 15-pin 1.0 mm FPC cables, PH2.0 4-pin cable
SoftwareRaspberry Pi overlay vc4-kms-dsi-waveshare-panel,6_25_inch; RK3588 support will require SOM vendor device-tree/display-driver compatibility work
Display Integration Risk
The display is documented for Raspberry Pi DSI, not guaranteed plug-and-play on every RK3588 SOM. The SOM must expose a compatible 2-lane MIPI DSI output, I2C for touch, 3.3 V control, 5 V panel power, and Linux device-tree support for the panel/touch controller.
Revised Carrier Architecture Impact
  • Select an RK3588-class SOM with documented MIPI DSI output and Linux DTS examples.
  • Add a panel FPC connector or adapter footprint compatible with the Waveshare cable/pinout.
  • Provide 5 V panel power with enough margin and switch/control if needed.
  • Route DSI as controlled-impedance high-speed differential pairs with tight skew control and solid ground reference.
  • Route I2C touch lines with correct voltage domain and pull-ups.
  • Design the keyboard as a separate low-speed PCB/daughterboard or integrated lower section of the carrier, depending enclosure shape.
Open Questions Before Schematic Capture
  1. Should the keyboard be USB HID, I2C, or both?
  2. What key technology should the custom keyboard use: small tactile switches, low-profile mechanical switches, Blackberry-style keypad, or rubber-dome style?
  3. Desired keyboard dimensions: is 100–110 mm long acceptable, or should it be closer to the original CardKB?
  4. Should the keyboard be a separate replaceable daughterboard or part of the main carrier PCB?
  5. Which exact RK3588 SOM will be used, and does it expose MIPI DSI lanes compatible with the Waveshare screen?
  6. Should the 6.25inch display be portrait, landscape, or physically rotated with software rotation?
  7. What tablet-battery voltage/chemistry should be used: 1S, 2S, or a smart battery pack?
  • Status

  • User Direction

  • M5Stack CardKB Reference Findings

  • Custom Keyboard PCB Direction

  • Proposed Electrical Architecture

  • Recommended Interface Choice

  • Mechanical Direction

  • Waveshare 6.25inch DSI LCD (B) Findings

  • Display Integration Risk

  • Revised Carrier Architecture Impact

  • Open Questions Before Schematic Capture

Linux Cyberdeck

Linux Cyberdeck thumbnail
Portable Linux cyberdeck based on RK3588S2 with LPDDR4x memory, LTE/GNSS M.2, LoRa, USB-C, USB-A 3.0, HDMI, display/keyboard interface, speaker, and battery power.

Properties

LoRa

Linux

Display

Battery

Cellular

Portable Computer

Pricing & Availability

Distributor

Qty 1

Arrow

$27.05–$39.32

Digi-Key

$9.00

HQonline

$12.89

LCSC

$66.13–$66.94

Mouser

$45.67

TME

$8.17

Verical

$22.53–$40.70

Controls