From 3c11190822f54d596d90722f6311230e4726818f Mon Sep 17 00:00:00 2001 From: BarnacleBoy Date: Sun, 24 May 2026 06:51:26 +0000 Subject: [PATCH] update all docs: Orange Pi 3B 8GB purchased (89) - docs/sbc-selection.md: full rewrite for OPi 3B specs (RK3566, 8GB, 256GB eMMC, built-in WiFi) - README.md: SBC description, checklist, components table, quick ref, cost estimate - docs/parts-list.md: SBC marked purchased, eMMC/controller/WiFi changes - docs/design-decisions.md: WiFi exclusion reason, native eDP, power input - docs/salvage-analysis.md: WiFi card not needed, cooling fan, summary tables - docs/storage-architecture.md: rewritten for 256GB eMMC primary boot - docs/usb-expansion.md: 2x USB3 native, port allocation, power budget - docs/port-layout.md: OPi3B port differences (eDP, power-only USB-C, built-in WiFi) - docs/power-system.md: lower power draw context --- README.md | 33 +++--- docs/design-decisions.md | 17 ++- docs/parts-list.md | 74 ++++++------- docs/port-layout.md | 25 +++-- docs/power-system.md | 13 ++- docs/salvage-analysis.md | 29 ++--- docs/sbc-selection.md | 168 ++++++++++++---------------- docs/storage-architecture.md | 206 +++++++++++++++++------------------ docs/usb-expansion.md | 112 +++++++++---------- 9 files changed, 330 insertions(+), 347 deletions(-) diff --git a/README.md b/README.md index f3538c1..d969416 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # K501U Cyberdeck -A cyberdeck built from salvaged ASUS K501U laptop components and Orange Pi 5 SBC. +A cyberdeck built from salvaged ASUS K501U laptop components and Orange Pi 3B SBC. ## Project Status @@ -8,7 +8,8 @@ A cyberdeck built from salvaged ASUS K501U laptop components and Orange Pi 5 SBC - [x] Salvage analysis (K501U components) - [x] Display identification and controller board ordered -- [x] SBC selection (Orange Pi 5 16GB) +- [x] SBC selection (Orange Pi 3B 8GB with 256GB eMMC) +- [x] SBC purchased and delivered ($189) - [x] Storage architecture planned - [x] USB expansion design - [x] Case nomenclature and orientation defined @@ -38,15 +39,15 @@ A cyberdeck built from salvaged ASUS K501U laptop components and Orange Pi 5 SBC **Not reused:** - RAM (DDR3L soldered, incompatible with modern SBCs) - SSD (owner repurposed) -- WiFi card (Intel 7265NGW, no E-key slot on OPi5) +- WiFi card (OPi3B has built-in WiFi+BT — no external card needed) ### New Components | Component | Selection | Status | |-----------|-----------|--------| -| SBC | Orange Pi 5 (base, 16GB) | eBay bid pending | -| Display controller | 30-pin eDP to HDMI | Ordered (~$24) | -| Storage (boot) | MicroSD 64GB Endurance | To purchase | +| SBC | Orange Pi 3B (8GB, RK3566, 256GB eMMC) | Purchased ($189) | +| Display controller | 30-pin eDP to HDMI | Ordered (~$24) — may be unnecessary, OPi3B has native eDP | +| Storage (boot) | 256GB eMMC (onboard) | Incl. with SBC | | USB hub | Powered 7-port USB 3.0 | To purchase | | Storage (data) | USB 3.0 SSD enclosure | To purchase | @@ -72,20 +73,22 @@ A cyberdeck built from salvaged ASUS K501U laptop components and Orange Pi 5 SBC ### SBC -- **Board:** Orange Pi 5 (RK3588S, base model, 16GB RAM) -- **Storage:** MicroSD slot + USB 3.0 external -- **USB:** 1× USB 3.0, 2× USB 2.0 native -- **Power:** USB-C PD via IP5389 power board, 18650 cells +- **Board:** Orange Pi 3B (RK3566, 8GB RAM, 256GB eMMC) +- **Storage:** 256GB eMMC onboard + MicroSD slot + M.2 M-key +- **USB:** 2× USB 3.0, 2× USB 2.0 native +- **WiFi/BT:** Built-in WiFi 5 + BT 5.0 (no dongle needed) +- **Power:** USB-C 5V/3A via IP5389 power board, 18650 cells +- **Draw:** ~3-5W under load ### Cost Estimate | Category | Cost | |----------|------| -| SBC | ~$104 | -| Display controller | ~$24 | -| Storage (SD + hub + enclosure) | ~$34 | +| SBC (w/ 256GB eMMC, WiFi+BT) | $189 | +| Display controller | ~$24 (may be optional — OPi3B has native eDP) | +| Storage (hub + enclosure) | ~$30 | | Power system (board + cells + fuse + charger) | ~$44 | | HDMI switch + panel cables + SD reader | ~$33 | -| **Subtotal** | **~$258** | +| **Subtotal** | **~$320** | -(Excludes case materials and misc hardware. Battery included in power system.) \ No newline at end of file +(Excludes case materials and misc hardware. $189 SBC cost is actual after tax/shipping.) \ No newline at end of file diff --git a/docs/design-decisions.md b/docs/design-decisions.md index b7405ae..6461f06 100644 --- a/docs/design-decisions.md +++ b/docs/design-decisions.md @@ -10,7 +10,7 @@ Wooden case with salvaged laptop lid (screen + hinge) as the canopy. Approximate - **Keyboard/trackpad:** Proprietary connectors, not reusable. - **RAM:** DDR3L soldered, wrong generation. - **SSD:** Owner repurposed. -- **WiFi card:** Intel 7265NGW needs M.2 E-key, OPi5 base lacks it. +- **WiFi card:** Intel 7265NGW — OPi3B has built-in WiFi+BT, no external card needed. ## Case Orientation & Nomenclature @@ -36,7 +36,7 @@ User sits at the **stern**, facing the **bow**. Hinge axis runs port-to-starboar ### Bow Wall Functions -- Power input (USB-C for IP5389 board charging) +- Power input (5V USB-C for charging) - Exhaust fans blowing away from user - Heat management surface @@ -48,9 +48,20 @@ Stern edge (lip). Screen is lightweight, hinge is rigid, and a lid latch is plan IP5389 power bank board (preliminary). All-in-one: charging, BMS, USB-C PD output. See [power-system.md](power-system.md) for details. +## Display Connection + +The Orange Pi 3B has a **native eDP port** in addition to HDMI. This means: + +- The Innolux N156HGE-EAB panel (30-pin eDP) may connect directly — bypassing the external controller board +- Needs verification: the OPi3B's eDP connector type and pinout must match the panel +- If compatible, saves ~$24 and eliminates an external component +- If not, fallback is the eDP-to-HDMI controller board (already ordered) + +See [sbc-selection.md](sbc-selection.md) for eDP compatibility notes. + ## Video Output -Mechanical HDMI A/B switch (passive, no power). Routes OPi5's single HDMI to either the internal eDP-to-HDMI controller or a panel-mount HDMI jack on the starboard side. DisplayLink doesn't work on ARM — no drivers exist. Dual simultaneous display is not possible on the base OPi5. +Mechanical HDMI A/B switch (passive, no power). Routes OPi3B's single HDMI to either the internal display (via eDP or eDP-to-HDMI controller) or a panel-mount HDMI jack on the starboard side. DisplayLink doesn't work on ARM — no drivers exist. Dual simultaneous display is not possible on the OPi3B (single HDMI output). ## Input Device diff --git a/docs/parts-list.md b/docs/parts-list.md index a3aa2e3..d396739 100644 --- a/docs/parts-list.md +++ b/docs/parts-list.md @@ -6,17 +6,16 @@ | Item | Specification | Source | Est. Cost | Status | |------|--------------|--------|-----------|--------| -| SBC | Orange Pi 5 16GB (base) | eBay | $99 + $5 shipping | Bid pending | -| Display controller | 30-pin eDP to HDMI | Amazon/eBay | $24 | Ordered | -| MicroSD card | 64GB Endurance | Amazon | $10-12 | To purchase | +| SBC | Orange Pi 3B 8GB + 256GB eMMC | Amazon | $189 | **Purchased** | +| Display controller | 30-pin eDP to HDMI | Amazon/eBay | $24 | Ordered — may be optional (OPi3B has native eDP) | ### Salvaged from K501U | Item | Status | Notes | |------|--------|-------| -| Display (Innolux N156HGE-EAB) | Available | Controller board ordered | +| Display (Innolux N156HGE-EAB) | Available | May connect via native eDP on OPi3B | | Hinge mechanism | Available | Intact | -| WiFi antenna | Available | In hinge | +| WiFi antenna | Available | OPi3B has built-in WiFi — antenna may still be useful for signal | | Webcam | Available | In bezel | | Cooling fan | Available | 4-pin PWM | @@ -35,13 +34,14 @@ | IP5389 power board | USB-C PD, 3S, bare PCB | AliExpress | $8-15 | Preliminary selection | | 18650 cells | 3S or 3S2P, quality brand | User's pick | $12-24 | To purchase | | 5A blade fuse + holder | Automotive | Amazon | $2 | To purchase | -| USB-C wall charger | 45W+ PD, for charging | Amazon | $10-15 | To purchase | +| USB-C wall charger | 5V/3A, for testing | Amazon | $8-12 | To purchase | ### Networking | Item | Specification | Source | Est. Cost | Status | |------|--------------|--------|-----------|--------| -| WiFi dongle | USB, Linux-compatible | Amazon | $10-15 | To purchase | +| WiFi | Built-in OPi3B | Included | $0 | **Built-in** | +| WiFi antenna | K501U salvage or new | — | $0 | May reuse K501U antenna | ### Video & Case Integration @@ -51,7 +51,7 @@ | Panel-mount cables | USB-A, USB-C, HDMI, Ethernet, audio | Amazon | $15-25 | To purchase | | Panel-mount SD reader | USB 3.0 | Amazon | $5-8 | To purchase | -| Item | Purpose |Source | Est. Cost | +| Item | Purpose | Source | Est. Cost | |------|---------|--------|-----------| | Heatsink + fan | Cooling | AliExpress | $5-10 | | Panel-mount cables | Case integration | Amazon | $10-20 | @@ -61,36 +61,32 @@ ## Cost Summary -### Minimum Viable Build +### Actual Spend + +| Item | Cost | Status | +|------|------|--------| +| Orange Pi 3B 8GB + 256GB eMMC | $189 | **Purchased** | +| Display controller | $24 | Ordered (may be optional) | +| **Spent so far** | **$213** | | + +### Remaining to Purchase | Category | Cost | |----------|------| -| SBC | $104 | -| Display controller | $24 | -| MicroSD | $12 | -| USB hub | $22 | -| USB enclosure | $12 | -| Power system (board+cells+fuse+charger) | $44 | -| WiFi dongle | $12 | -| HDMI switch | $10 | -| Panel-mount cables + SD reader | $23 | -| **Subtotal** | **$258** | +| Storage (USB enclosure) | ~$12 | +| USB hub (powered 10-port) | ~$22 | +| Power system (board+cells+fuse+charger) | ~$44 | +| HDMI switch | ~$10 | +| Panel-mount cables + SD reader | ~$23 | +| **Remaining** | **~$111** | -### With Optional Items +### Total Project -| Category | Cost | -|----------|------| -| Base build | $258 | -| Heatsink/cooling | $10 | -| **Total** | **$268** | - -### Future Additions - -| Category | Cost | -|----------|------| -| Battery pack (portable) | Integrated in base build | -| Case materials | TBD | -| Custom PCB | TBD | +| | | +|---|----| +| Spent | $213 | +| Remaining | ~$111 | +| **Estimated total** | **~$324** | --- @@ -98,21 +94,20 @@ | Item | Date Ordered | Est. Arrival | Source | Tracking | |------|-------------|--------------|--------|----------| +| Orange Pi 3B 8GB + 256GB eMMC | Before May 24 | Delivered | Amazon | — | | Display controller board | TBD | 2-4 weeks | Amazon/eBay | TBD | ## Pending Purchases -- MicroSD card -- Powered USB hub +- Powered USB hub (10-port USB 3.0) - USB enclosure or flash drive - IP5389 power board + 18650 cells - 5A fuse + holder -- USB-C PD wall charger (45W+) -- Powered 10-port USB 3.0 hub +- USB-C wall charger (5V/3A) - Mechanical HDMI A/B switch - Panel-mount cables (USB-A, USB-C, HDMI, Ethernet, audio) - Panel-mount SD card reader -- WiFi dongle +- Heatsink for RK3566 --- @@ -120,7 +115,6 @@ *Add actual links when ordering:* -- Orange Pi 5: eBay search for "Orange Pi 5 16GB" +- Orange Pi 3B: Amazon "Orange Pi 3B 8GB 256GB eMMC" - Display controller: Amazon search "N156HGE-EAB controller board" or "30-pin eDP to HDMI" - USB hub: Amazon "Sabrent 7-port USB 3.0 powered" -- MicroSD: Amazon "SanDisk Endurance 64GB" or "Samsung PRO Endurance 64GB" \ No newline at end of file diff --git a/docs/port-layout.md b/docs/port-layout.md index 5508ff6..c2f3439 100644 --- a/docs/port-layout.md +++ b/docs/port-layout.md @@ -2,7 +2,7 @@ ## Overview -10 accessible ports + SD reader + Kensington lock, split across four case surfaces. +10 accessible ports + SD reader + Kensington lock, split across four case surfaces. Built-in WiFi+BT eliminates need for USB dongles. ## Port Side (Left, Facing Bow) @@ -10,7 +10,7 @@ Data connections. "Plug and unplug frequently" zone. | Port | Count | Source | Notes | |------|-------|--------|-------| -| USB-A 3.0 | 4 | Powered hub | Flash drives, peripherals, keyboard, hardware | +| USB-A 3.0 | 4 | Powered hub | Flash drives, peripherals, hardware | | USB-C (data) | 1 | Powered hub | Modern peripherals, data transfer | | USB-C PD out | 1 | IP5389 board | Phone charging, 5V/??W | @@ -20,9 +20,9 @@ Networking + AV. "Plug in and leave" zone. | Port | Count | Source | Notes | |------|-------|--------|-------| -| Ethernet RJ45 | 1 | OPi5 native | Gigabit, panel-mount extension | -| HDMI out | 1 | HDMI A/B switch | External display, switched from internal screen | -| 3.5mm audio out | 1 | OPi5 native | Headphones, speakers, line-out | +| Ethernet RJ45 | 1 | OPi3B native | Gigabit, panel-mount extension | +| HDMI out | 1 | HDMI A/B switch | External display, switched from internal | +| 3.5mm audio out | 1 | OPi3B native | Headphones, speakers, line-out | ## Bow Wall (Back Edge, Spine Side) @@ -30,7 +30,7 @@ Power and cooling. No data ports. | Feature | Notes | |---------|-------| -| USB-C power input | For IP5389 board charging | +| USB-C power input | For IP5389 board charging (5V/3A) | | Fan exhaust grilles | Blowing away from user | ## Stern Edge (Front Edge, Lip) @@ -48,12 +48,15 @@ User-facing. Clean for typing. | Component | Connection | |-----------|------------| | Powered USB hub (10-port) | Decased, wired internally. Feeds all USB-A and USB-C data ports. | -| HDMI A/B switch (mechanical) | Passive toggle. OPi5 HDMI in, two outputs (internal controller + starboard panel jack). | -| eDP-to-HDMI controller | Connected to A/B switch output A. Drives internal display. | +| HDMI A/B switch (mechanical) | Passive toggle. OPi3B HDMI in, two outputs (internal display + starboard panel jack). | +| eDP-to-HDMI controller | Connected to A/B switch output A. Drives internal display — **may be unnecessary if native OPi3B eDP works with panel** | ## Constraints -- OPi5 has **one HDMI output**. The A/B switch selects internal or external — not both simultaneously. +- OPi3B has **one HDMI output**. The A/B switch selects internal or external — not both simultaneously. +- OPi3B has a **native eDP port** — if the Innolux N156HGE-EAB panel pinout matches, the external controller board is not needed. - DisplayLink USB graphics adapters **do not work on ARM Linux** (no drivers). Not a viable path for dual display. -- Dual simultaneous display would require a different SBC (OPi5 Plus has 2× HDMI) or x86 board. -- USB-C on the OPi5 is power-only in this build (consumed by IP5389 board). All USB data goes through the powered hub. +- Dual simultaneous display would require a dual-HDMI SBC. +- USB-C on the OPi3B is **power only** — no DisplayPort alt mode. All video goes through HDMI or native eDP. +- Built-in WiFi 5 + BT 5.0 on the OPi3B — no USB dongles needed for wireless connectivity. +- Two native USB 3.0 ports available for direct connections (keyboard, mouse) without hub contention. \ No newline at end of file diff --git a/docs/power-system.md b/docs/power-system.md index 9710a4f..1cf07d4 100644 --- a/docs/power-system.md +++ b/docs/power-system.md @@ -20,7 +20,7 @@ All-in-one power management PCB. Replaces separate charger module, BMS, and boos ``` USB-C wall charger → IP5389 board → 18650 cells (3S or 3S2P) ↓ (passthrough) - USB-C PD output → OPi5 (5V) + peripherals + USB-C PD output → OPi3B (5V) + peripherals ``` One board, one cell pack, one output cable to the SBC. No separate modules to wire together. @@ -33,6 +33,15 @@ One board, one cell pack, one output cable to the SBC. No separate modules to wi - Protection: overcharge, overdischarge, short circuit, thermal - Price: $8–15 bare PCB +## OPi3B Power Context + +The Orange Pi 3B draws ~3-5W under load (vs OPi5's ~8W), which simplifies the battery system: + +- Lower peak current means the IP5389 board doesn't need to push its limits +- A smaller cell pack (3S vs 3S2P) may suffice +- Less heat generated, less thermal management needed +- The OPi3B's 5V/3A input spec is well within what a USB-C PD board can provide + ## Cell Configuration TBD — need to select specific board first. Likely 3S (3 cells in series) or 3S2P (6 cells, pairs in series). 3S2P with quality 3000mAh cells gives ~6000mAh at 11.1V nominal. @@ -59,7 +68,7 @@ K501U battery (B31N1429, 4240mAh, 11.4V, 3S) assessed and rejected: - Passthrough charging not guaranteed on all models ### UPS HAT (Waveshare / DFRobot) -- Designed for Raspberry Pi, works via USB output with OPi5 +- Designed for Raspberry Pi, works via USB output with OPi3B - Premium price for unused GPIO header - Capped at 5V output, no 12V rail without extra boost converter diff --git a/docs/salvage-analysis.md b/docs/salvage-analysis.md index acaeae8..23c1fec 100644 --- a/docs/salvage-analysis.md +++ b/docs/salvage-analysis.md @@ -82,19 +82,13 @@ The K501U had an M.2 NVMe SSD installed. ### Reusability -**Not directly usable with Orange Pi 5 (base model).** +**Not needed — OPi3B has built-in WiFi 5 + BT 5.0.** -- Orange Pi 5 Plus has E-key M.2 slot → WiFi card works -- Orange Pi 5 (base) has no E-key slot → requires USB WiFi dongle +The Intel 7265NGW card is not required because the Orange Pi 3B has integrated WiFi and Bluetooth. The K501U's dual-band antenna (U.FL connectors embedded in the hinge) may still be useful — it could be adapted to the OPi3B's onboard WiFi for better signal than the built-in PCB antenna. ### Workaround -USB WiFi dongle (Linux-compatible): -- Realtek RTL8812BU (USB 3.0, AC1200) -- MediaTek MT7601U (USB 2.0, N150) -- Any dongle with in-kernel driver support - -**Cost:** $10-15 +Not needed for WiFi — built-in covers it. If the K501U antenna can be adapted (U.FL to IPEX connector), it may improve reception over the OPi3B's onboard antenna. --- @@ -123,9 +117,9 @@ USB WiFi dongle (Linux-compatible): | Connector | Standard laptop fan connector | **Potential reuse:** -- Could cool Orange Pi 5 (with GPIO PWM adapter) -- Requires mounting solution -- Might be overkill for OPi5 power draw +- Could cool Orange Pi 3B (with PWM adapter) +- RK3566 runs cooler (~3-5W) than RK3588 — passive heatsink may suffice +- Blower fan may be overkill but provides headroom ### Keyboard/Trackpad @@ -173,9 +167,9 @@ USB WiFi dongle (Linux-compatible): | Component | Effort | Value | |-----------|--------|-------| -| **Display** | Low (with controller) | High | +| **Display** | Low (with controller or native eDP) | High | | **Hinge** | Low | Medium | -| **WiFi antenna** | Low (with adapter) | Low | +| **WiFi antenna** | Low (with adapter to OPi3B onboard WiFi) | Low | ### Not Reused @@ -183,7 +177,7 @@ USB WiFi dongle (Linux-compatible): |-----------|--------| | SSD | Already repurposed | | RAM | Wrong generation | -| WiFi card | No E-key slot on OPi5 | +| WiFi card | OPi3B has built-in WiFi+BT | | Keyboard/trackpad | Proprietary connectors | | Motherboard | Failed | @@ -191,9 +185,8 @@ USB WiFi dongle (Linux-compatible): | Component | Estimated Cost | |-----------|----------------| -| eDP controller board | $24 | -| USB WiFi dongle | $10-15 | -| SBC (Orange Pi 5) | $70-100 | +| eDP controller board | $24 (may be optional — OPi3B has native eDP) | +| SBC (Orange Pi 3B) | $189 (purchased) | --- diff --git a/docs/sbc-selection.md b/docs/sbc-selection.md index 737bf8f..679f905 100644 --- a/docs/sbc-selection.md +++ b/docs/sbc-selection.md @@ -1,137 +1,113 @@ -# SBC Selection: Orange Pi 5 +# SBC: Orange Pi 3B -**Decision:** Orange Pi 5 (base model, non-Plus) 16GB RAM +**Purchased:** Orange Pi 3B 8GB, with 256GB eMMC module +**Cost:** $189.00 (incl. tax and shipping) +**CPU:** Rockchip RK3566 (quad Cortex-A55 @ 1.8GHz, 22nm) --- -## Options Considered +## Specifications -| Board | RAM | Price | NVMe | WiFi | Notes | -|-------|-----|-------|------|------|-------| -|**Orange Pi 5 16GB**| 16GB | $70-100 | PCIe 2.0 M.2 | No | **Selected** | -| Orange Pi 5 Plus 16GB | 16GB | $130-150 | PCIe 3.0 M.2 | E-key slot | Better specs, higher cost | -| Raspberry Pi 5 8GB | 8GB | $80 | HAT required | No | Familiar ecosystem, less RAM | -| Rock 5B 16GB | 16GB | $140 | PCIe 3.0 M.2 | No | Higher cost | - ---- - -## Orange Pi 5 Specifications - -### Model Variants - -| Model | NVMe Slot | WiFi Slot | NVMe Speed | -|-------|-----------|-----------|------------| -| Orange Pi 5 (base) | M.2 M-key (PCIe 2.0) | None | ~300 MB/s | -| Orange Pi5 Plus | M.2 M-key (PCIe 3.0) + E-key | E-key for WiFi | ~2000 MB/s | - -### RK3588S SoC +### SoC: Rockchip RK3566 | Attribute | Value | |-----------|-------| -| CPU | 8-core (4× Cortex-A76 + 4× Cortex-A55) | -| GPU | Mali-G610 MC4 | -| NPU | 6 TOPS AI accelerator | -| Process |8nm | +| CPU | 4× Cortex-A55 @ 1.8GHz | +| GPU | Mali-G52 2EE | +| NPU | 0.8 TOPS AI accelerator | +| Process | 22nm | ### Memory | Attribute | Value | |-----------|-------| -| Configurations | 4/8/16/32GB | -| Type | LPDDR4/LPDDR4X | -| Selected | 16GB | +| RAM | 8GB LPDDR4/LPDDR4X | +| Onboard storage | 256GB eMMC module | -### Storage Support +### Storage Options -| Interface | Speed | -|-----------|-------| -| MicroSD | Up to 512GB | -| M.2 NVMe (base) | PCIe 2.0 x1 (~300 MB/s) | -| M.2 NVMe (Plus) | PCIe 3.0 x2 (~2000 MB/s) | -| USB 3.0 | 5 Gbps | +| Interface | Speed | Notes | +|-----------|-------|-------| +| **eMMC** (onboard) | ~300 MB/s read | **Primary boot.** 256GB module installed. | +| MicroSD | Up to 512GB | Backup/expansion | +| M.2 M-key | PCIe 2.0 x1 (~300 MB/s) or SATA III | NVMe or SATA SSD | -### Connectivity (Base Model) +### Connectivity -| Port | Count | Speed | -|------|-------|-------| -| USB 3.0 | 1 | 5 Gbps | -| USB 2.0 | 2 | 480 Mbps | -| USB-C | 1 | Power + DisplayPort | -| Ethernet | 1 | 1 Gbps | -| HDMI | 1 | 4K60 | -| MIPI DSI | 1 | Display | -| MIPI CSI | 2 | Camera | -| GPIO | 26-pin | I2C, SPI, UART, PWM | +| Port | Count | Speed / Spec | Notes | +|------|-------|-------------|-------| +| USB 3.0 | 2 | 5 Gbps | **Two** native USB 3.0 ports (vs 1 on OPi5) | +| USB 2.0 | 2 | 480 Mbps | | +| USB-C | 1 | Power only (5V input) | | +| Ethernet | 1 | Gigabit (RTL8211F) | | +| HDMI | 1 | 2.0, 4K60 | | +| eDP | 1 | Native eDP | **Direct panel connection possible** | +| MIPI DSI | 1 | Display | | +| MIPI CSI | 1 | Camera | | +| GPIO | 26-pin | I2C, SPI, UART, PWM | | +| WiFi | Built-in | WiFi 5 (802.11ac) | **No USB dongle needed** | +| Bluetooth | Built-in | BT 5.0 with BLE | | ### Power | Attribute | Value | |-----------|-------| -| Input| USB-C PD or barrel jack | -| Voltage | 12V (barrel), 5V (USB-C) | -| Current | 2A recommended | -| Typical draw |5-8W under load | +| Input | 5V USB-C only | +| Current | 3A recommended | +| Typical draw | 3-5W under load | + +Much more power-efficient than OPi5 (~8W) — battery lasts longer, less heat. --- -## Rationale +## Why This Board -### Why Orange Pi 5 (Base) +### What Changed From OPi5 -1. **Cost:** $70-100 vs $130-150 for Plus -2. **RAM:** 16GB excellent for desktop Linux, dev work -3. **Performance:** RK3588S significantly faster than Pi 5 -4. **Availability:** Widely available on eBay with bid flexibility +The original plan was an Orange Pi 5 16GB (~$104). This OPi 3B is a different class: -### Why Not Orange Pi 5 Plus +| Comparison | OPi 3B (purchased) | OPi 5 (planned) | +|------------|-------------------|-----------------| +| CPU | 4× A55 @ 1.8GHz | 4× A76 + 4× A55 | +| RAM | 8GB | 16GB | +| Storage | **256GB eMMC onboard** | MicroSD only | +| WiFi | **Built-in** | None (needed dongle) | +| USB 3.0 | **2 ports** | 1 port | +| eDP | **Native port** | None (HDMI only) | +| Power draw | ~3-5W | ~8W | +| Cost | $189 | $104 | -- NVMe speed improvement (2000 MB/s) not critical for cyberdeck use -- WiFi card slot (E-key) not needed - USB dongle acceptable -- Price difference ($30-50) better spent on storage and peripherals +**Tradeoffs:** +- Less CPU performance and half the RAM, but 256GB onboard eMMC and built-in WiFi eliminate two separate purchases +- Native eDP port may replace the external controller board (~$24 savings, pending cable compatibility) +- Lower power draw means simpler battery system +- Higher upfront cost ($189 vs $104) but includes eMMC and WiFi that the OPi5 would have required buying separately -### Speed Reality Check +### Why Still the Right Pick -| Use Case | Base (PCIe 2.0) | Plus (PCIe 3.0) | -|----------|-----------------|-----------------| -| Boot time | ~10s | ~8s | -| App load | Adequate | Faster | -| File transfer | ~300 MB/s | ~1500 MB/s | -| Development| Fine | Fine | - -**For a cyberdeck used as portable workstation, PCIe 2.0 NVMe is adequate.** +1. **256GB eMMC is huge** — No SD card for boot needed. OS + apps + projects fit onboard. +2. **Built-in WiFi+BT** — No USB dongle, no antenna wiring, one less thing to buy. +3. **2× USB 3.0 native** — More bandwidth for peripherals without hub contention. +4. **Native eDP port** — If cable/adapter works with the N156HGE-EAB panel, the external controller board isn't needed. +5. **Lower power** — 3-5W means the IP5389 battery system can be smaller/lighter. +6. **M.2 M-key** — Can add an NVMe or SATA SSD for bulk storage if needed. --- -## eBay Bid Strategy +## Accessories Included With Purchase -| Auction | Bid Limit | Shipping | Total Max | -|---------|-----------|----------|-----------| -| Orange Pi 5 16GB | $99 | $5 | $104 | +The $189 purchase is the board with 256GB eMMC module pre-installed. Still needed: -**Bid late, bid once.** Set max bid and let proxy handle it. - ---- - -## Accessories Needed - -### Required - -| Item | Cost | -|------|------| -| Power supply (USB-C PD or 12V barrel) | $8-12 | -| MicroSD card (64GB Endurance) | $10-12 | - -### Recommended - -| Item | Cost | -|------|------| -| Heatsink + fan | $5-10 | -| Case (or custom build) | TBD | +| Item | Cost | Notes | +|------|------|-------| +| USB-C power supply (5V/3A) | ~$8-12 | For initial testing before battery integration | +| Heatsink | TBD | RK3566 at 1.8GHz needs passive or active cooling | --- ## Resources -- [Orange Pi 5 Wiki](http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-5.html) -- [RK3588 datasheet](https://www.rock-chips.com/) -- [Armbian for Orange Pi 5](https://www.armbian.com/orange-pi-5/) \ No newline at end of file +- [Orange Pi 3B Official Page](http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-3B.html) +- [Orange Pi 3B Wiki](http://www.orangepi.org/orangepiwiki/index.php/Orange_Pi_3B) +- [CNX Software review](https://www.cnx-software.com/2023/08/05/orange-pi-3b-a-rockchip-rk3566-sbc-with-an-m-2-nvme-sata-ssd-socket-up-to-8gb-ram/) +- [Armbian for RK3566](https://www.armbian.com/) \ No newline at end of file diff --git a/docs/storage-architecture.md b/docs/storage-architecture.md index d2cefd5..2bca5be 100644 --- a/docs/storage-architecture.md +++ b/docs/storage-architecture.md @@ -1,128 +1,133 @@ # Storage Architecture -**Strategy:** SD card for boot/root, USB for data +**Strategy:** 256GB onboard eMMC for boot/root/data. SD card and M.2 for expansion. --- ## Design Principles -1. **Simplicity:** SD card boots out of the box, no U-Boot complexity -2. **Reliability:** Endurance-rated SD cards last longer -3. **Flexibility:** USB storage can be swapped/upgraded easily -4. **Cost:** Minimal investment, repurpose existing drives +1. **Simplicity:** eMMC boots out of the box, faster and more reliable than SD +2. **Speed:** eMMC ~300 MB/s read — comparable to a SATA SSD +3. **Capacity:** 256GB onboard is plenty for OS + apps + projects + media +4. **Flexibility:** MicroSD and M.2 slots available for expansion +5. **Cost:** Included with SBC — no separate purchase needed --- -## Layer 1: Boot/Root (MicroSD) +## Layer 1: Boot/Root (eMMC) -### Card Selection +The Orange Pi 3B boots from its onboard 256GB eMMC by default. This is the primary storage: -| Attribute | Recommendation | -|-----------|----------------| -| Capacity | 64GB minimum, 128 GB preferred | -| Type | Endurance-rated or Industrial | -| Brands | SanDisk Endurance, Samsung PRO Endurance | +### eMMC Performance -**Why endurance cards:** +| Attribute | Value | +|-----------|-------| +| Capacity | 256GB | +| Interface | eMMC 5.1 | +| Sequential read | ~300 MB/s | +| Sequential write | ~200 MB/s | +| Reliability | Significantly better than SD cards | -Consumer SD cards are rated for bursts of writes (camera use). OS usage is constant logging, updates, cache writes. Endurance cards are rated for: +### Partition Layout (Suggested) -- 5000+ hours of continuous recording -- 1000+ write cycles per sector -- 5-10× longer lifespan than consumer cards +``` +/dev/mmcblk1 (eMMC, 256GB) +├── /dev/mmcblk1p1 → /boot (fat32, ~500MB) +├── /dev/mmcblk1p2 → / (ext4, ~80GB) +├── /dev/mmcblk1p3 → /home (ext4, ~170GB) +└── (remaining for swap or data) +``` -**Cost:**$10-15 for 64GB +Or simpler: + +``` +/dev/mmcblk1p1 → /boot (fat32, ~500MB) +/dev/mmcblk1p2 → / (ext4, all remaining) + /home → subdirectory, not separate partition +``` + +256GB is large enough that separate partitions are optional. A single root partition with everything under it works fine. ### Boot Configuration -Default Orange Pi 5 boots from SD: - -``` -/dev/mmcblk0 (SD card) -├── /dev/mmcblk0p1 → /boot (fat32, ~200MB) -├── /dev/mmcblk0p2 → / (ext4, ~60GB) -└── /dev/mmcblk0p3 → /home (ext4, remaining) -``` - -Or single partition with separate mount points: - -``` -/dev/mmcblk0p2 → / (ext4, all space) - /home → bind mount or subdirectory -``` - -### Root-on-USB (Optional) - -For faster I/O, copy root to USB SSD: - -1. Boot from SD, insert USB SSD -2. `sudo rsync -ax / /mnt/usb/` -3. Edit `/boot/extlinux/extlinux.conf`: - ``` - append root=/dev/sda1 - ``` -4. Boot from USB, SD only handles bootloader - -**Tradeoff:** More complexity, faster app loading. +Default OPi3B boots from eMMC when populated. No configuration needed. --- -## Layer 2: Data Storage (USB) +## Layer 2: Expansion (MicroSD + M.2) + +### MicroSD + +| Attribute | Value | +|-----------|-------| +| Slot | Standard push-push | +| Max capacity | Up to 512GB | +| Use | Backup, media library, test OS images | + +No need for endurance-rated card — the SD slot is now secondary storage, not primary boot. + +### M.2 M-key + +| Interface | Speed | Notes | +|-----------|-------|-------| +| PCIe 2.0 x1 | ~300 MB/s | Slightly slower than eMMC | +| SATA III | ~550 MB/s | Faster than eMMC (if SATA SSD) | + +Can add NVMe or SATA SSD for bulk storage if 256GB eMMC fills up. M.2 slot shares bandwidth with USB 3.0 — both use the same PCIe controller. + +--- + +## Layer 3: Data Storage (USB) + +Optional external storage for: +- Large media libraries +- Project archives +- System backups ### Options | Option | Speed | Cost | Notes | |--------|-------|------|-------| -| USB flash drive | 100-150 MB/s | $12-20 | Cheap, limited endurance | -| USB 3.0 SATA enclosure | ~400 MB/s | $10-15 + drive | Reuse 2.5" drives | -| USB 3.0 NVMe enclosure | ~400 MB/s | $8-15 + drive | Compact, fast | -| USD 3.0 flash drive (fast) | 200-400 MB/s | $20-40 | Kingston DataTraveler, Samsung BAR | - -### Recommendation - -**USB 3.0 SATA enclosure with salvaged 2.5" SSD.** - -If you have a spare 2.5" SATA SSD from another build/upgrade: -- Enclosure cost: $10-15 -- Speed: ~400 MB/s (SATAIII limit over USB 3.0) -- Capacity: whatever the drive is - -If no spare drive: -- USB 3.0 flash drive (128GB): $15-25 -- Or NVMe enclosure ($10) + budget NVMe drive ($20-30) +| USB 3.0 SATA enclosure | ~400 MB/s | $10-15 | Reuse 2.5" drives | +| USB 3.0 NVMe enclosure | ~400 MB/s | $8-15 | Compact | +| USB flash drive (fast) | 200-400 MB/s | $15-25 | Kingston, Samsung BAR | ### Mount Strategy ```bash -# /etc/fstab -UUID=/mnt/data ext4 defaults,noatime 0 2 +# /etc/fstab (optional USB storage) +UUID= /mnt/data ext4 defaults,noatime 0 2 /mnt/data/projects /home/jez/projects none bind 0 0 /mnt/data/media /home/jez/media none bind 0 0 ``` -Mount on-demand or at boot, depending on use case. - --- ## Storage Layout ``` ┌─────────────────────────────────────┐ -│ MicroSD Card (/dev/mmcblk0) │ -│ SanDisk Endurance 64GB │ -│ ├── /boot (fat32, 200MB) │ -│ ├── / (ext4, 25GB) │ -│ └── /home (ext4, 38GB) │ -│ Basic config, small files │ +│ eMMC (/dev/mmcblk1) │ +│ 256GB onboard │ +│ ├── /boot (fat32, 500MB) │ +│ ├── / (ext4, ~80GB) │ +│ └── /home (ext4, ~175GB) │ +│ OS + apps + projects + media │ └─────────────────────────────────────┘ ┌─────────────────────────────────────┐ -│ USB SSD (/dev/sda) │ -│ SATA or NVMe in USB 3.0 enclosure │ +│ MicroSD (/dev/mmcblk0) │ +│ Optional expansion │ +│ ├── OS images / boot tests │ +│ └── Media library / backups │ +└─────────────────────────────────────┘ + +┌─────────────────────────────────────┐ +│ USB SSD (/dev/sda) │ +│ Optional — only if eMMC fills up │ │ ├── /mnt/data/projects │ │ ├── /mnt/data/media │ │ └── /mnt/data/backup │ -│ Mounted on-demand │ └─────────────────────────────────────┘ ``` @@ -130,18 +135,16 @@ Mount on-demand or at boot, depending on use case. ## Backup Strategy -### SD Card Imaging +### eMMC Imaging ```bash -# Backup -sudo dd if=/dev/mmcblk0 of=cyberdeck-sd-backup.img bs=4M status=progress +# Backup entire eMMC to USB drive +sudo dd if=/dev/mmcblk1 of=/mnt/data/cyberdeck-emmc-backup.img bs=4M status=progress # Restore -sudo dd if=cyberdeck-sd-backup.img of=/dev/mmcblk0 bs=4M status=progress +sudo dd if=/mnt/data/cyberdeck-emmc-backup.img of=/dev/mmcblk1 bs=4M status=progress ``` -Or use **Pi Imager** / **BalenaEtcher** for GUI imaging. - ### Data Backup - Timeshift for system snapshots @@ -152,31 +155,22 @@ Or use **Pi Imager** / **BalenaEtcher** for GUI imaging. ## Performance Expectations -| Operation | SD Card | USB SSD | -|-----------|---------|---------| -| Boot time | 8-12s | 5-8s (root-on-USB) | -| App launch | 1-3s | 0.5-1s | -| File read (1GB) | 40-90s | 3-5s | -| File write (1GB) | 60-120s | 3-5s | -| Random I/O | Slow | Fast | +| Operation | eMMC | MicroSD | USB SSD | +|-----------|------|---------|---------| +| Boot time | ~5-8s | ~10-15s | ~5-8s | +| App launch | 0.5-1s | 1-3s | 0.5-1s | +| File read (1GB) | ~3-4s | ~40-90s | ~3-5s | +| Reliability | Excellent | Poor (wear) | Good | -**SD card is fine forOS and light use. USB SSD for anything I/O intensive.** +eMMC is the clear winner for boot and everyday use. SD card and USB storage are optional extras. --- ## Cost Summary -| Item | Low | High | -|------|-----|------| -| MicroSD 64GB Endurance | $10 | $15 | -| USB 3.0 SATA enclosure | $10 | $15 | -| (Assume spare SSD) | $0 | $0 | -| **Total** | **$20** | **$30** | - -If no spare SSD: - -| Item | Low | High | -|------|-----|------| -| MicroSD 64GB Endurance | $10 | $15 | -| USB 3.0 flash drive 128GB | $15 | $25 | -| **Total** | **$25** | **$40** | \ No newline at end of file +| Item | Low | High | Status | +|------|-----|------|--------| +| 256GB eMMC | $0 | $0 | **Included with SBC** | +| MicroSD (optional) | $0 | $15 | Only if needed | +| USB enclosure (optional) | $0 | $15 | Only if eMMC fills up | +| **Total** | **$0** | **$30** | | \ No newline at end of file diff --git a/docs/usb-expansion.md b/docs/usb-expansion.md index b1cd40e..01e16ef 100644 --- a/docs/usb-expansion.md +++ b/docs/usb-expansion.md @@ -4,17 +4,17 @@ --- -## Native Ports (Orange Pi 5) +## Native Ports (Orange Pi 3B) | Port | Type | Speed | Location | |------|------|-------|----------| -| USB 3.0 | Type-A | 5 Gbps | Board edge | -| USB 2.0× Type-A | 480 Mbps | Board edge | -| USB-C | Power + DisplayPort | 5 Gbps | Power input | +| USB 3.0 ×2 | Type-A | 5 Gbps | Board edge | +| USB 2.0 ×2 | Type-A | 480 Mbps | Board edge | +| USB-C | Power only (5V input) | — | Power input | -**Total native USB:** 3 ports (1× USB 3.0, 2× USB 2.0) +**Total native USB:** 4 ports (2× USB 3.0, 2× USB 2.0) -This is insufficient for a cyberdeck with multiple peripherals. +Still may benefit from a hub depending on peripheral count, but the OPi3B's 2× USB 3.0 natively doubles the bandwidth available vs the OPi5. --- @@ -75,44 +75,44 @@ This is insufficient for a cyberdeck with multiple peripherals. ``` ┌─────────────────┐ - │ Orange Pi 5 │ + │ Orange Pi 3B │ │ │ │ USB 3.0 ───────┼─────┐ - │ USB 2.0 ───────┼──┐ │ - │ USB 2.0 ───────┼──┼─┐│ - │ │ │ ││ - └─────────────────┘ │ ││ - │ ││ - ┌────────────────────┘ ││ - │ ││ - ▼ ││ - ┌─────────────────────┐ ││ - │ Powered USB Hub │ ││ - │ (7-port) │ ││ - │ │ ││ - │ [Uplink] ◀─────────┘ ││ - │ │ ││ - │ [1] [2] [3] [4] │ ││ - │ [5] [6] [7] │ ││ - │ │ ││ - │ ┌─────────┐ │ ││ - │ │ 5V DC │◄───────┼──────────┼┼── external power - │ └─────────┘ │ ││ - └─────────────────────┘ ││ - │ ││ - ▼ ││ - ┌─────────────────────┐ ││ - │ Peripherals │ ││ - │ • SSD enclosure │ ││ - │ • WiFi dongle │ ││ - │ • Keyboard/mouse │ ││ - │ • Webcam │ ││ - │ • Misc USB │ ││ - └─────────────────────┘ ││ - ││ - Native ports still available: ││ - • 2× USB 2.0 (keyboard, mouse) ◄─┘│ - • 1× USB-C (power input) ◄──┘ + │ USB 3.0 ───────┼──┐ │ + │ USB 2.0 ───────┼──┼──┤ + │ USB 2.0 ───────┼──┼──┤ + │ │ │ │ + └─────────────────┘ │ │ + │ │ + ┌────────────────────┘ │ + │ │ + ▼ │ + ┌─────────────────────┐ │ + │ Powered USB Hub │ │ + │ (7-port) │ │ + │ │ │ + │ [Uplink] ◀────────┘ │ + │ │ │ + │ [1] [2] [3] [4] │ │ + │ [5] [6] [7] │ │ + │ │ │ + │ ┌─────────┐ │ │ + │ │ 5V DC │◄───────┼───────────┼── external power + │ └─────────┘ │ │ + └─────────────────────┘ │ + │ │ + ▼ │ + ┌─────────────────────┐ │ + │ Peripherals │ │ + │ • SSD enclosure │ │ + │ • Keyboard │ │ + │ • Mouse │ │ + │ • Misc USB │ │ + └─────────────────────┘ │ + │ + Native ports still available: │ + • 2× USB 3.0 (if not used for uplink) ◄┘ + • 2× USB 2.0 (keyboard, mouse) ◄─┘ ``` --- @@ -127,22 +127,22 @@ This is insufficient for a cyberdeck with multiple peripherals. | Hub Port 2 | Hub | Data transfer | 5 Gbps | | Hub Port 3 | Hub | Data transfer | 5 Gbps | | Hub Port 4 | Hub | Data transfer | 5 Gbps | -| Hub Port 5 | Hub | WiFi dongle | 480 Mbps | -| Hub Port 6 | Hub | Bluetooth dongle | 480 Mbps | +| Hub Port 5 | Hub | Misc peripheral | 480 Mbps | +| Hub Port 6 | Hub | Misc peripheral | 480 Mbps | | Hub Port 7 | Hub | Misc peripheral | 480 Mbps | -| Native USB 2.0 | OPi5 | Keyboard | 480 Mbps | -| Native USB 2.0 | OPi5 | Mouse | 480 Mbps | +| Native USB 3.0 | OPi3B | Keyboard | 5 Gbps | +| Native USB 3.0 | OPi3B | Mouse | 5 Gbps | +| Native USB 2.0 | OPi3B | BT dongle or spare | 480 Mbps | +| Native USB 2.0 | OPi3B | Spare | 480 Mbps | -**Total available:** 9 ports (7 from hub + 2 native USB 2.0) +**Total available:** 11 ports (7 from hub + 4 native) ### Estimated Usage for Cyberdeck - 1× USB SSD (data storage) -- 1× WiFi dongle -- 1× Keyboard -- 1× Mouse -- 1× Webcam (optional) -- 4× Expansion ports +- 1× Keyboard (native USB 3.0 or 2.0) +- 1× Mouse (native USB 3.0 or 2.0) +- 4× Expansion ports (hub) --- @@ -201,11 +201,11 @@ Bare hub PCB designed for integration: | Component | Draw | |-----------|------| -| Orange Pi 5 (16GB) | 5-8W | +| Orange Pi 3B (8GB) | 3-5W | | USB hub (self-powered) | 1-2W | | USB SSD | 2-4W | | Peripherals | 1-2W | -| **Total** | **9-16W** | +| **Total** | **7-13W** | For portable build: 10,000-20,000 mAh battery pack with PD output. @@ -241,9 +241,9 @@ If you want internal hub without USB cable: ## Recommended First Iteration 1. Buy Sabrent 7-port powered hub ($20) -2. Plug into Orange Pi 5 USB 3.0 port +2. Plug into Orange Pi 3B USB 3.0 port 3. Use external power adapter -4. Done — no custom wiring needed +4. Done — no custom wiring needed, and with 2x native USB 3.0, you have options for direct connections **When you're ready for permanent build:** - Removehub from plastic case