Refine this doc
Ask about this doc
# Project Specification — Linux Cyberdeck ## Project Overview **Status:** Draft / architecture review required before schematic capture. Updated direction: Raspberry Pi Compute Module 5 carrier, tablet-style battery, custom keyboard PCB based on M5Stack CardKB proportions, and Waveshare 6.25inch DSI LCD (B) as the display candidate. A portable Linux cyberdeck built around a Raspberry Pi Compute Module 5 carrier board with LTE/GNSS connectivity, LoRa, USB-C PD charging plus USB 2.0 gadget/rpiboot data, USB-A 3.0 host, HDMI, a Waveshare DSI display, split custom keyboard PCB, microSD storage, mono speaker, and compact clamshell battery power. ## Intended Use - Portable Linux computer / cyberdeck prototype. - User-facing compute, networking, radio, display, keyboard, audio, and battery operation. - Current stage: requirements capture and architecture selection; schematic capture should not begin until the compute module, screen/keyboard interface, and battery architecture are confirmed. ## What the Device Should Do - Boot and run Linux on Raspberry Pi Compute Module 5. - Use selected CM5 SKU SC1598 / CM5108000: 8 GB RAM, Lite / 0 GB eMMC, wireless. - Support LTE Cat-4 cellular data and GNSS using a SIM7600G-H-M.2 module. - Support LoRa using an RP2040-LoRa development board with SX1262. - Provide one USB-C port for power and data. - Provide one USB-A 3.0 host port. - Provide one HDMI port. - Connect to the specified screen/keyboard assembly. - Drive a small speaker. - Operate from a battery connection and support charging/power-path behavior. ## Main Features | Feature | Baseline Direction | Status | |---|---|---| | Main compute | Raspberry Pi CM5 SC1598 / CM5108000, 8 GB RAM, Lite / 0 GB eMMC, wireless | Selected | | Cellular/GNSS | SIM7600G-H-M.2 over USB 2.0, with SIM socket and antennas | Feasible, needs exact carrier details | | LoRa | Waveshare RP2040-LoRa daughterboard, preferably as pluggable module | Feasible, band decision needed | | USB-C | PD sink/UFP charging plus USB 2.0 device/gadget/rpiboot data | Confirmed | | USB-A | USB 3.0 host port | Feasible if compute platform exposes USB 3.x host | | HDMI | External HDMI connector and/or internal display feed | Blocking decision | | Display | Waveshare 6.25inch DSI LCD (B), 720 x 1560, MIPI DSI + I2C touch | Candidate selected; SOM compatibility must be checked | | Keyboard | 2-layer keyboard PCB, 60-key tactile/keycap matrix, RP2040 + QMK, USB HID over FPC | Confirmed | | Storage | microSD card slot connected to CM5 Lite SDIO storage interface | Direction selected | | Audio | I2S or USB audio to small class-D speaker amplifier | Needs compute platform interface and speaker spec | | Battery | 2S Li-ion or USB-C PD power-bank style architecture recommended | User decision needed | ## System Architecture Recommended baseline: **design a custom carrier around Raspberry Pi Compute Module 5**. CM5 already includes the processor, LPDDR4x, PMIC sequencing, boot-critical hardware, and Raspberry Pi software support. The carrier handles battery power, USB, LTE/GNSS M.2, LoRa, display, keyboard, audio, and external connectors. ```mermaid flowchart TD BAT[Battery Pack] --> PWR[Charger / Power Path] USBC[USB-C Power/Data] --> PWR PWR --> R5V[5V System Rail] PWR --> R38[3.8V LTE Rail] PWR --> R33[3.3V Control/RF Rail] R5V --> SOM[RK3588-class SOM or SBC] R38 --> LTE[SIM7600G-H-M.2 LTE/GNSS] R33 --> LORA[RP2040-LoRa SX1262 Board] SOM --> USBHUB[Optional USB Hub] USBHUB --> LTE USBHUB --> LORA USBHUB --> KBD[Keyboard / Touch USB] SOM --> USBA[USB-A 3.0 Host] SOM --> HDMI[HDMI Connector] SOM --> DISPLAY[Internal Display Interface TBD] SOM --> AUDIO[Class-D Speaker Amp] AUDIO --> SPK[Small Speaker] ``` ## Hardware Subsystems ### Compute - Selected direction: Raspberry Pi Compute Module 5 carrier board. - CM5 variants support 2 GB, 4 GB, 8 GB, and 16 GB LPDDR4x; use 8 GB minimum. - Selected CM5 is Lite / 0 GB eMMC, so the carrier will provide a microSD card slot for boot/storage. - Selected CM5 is wireless-capable, so enclosure antenna clearance or external antenna strategy must be handled. - CM5 main input is 5 V and the carrier power system must support CM5 peak current plus display, USB, LTE, speaker, and battery charging loads. ### Cellular / GNSS - Target module: SIM7600G-H-M.2 / SIM7600X-H-M2 family. - Supply range found: 3.3–4.2 V. - Power rail must support approximately 2 A-class transmit bursts with large low-ESR bulk capacitance near the module. - Host interface is USB 2.0; route as 90 ohm differential pair. - Needs SIM/eSIM decision, cellular antenna, diversity antenna decision, GNSS antenna decision, RF keepouts, and regulatory review. ### LoRa - Target board appears to be Waveshare RP2040-LoRa with SX1262. - Board size found: 21 mm x 41 mm. - Frequency options: - LF: 410–525 MHz. - HF: 850–930 MHz. - Antenna connector: onboard IPEX with included IPEX-to-SMA adapter cable. - Interface to Linux host should be decided: USB, UART, or a carrier-level debug/programming path. ### Display - Candidate: Waveshare 6.25inch DSI LCD (B), 720 x 1560 IPS capacitive touch display. - Interface: Raspberry Pi-style 2-lane MIPI DSI plus I2C touch. - Power: 5 V panel power plus 3.3 V/I2C side signals per Waveshare pinout. - Advantage: documented for Raspberry Pi DSI overlays, making CM5 a better match than an arbitrary RK3588 SOM. - Verify exact CM5 DSI connector mapping/cable orientation before schematic capture. ### Keyboard - Reference: M5Stack Unit CardKB / CardKB v1.1. - Reference interface: I2C at address 0x5F over HY2.0-4P/Grove-style connector with GND, 5 V, SDA, SCL. - Reference size: approximately 84–88 mm x 54 mm x 5 mm depending revision. - User direction: design a custom keyboard PCB slightly longer than CardKB. - Recommended implementation: direct-wired keyboard matrix on the main board, scanned by a small onboard keyboard MCU, exposed to CM5 as USB HID with optional wake/power sideband GPIO. ### USB - USB-C role is currently ambiguous and must be defined before schematic capture. - USB-A 3.0 requires a compute platform with USB 3.x host capability and controlled-impedance routing. - Internal peripherals may exceed available host ports; likely need a USB 2.0 hub for LTE, keyboard/touch, LoRa, and debug if these are USB. ### HDMI - External HDMI is feasible but requires 100 ohm differential routing, ESD protection, DDC, hot-plug detect, connector shield strategy, and 5 V HDMI power. - If the internal screen also needs HDMI, the compute platform must support multiple display outputs or the design must choose between internal display and external HDMI. ### Audio - Small speaker path should use a dedicated class-D amplifier. - Interface depends on compute platform: I2S preferred if exposed; USB audio is fallback. - Speaker impedance and power target are needed. ## Interfaces and Connections | Interface | Proposed Electrical Path | Notes | |---|---|---| | USB-C | USB-C connector + CC/PD controller + ESD + power path | Role TBD | | USB-A 3.0 | RK/SOM USB 3.x host to USB-A connector | 85 ohm SuperSpeed pairs | | HDMI | RK/SOM HDMI output to HDMI connector | 100 ohm diff pairs | | LTE modem | USB 2.0 host/hub to M.2 module | 90 ohm USB pair; 3.8 V burst rail | | SIM | SIM7600 module USIM pins to SIM socket/eSIM | Add ESD near SIM socket | | GNSS/LTE RF | 50 ohm RF paths to antennas/connectors | Antenna plan required | | LoRa | USB/UART to RP2040-LoRa daughterboard | Band and connector TBD | | Speaker | I2S/USB audio to class-D amp | Speaker spec TBD | | Screen/keyboard | TBD: likely USB-C/USB/HDMI-style external cable | Pinout unknown | ## Power and Runtime Expectations - Battery direction: compact communicator/tablet-style Li-ion/LiPo pouch pack. - Recommended chemistry is now 1S Li-ion/LiPo for thin mechanical packaging, with high-current boost conversion to the 5 V system rail. - Confirmed battery pack: 1S2P using 2x BatterySpace PL-5467100-2C cells with Tenergy 32190 PCM, 8500 mAh / ~31.5 Wh nominal. - Use USB-C PD charging with a 1S switching charger/power-path, I2C fuel gauge, NTC monitoring, and run-while-charging support. - Include fuel gauge, pack protection, power button/soft-shutdown, and low-battery cutoff. ## Preliminary Power Tree and Power Budget Detailed preliminary assumptions are tracked in the separate Power Budget file. High-level rails: | Rail | Loads | |---|---| | Main battery / USB-C PD input | Charger, power path, system regulators | | 5 V system | RK3588 SOM/SBC input, USB-A VBUS, display/keyboard if 5 V, USB hub | | 3.8 V LTE | SIM7600G-H-M.2 burst supply | | 3.3 V logic | RP2040-LoRa, level shifters, control, low-speed peripherals | | Audio rail | Speaker amplifier, if not powered from 5 V | | Backlight/display rail | TBD after display documentation | ## Manufacturing and Assembly Expectations - If using SOM/SBC: custom carrier board likely 6 layers minimum due USB 3.0, HDMI, LTE USB, RF, and power integrity. - If raw RK3588S2 + LPDDR4x is chosen: expect 8+ layer HDI/microvia design, controlled impedance, DDR simulation/validation, and substantially higher cost/risk. - RF antennas and M.2 connector placement must be considered with the enclosure, display metalwork, and battery location. ## Firmware-Relevant Hardware Requirements - Linux BSP support depends on selected RK3588S2/SOM/SBC vendor. - Need serial console/debug access. - LTE should be exposed to Linux as USB modem interface; support ModemManager/NetworkManager where possible. - RP2040-LoRa requires firmware update/programming path. - Keyboard/display drivers depend on the actual interface of the screen/keyboard assembly. ## Physical Design Expectations - Keyboard assembly likely dominates product size; candidate AKP846 dimensions found around 371 x 219 x 21 mm. - Need exact enclosure size, mounting hole locations, connector exits, battery location, antenna locations, speaker port, cooling path, and SIM access. - RK3588-class SoC needs heat spreader or conduction path. ## Important Design Decisions 1. Use SOM/SBC for compute rather than raw RK3588S2 + LPDDR4x for the first prototype. 2. Treat SIM7600G-H-M.2 as a high-burst-current RF module requiring a dedicated 3.8 V-class supply and RF-aware layout. 3. Treat the RP2040-LoRa board as a daughterboard unless the user wants to integrate the LoRa circuit directly. 4. Do not design display/keyboard connector circuitry until the exact interface is documented. 5. Use at least a 6-layer carrier PCB for the high-speed/RF carrier approach. ## Assumptions - Prototype-first design, not immediate production certification. - Linux runs on a purchased RK3588S2/RK3588-class module/SBC. - Cellular modem is USB-connected. - LoRa board can be connected as a daughterboard. - Screen/keyboard assembly is used as a purchased module rather than reverse-engineered internally. - Battery is rechargeable Li-ion/LiPo with charging from USB-C. ## Open Decisions / Questions for User 1. Keyboard final layout drawing: 60-key legend, Fn map, tact/keycap part selection. 2. Enclosure CAD kickoff: hinge, SMA bulkhead locations, antenna keepouts, service hatch. 3. RJ45 Ethernet is omitted. 4. Should the custom keyboard enumerate as USB HID, I2C, or both? 5. What keyboard switch/key technology and approximate size should be used? 6. USB-C role is confirmed as PD sink/UFP charge plus USB 2.0 data, not USB 3.0 and not full dual-role/source. 7. Is HDMI for external output only, or should the internal DSI display and external HDMI work simultaneously? 8. Which LoRa frequency band is required: 433/470, 868, or 915 MHz? 9. Do you want internal antennas or external SMA connectors for LTE/GNSS/LoRa? 10. What speaker impedance/power target and enclosure size/shape should be used? ## Change Notes - Initial specification created from user requirements. - Project renamed to Linux Cyberdeck. - Architecture risk review added: raw RK3588S2 + LPDDR4x is not recommended for the first prototype. - Updated per user direction: switched from RK3588-class SOM carrier to Raspberry Pi Compute Module 5 carrier using attached CM5 datasheet, retaining tablet-style battery, M5Stack CardKB as keyboard size/interface reference, custom keyboard PCB, and Waveshare 6.25inch DSI LCD (B) display candidate. - Updated per user direction: selected DigiKey SC1598 / CM5108000 CM5 Lite wireless 8 GB module, USB-C charging+data, microSD instead of NVMe, and direct-wired custom keyboard via onboard keyboard MCU. - Updated per confirmed decisions attachment: USB-C data is USB 2.0 gadget/rpiboot, battery is 1S2P 8500 mAh verified pack, keyboard is split RP2040/QMK PCB, and only keyboard layout plus enclosure CAD kickoff remain open.
  • Project Overview

  • Intended Use

  • What the Device Should Do

  • Main Features

  • System Architecture

  • Hardware Subsystems

  • Compute

  • Cellular / GNSS

  • LoRa

  • Display

  • Keyboard

  • USB

  • HDMI

  • Audio

  • Interfaces and Connections

  • Power and Runtime Expectations

  • Preliminary Power Tree and Power Budget

  • Manufacturing and Assembly Expectations

  • Firmware-Relevant Hardware Requirements

  • Physical Design Expectations

  • Important Design Decisions

  • Assumptions

  • Open Decisions / Questions for User

  • Change Notes