Initial commit: cyberdeck project planning docs
- Salvage analysis of K501U components - Orange Pi 5 SBC selection rationale - Storage architecture (SD card + USB) - USB hub expansion plan - Parts list and cost estimates
This commit is contained in:
commit
8b41038be7
7 changed files with 1009 additions and 0 deletions
43
.gitignore
vendored
Normal file
43
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,43 @@
|
||||||
|
# Byte-compiled / optimized / DLL files
|
||||||
|
__pycache__/
|
||||||
|
*.py[cod]
|
||||||
|
*$py.class
|
||||||
|
|
||||||
|
# Editor directories and files
|
||||||
|
.idea/
|
||||||
|
.vscode/
|
||||||
|
*.swp
|
||||||
|
*.swo
|
||||||
|
*~
|
||||||
|
|
||||||
|
# OS files
|
||||||
|
.DS_Store
|
||||||
|
Thumbs.db
|
||||||
|
|
||||||
|
# Temporary files
|
||||||
|
*.tmp
|
||||||
|
*.temp
|
||||||
|
*.log
|
||||||
|
|
||||||
|
# Backup files
|
||||||
|
*.bak
|
||||||
|
*.backup
|
||||||
|
|
||||||
|
# Images (large files)
|
||||||
|
*.jpg
|
||||||
|
*.jpeg
|
||||||
|
*.png
|
||||||
|
*.gif
|
||||||
|
*.bmp
|
||||||
|
*.svg
|
||||||
|
|
||||||
|
# Archives
|
||||||
|
*.zip
|
||||||
|
*.tar.gz
|
||||||
|
*.rar
|
||||||
|
|
||||||
|
# Sensitive files
|
||||||
|
secrets/
|
||||||
|
*.key
|
||||||
|
*.pem
|
||||||
|
.env
|
||||||
80
README.md
Normal file
80
README.md
Normal file
|
|
@ -0,0 +1,80 @@
|
||||||
|
# K501U Cyberdeck
|
||||||
|
|
||||||
|
A cyberdeck built from salvaged ASUS K501U laptop components and Orange Pi 5 SBC.
|
||||||
|
|
||||||
|
## Project Status
|
||||||
|
|
||||||
|
**Phase:** Component acquisition andplanning
|
||||||
|
|
||||||
|
- [x] Salvage analysis (K501U components)
|
||||||
|
- [x] Display identification and controller board ordered
|
||||||
|
- [x] SBC selection (Orange Pi 5 16GB)
|
||||||
|
- [x] Storage architecture planned
|
||||||
|
- [x] USB expansion design
|
||||||
|
- [ ] Case design
|
||||||
|
- [ ] Power system (battery, charging)
|
||||||
|
- [ ] Fabrication
|
||||||
|
- [ ] Software configuration
|
||||||
|
|
||||||
|
## Components
|
||||||
|
|
||||||
|
### Salvaged from ASUS K501U
|
||||||
|
|
||||||
|
| Component | Model | Status |
|
||||||
|
|-----------|-------|--------|
|
||||||
|
| Display | Innolux N156HGE-EAB (Rev. C2) | Controller board ordered |
|
||||||
|
| Hinge mechanism | Original K501U | Available |
|
||||||
|
| Webcam | K501U module | Available |
|
||||||
|
| WiFi antenna | K501U | Available |
|
||||||
|
| Cooling fan | K501U | Available |
|
||||||
|
|
||||||
|
**Not reused:**
|
||||||
|
- RAM (DDR3L soldered, incompatible with modern SBCs)
|
||||||
|
- SSD (owner repurposed)
|
||||||
|
- WiFi card (Intel 7265NGW, no E-key slot on OPi5)
|
||||||
|
|
||||||
|
### 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 |
|
||||||
|
| USB hub | Powered 7-port USB 3.0 | To purchase |
|
||||||
|
| Storage (data) | USB 3.0 SSD enclosure | To purchase |
|
||||||
|
|
||||||
|
## Documentation
|
||||||
|
|
||||||
|
- [Salvage Analysis](docs/salvage-analysis.md) - K501U component breakdown
|
||||||
|
- [SBC Selection](docs/sbc-selection.md) - Orange Pi 5 details and rationale
|
||||||
|
- [Storage Architecture](docs/storage-architecture.md) - SD card + USB storage plan
|
||||||
|
- [USB Expansion](docs/usb-expansion.md) - Hub selection and port allocation
|
||||||
|
- [Parts List](docs/parts-list.md) - Bill of materials with costs
|
||||||
|
|
||||||
|
## Quick Reference
|
||||||
|
|
||||||
|
### Display
|
||||||
|
|
||||||
|
- **Panel:** Innolux N156HGE-EAB (Rev. C2)
|
||||||
|
- **Size:** 15.6" 1920×1080
|
||||||
|
- **Interface:** 30-pin eDP
|
||||||
|
- **Controller:** Standard 30-pin eDP to HDMI (~$24)
|
||||||
|
|
||||||
|
### 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:** 12V 2A barrel or USB-C PD
|
||||||
|
|
||||||
|
### Cost Estimate
|
||||||
|
|
||||||
|
| Category | Cost |
|
||||||
|
|----------|------|
|
||||||
|
| SBC | ~$104 |
|
||||||
|
| Display controller | ~$24 |
|
||||||
|
| Storage (SD + hub + enclosure) | ~$35-50 |
|
||||||
|
| Power supply | ~$10 |
|
||||||
|
| **Subtotal** | **$170-190** |
|
||||||
|
|
||||||
|
(Excludes case materials, battery, misc hardware)
|
||||||
111
docs/parts-list.md
Normal file
111
docs/parts-list.md
Normal file
|
|
@ -0,0 +1,111 @@
|
||||||
|
# Parts List
|
||||||
|
|
||||||
|
## Bill of Materials
|
||||||
|
|
||||||
|
### Core Components
|
||||||
|
|
||||||
|
| 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 |
|
||||||
|
|
||||||
|
### Salvaged from K501U
|
||||||
|
|
||||||
|
| Item | Status | Notes |
|
||||||
|
|------|--------|-------|
|
||||||
|
| Display (Innolux N156HGE-EAB) | Available | Controller board ordered |
|
||||||
|
| Hinge mechanism | Available | Intact |
|
||||||
|
| WiFi antenna | Available | In hinge |
|
||||||
|
| Webcam | Available | In bezel |
|
||||||
|
| Cooling fan | Available | 4-pin PWM |
|
||||||
|
|
||||||
|
### USB Expansion
|
||||||
|
|
||||||
|
| Item | Specification | Source | Est. Cost | Status |
|
||||||
|
|------|--------------|--------|-----------|--------|
|
||||||
|
| USB hub | Powered 7-port USB 3.0 | Amazon | $15-25 | To purchase |
|
||||||
|
| USB enclosure | SATA 2.5" USB 3.0 | Amazon | $10-15 | To purchase |
|
||||||
|
| (or) USB flash | 128GB USB 3.0 | Amazon | $15-25 | Alternative |
|
||||||
|
|
||||||
|
### Power
|
||||||
|
|
||||||
|
| Item | Specification | Source | Est. Cost | Status |
|
||||||
|
|------|--------------|--------|-----------|--------|
|
||||||
|
| Power supply | USB-C PD or 12V 2A | Amazon | $8-12 | To purchase |
|
||||||
|
| (Future) Battery | 10,000-20,000 mAh PD | TBD | $20-40 | Future |
|
||||||
|
|
||||||
|
### Networking
|
||||||
|
|
||||||
|
| Item | Specification | Source | Est. Cost | Status |
|
||||||
|
|------|--------------|--------|-----------|--------|
|
||||||
|
| WiFi dongle | USB, Linux-compatible | Amazon | $10-15 | To purchase |
|
||||||
|
|
||||||
|
### Optional
|
||||||
|
|
||||||
|
| Item | Purpose |Source | Est. Cost |
|
||||||
|
|------|---------|--------|-----------|
|
||||||
|
| Heatsink + fan | Cooling | AliExpress | $5-10 |
|
||||||
|
| Panel-mount cables | Case integration | Amazon | $10-20 |
|
||||||
|
| SD card reader | Backup/imaging | Amazon | $8-12 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Cost Summary
|
||||||
|
|
||||||
|
### Minimum Viable Build
|
||||||
|
|
||||||
|
| Category | Cost |
|
||||||
|
|----------|------|
|
||||||
|
| SBC | $104 |
|
||||||
|
| Display controller | $24 |
|
||||||
|
| MicroSD | $12 |
|
||||||
|
| USB hub | $20 |
|
||||||
|
| USB enclosure | $12 |
|
||||||
|
| Power supply | $10 |
|
||||||
|
| WiFi dongle | $12 |
|
||||||
|
| **Subtotal** | **$194** |
|
||||||
|
|
||||||
|
### With Optional Items
|
||||||
|
|
||||||
|
| Category | Cost |
|
||||||
|
|----------|------|
|
||||||
|
| Base build | $194 |
|
||||||
|
| Heatsink/cooling | $10 |
|
||||||
|
| Panel-mount cables | $15 |
|
||||||
|
| **Total** | **$219** |
|
||||||
|
|
||||||
|
### Future Additions
|
||||||
|
|
||||||
|
| Category | Cost |
|
||||||
|
|----------|------|
|
||||||
|
| Battery pack (portable) | $20-40 |
|
||||||
|
| Case materials | TBD |
|
||||||
|
| Custom PCB | TBD |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Ordered Items
|
||||||
|
|
||||||
|
| Item | Date Ordered | Est. Arrival | Source | Tracking |
|
||||||
|
|------|-------------|--------------|--------|----------|
|
||||||
|
| Display controller board | TBD | 2-4 weeks | Amazon/eBay | TBD |
|
||||||
|
|
||||||
|
## Pending Purchases
|
||||||
|
|
||||||
|
- MicroSD card
|
||||||
|
- Powered USB hub
|
||||||
|
- USB enclosure or flash drive
|
||||||
|
- Power supply
|
||||||
|
- WiFi dongle
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Supplier Links (Research)
|
||||||
|
|
||||||
|
*Add actual links when ordering:*
|
||||||
|
|
||||||
|
- Orange Pi 5: eBay search for "Orange Pi 5 16GB"
|
||||||
|
- 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"
|
||||||
204
docs/salvage-analysis.md
Normal file
204
docs/salvage-analysis.md
Normal file
|
|
@ -0,0 +1,204 @@
|
||||||
|
# Salvage Analysis: ASUS K501U
|
||||||
|
|
||||||
|
**Source:** ASUS K501U laptop with failed motherboard
|
||||||
|
**Goal:** Extract usable components for cyberdeck build
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Display Panel
|
||||||
|
|
||||||
|
### Identification
|
||||||
|
|
||||||
|
|Attribute | Value |
|
||||||
|
|----------|-------|
|
||||||
|
| Model | Innolux N156HGE-EAB (Rev. C2) |
|
||||||
|
| Size | 15.6" diagonal |
|
||||||
|
| Resolution | 1920×1080 (FHD) |
|
||||||
|
| Interface | 30-pin eDP |
|
||||||
|
| Backlight | LED |
|
||||||
|
| Panel type | IPS |
|
||||||
|
|
||||||
|
### Verification Process
|
||||||
|
|
||||||
|
1. Removed bezel clips (plastic tabs around screen edge)
|
||||||
|
2. Located panel sticker on back of LCD assembly
|
||||||
|
3. Confirmed model number: N156HGE-EAB
|
||||||
|
4. Verified 30-pin connector (not 40-pin, not LVDS)
|
||||||
|
|
||||||
|
### Compatibility
|
||||||
|
|
||||||
|
**Standard eDP controller boards work with this panel.**
|
||||||
|
|
||||||
|
Search terms:
|
||||||
|
- "N156HGE-EAB controller board"
|
||||||
|
- "30-pin eDP to HDMI"
|
||||||
|
- "LCD controller board 15.6"
|
||||||
|
|
||||||
|
**Cost:** ~$24 (Amazon/eBay/AliExpress)
|
||||||
|
|
||||||
|
### Notes
|
||||||
|
|
||||||
|
- Panel is in good condition, no scratches or dead pixels
|
||||||
|
- Keep original bezel and frame for mounting
|
||||||
|
- Hinge mechanism intact - useful for clamshell design
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Storage
|
||||||
|
|
||||||
|
### Original Configuration
|
||||||
|
|
||||||
|
The K501U had an M.2 NVMe SSD installed.
|
||||||
|
|
||||||
|
**Status:** Owner already removed and repurposed. Now in a USB enclosure serving as external drive.
|
||||||
|
**Not available for this build.**
|
||||||
|
|
||||||
|
### RAM
|
||||||
|
|
||||||
|
| Attribute | Value |
|
||||||
|
|-----------|-------|
|
||||||
|
| Type | DDR3L (low voltage) |
|
||||||
|
| Speed | 1600 MHz |
|
||||||
|
| Location | Soldered onboard (no SODIMM slot populated) |
|
||||||
|
| Capacity | 8GB (varies by SKU) |
|
||||||
|
|
||||||
|
**Not reusable:**
|
||||||
|
- DDR3L is incompatible with modern SBCs (DDR4/DDR5)
|
||||||
|
- Soldered to motherboard, not a removable DIMM
|
||||||
|
- K501U base model has empty SODIMM slot but uses soldered RAM
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## WiFi
|
||||||
|
|
||||||
|
### Original Card
|
||||||
|
|
||||||
|
| Attribute | Value |
|
||||||
|
|-----------|-------|
|
||||||
|
| Model | Intel 7265NGW |
|
||||||
|
| Form factor | M.2 2230 |
|
||||||
|
| Interface | M.2 E-key |
|
||||||
|
| Protocols | 802.11ac, Bluetooth 4.0 |
|
||||||
|
|
||||||
|
### Reusability
|
||||||
|
|
||||||
|
**Not directly usable with Orange Pi 5 (base model).**
|
||||||
|
|
||||||
|
- 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
|
||||||
|
|
||||||
|
### 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
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Other Components
|
||||||
|
|
||||||
|
### Webcam
|
||||||
|
|
||||||
|
| Attribute | Value |
|
||||||
|
|-----------|-------|
|
||||||
|
| Location | Embedded in display bezel |
|
||||||
|
| Interface | USB (internal cable to motherboard) |
|
||||||
|
| Connector | Proprietary pinout |
|
||||||
|
|
||||||
|
**Potential reuse:**
|
||||||
|
- Can be extracted with bezel
|
||||||
|
- Requires USB pinout identification
|
||||||
|
- Standard webcam protocol (UVC) likely supported
|
||||||
|
- May need adapter cable
|
||||||
|
|
||||||
|
### Cooling Fan
|
||||||
|
|
||||||
|
| Attribute | Value |
|
||||||
|
|-----------|-------|
|
||||||
|
| Type | Blower fan with heat pipes |
|
||||||
|
| Interface | 4-pin PWM |
|
||||||
|
| 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
|
||||||
|
|
||||||
|
### Keyboard/Trackpad
|
||||||
|
|
||||||
|
| Attribute | Value |
|
||||||
|
|-----------|-------|
|
||||||
|
| Keyboard | Integrated PCB, proprietary connector |
|
||||||
|
| Trackpad | Precision trackpad, proprietary connector |
|
||||||
|
|
||||||
|
**Not reusable:**
|
||||||
|
- Proprietary motherboard connectors
|
||||||
|
- No standard USB interface
|
||||||
|
- Requires significant reverse engineering
|
||||||
|
|
||||||
|
### WiFi Antenna
|
||||||
|
|
||||||
|
| Attribute | Value |
|
||||||
|
|-----------|-------|
|
||||||
|
| Location | Embedded indisplay hinge |
|
||||||
|
| Type | Dual-band antenna |
|
||||||
|
| Cable | U.FL connectors |
|
||||||
|
|
||||||
|
**Reusable with USB WiFi dongle:**
|
||||||
|
- Antenna can be connected to compatible dongle
|
||||||
|
- U.FL to SMA adapter cable needed
|
||||||
|
- Good signal reception quality
|
||||||
|
|
||||||
|
### Hinge Mechanism
|
||||||
|
|
||||||
|
| Attribute | Value |
|
||||||
|
|-----------|-------|
|
||||||
|
| Type | Dual-hinge laptop hinge|
|
||||||
|
| Condition | Intact, smooth operation |
|
||||||
|
| Mount | Metal frame attached to display |
|
||||||
|
|
||||||
|
**Useful for cyberdeck:**
|
||||||
|
- Natural open/close mechanism
|
||||||
|
- Can support display weight
|
||||||
|
- Mounting points for base
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Summary
|
||||||
|
|
||||||
|
### Direct Reuse
|
||||||
|
|
||||||
|
| Component | Effort | Value |
|
||||||
|
|-----------|--------|-------|
|
||||||
|
| **Display** | Low (with controller) | High |
|
||||||
|
| **Hinge** | Low | Medium |
|
||||||
|
| **WiFi antenna** | Low (with adapter) | Low |
|
||||||
|
|
||||||
|
### Not Reused
|
||||||
|
|
||||||
|
| Component | Reason |
|
||||||
|
|-----------|--------|
|
||||||
|
| SSD | Already repurposed |
|
||||||
|
| RAM | Wrong generation |
|
||||||
|
| WiFi card | No E-key slot on OPi5 |
|
||||||
|
| Keyboard/trackpad | Proprietary connectors |
|
||||||
|
| Motherboard | Failed |
|
||||||
|
|
||||||
|
### New Components Needed
|
||||||
|
|
||||||
|
| Component | Estimated Cost |
|
||||||
|
|-----------|----------------|
|
||||||
|
| eDP controller board | $24 |
|
||||||
|
| USB WiFi dongle | $10-15 |
|
||||||
|
| SBC (Orange Pi 5) | $70-100 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Reference
|
||||||
|
|
||||||
|
- Panel datasheet: Innolux N156HGE-EAB product brief
|
||||||
|
- K501U teardown: Standard ASUS budget laptop construction
|
||||||
|
- Orange Pi 5 specs: orangepi.org
|
||||||
137
docs/sbc-selection.md
Normal file
137
docs/sbc-selection.md
Normal file
|
|
@ -0,0 +1,137 @@
|
||||||
|
# SBC Selection: Orange Pi 5
|
||||||
|
|
||||||
|
**Decision:** Orange Pi 5 (base model, non-Plus) 16GB RAM
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Options Considered
|
||||||
|
|
||||||
|
| 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
|
||||||
|
|
||||||
|
| Attribute | Value |
|
||||||
|
|-----------|-------|
|
||||||
|
| CPU | 8-core (4× Cortex-A76 + 4× Cortex-A55) |
|
||||||
|
| GPU | Mali-G610 MC4 |
|
||||||
|
| NPU | 6 TOPS AI accelerator |
|
||||||
|
| Process |8nm |
|
||||||
|
|
||||||
|
### Memory
|
||||||
|
|
||||||
|
| Attribute | Value |
|
||||||
|
|-----------|-------|
|
||||||
|
| Configurations | 4/8/16/32GB |
|
||||||
|
| Type | LPDDR4/LPDDR4X |
|
||||||
|
| Selected | 16GB |
|
||||||
|
|
||||||
|
### Storage Support
|
||||||
|
|
||||||
|
| 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 |
|
||||||
|
|
||||||
|
### Connectivity (Base Model)
|
||||||
|
|
||||||
|
| 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 |
|
||||||
|
|
||||||
|
### 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 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Rationale
|
||||||
|
|
||||||
|
### Why Orange Pi 5 (Base)
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
### Why Not Orange Pi 5 Plus
|
||||||
|
|
||||||
|
- 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
|
||||||
|
|
||||||
|
### Speed Reality Check
|
||||||
|
|
||||||
|
| 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.**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## eBay Bid Strategy
|
||||||
|
|
||||||
|
| Auction | Bid Limit | Shipping | Total Max |
|
||||||
|
|---------|-----------|----------|-----------|
|
||||||
|
| Orange Pi 5 16GB | $99 | $5 | $104 |
|
||||||
|
|
||||||
|
**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 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 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/)
|
||||||
182
docs/storage-architecture.md
Normal file
182
docs/storage-architecture.md
Normal file
|
|
@ -0,0 +1,182 @@
|
||||||
|
# Storage Architecture
|
||||||
|
|
||||||
|
**Strategy:** SD card for boot/root, USB for data
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 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
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Layer 1: Boot/Root (MicroSD)
|
||||||
|
|
||||||
|
### Card Selection
|
||||||
|
|
||||||
|
| Attribute | Recommendation |
|
||||||
|
|-----------|----------------|
|
||||||
|
| Capacity | 64GB minimum, 128 GB preferred |
|
||||||
|
| Type | Endurance-rated or Industrial |
|
||||||
|
| Brands | SanDisk Endurance, Samsung PRO Endurance |
|
||||||
|
|
||||||
|
**Why endurance 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:
|
||||||
|
|
||||||
|
- 5000+ hours of continuous recording
|
||||||
|
- 1000+ write cycles per sector
|
||||||
|
- 5-10× longer lifespan than consumer cards
|
||||||
|
|
||||||
|
**Cost:**$10-15 for 64GB
|
||||||
|
|
||||||
|
### 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.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Layer 2: Data Storage (USB)
|
||||||
|
|
||||||
|
### 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)
|
||||||
|
|
||||||
|
### Mount Strategy
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# /etc/fstab
|
||||||
|
UUID=<ssd-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 │
|
||||||
|
└─────────────────────────────────────┘
|
||||||
|
|
||||||
|
┌─────────────────────────────────────┐
|
||||||
|
│ USB SSD (/dev/sda) │
|
||||||
|
│ SATA or NVMe in USB 3.0 enclosure │
|
||||||
|
│ ├── /mnt/data/projects │
|
||||||
|
│ ├── /mnt/data/media │
|
||||||
|
│ └── /mnt/data/backup │
|
||||||
|
│ Mounted on-demand │
|
||||||
|
└─────────────────────────────────────┘
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Backup Strategy
|
||||||
|
|
||||||
|
### SD Card Imaging
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Backup
|
||||||
|
sudo dd if=/dev/mmcblk0 of=cyberdeck-sd-backup.img bs=4M status=progress
|
||||||
|
|
||||||
|
# Restore
|
||||||
|
sudo dd if=cyberdeck-sd-backup.img of=/dev/mmcblk0 bs=4M status=progress
|
||||||
|
```
|
||||||
|
|
||||||
|
Or use **Pi Imager** / **BalenaEtcher** for GUI imaging.
|
||||||
|
|
||||||
|
### Data Backup
|
||||||
|
|
||||||
|
- Timeshift for system snapshots
|
||||||
|
- rsync to external drive
|
||||||
|
- Cloud sync for critical files
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 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 |
|
||||||
|
|
||||||
|
**SD card is fine forOS and light use. USB SSD for anything I/O intensive.**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 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** |
|
||||||
252
docs/usb-expansion.md
Normal file
252
docs/usb-expansion.md
Normal file
|
|
@ -0,0 +1,252 @@
|
||||||
|
# USB Port Expansion
|
||||||
|
|
||||||
|
**Goal:** Multiple USB ports for cyberdeck peripherals
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Native Ports (Orange Pi 5)
|
||||||
|
|
||||||
|
| 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 |
|
||||||
|
|
||||||
|
**Total native USB:** 3 ports (1× USB 3.0, 2× USB 2.0)
|
||||||
|
|
||||||
|
This is insufficient for a cyberdeck with multiple peripherals.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## USB Hub Solution
|
||||||
|
|
||||||
|
### Why Powered Hub
|
||||||
|
|
||||||
|
| Hub Type | Power Source | Issues |
|
||||||
|
|----------|--------------|--------|
|
||||||
|
| Bus-powered | Draws from OPi5 | Voltage drops, instability |
|
||||||
|
| **Self-powered** | External 5V supply | **Stable, reliable** |
|
||||||
|
|
||||||
|
**Orange Pi 5 USB power budget:** ~900mA total across all ports.
|
||||||
|
|
||||||
|
**Device power draw:**
|
||||||
|
|
||||||
|
| Device | Draw |
|
||||||
|
|--------|------|
|
||||||
|
| USB SSD | 500-1000mA |
|
||||||
|
| WiFi dongle | 200-500mA |
|
||||||
|
| Keyboard | 50-100mA |
|
||||||
|
| Mouse | 50-100mA |
|
||||||
|
| Webcam | 250-500mA |
|
||||||
|
|
||||||
|
**Conclusion:** Bus-powered hub will cause brownouts. Use powered hub.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Hub Options
|
||||||
|
|
||||||
|
### Consumer-Grade
|
||||||
|
|
||||||
|
| Model | Ports | Power | Cost |
|
||||||
|
|-------|-------|-------|------|
|
||||||
|
| Sabrent 7-Port USB 3.0 | 4× 3.0 + 3× 2.0 | Barrel jack | $20-25 |
|
||||||
|
| Anker 7-Port USB 3.0 | 7× 3.0 | Barrel jack | $25-30 |
|
||||||
|
| Anker 4-Port USB 3.0 | 4× 3.0 | Barrel jack | $15-20 |
|
||||||
|
|
||||||
|
### Industrial
|
||||||
|
|
||||||
|
| Model | Ports | Power | Cost |
|
||||||
|
|-------|-------|-------|------|
|
||||||
|
| USB Hub PCB (GL850G) | 4× 2.0 | External 5V | $8-12 |
|
||||||
|
| Industrial USB 3.0 Hub | 4-7× 3.0 | External 5V | $15-30 |
|
||||||
|
|
||||||
|
### Recommendation
|
||||||
|
|
||||||
|
**Sabrent 7-Port USB 3.0 Powered Hub**
|
||||||
|
|
||||||
|
- 4× USB 3.0 + 3× USB 2.0
|
||||||
|
- External 5V barrel jack
|
||||||
|
- Vertical orientation (compact)
|
||||||
|
- ~$20-25
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Connection Diagram
|
||||||
|
|
||||||
|
```
|
||||||
|
┌─────────────────┐
|
||||||
|
│ Orange Pi 5 │
|
||||||
|
│ │
|
||||||
|
│ 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) ◄──┘
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Port Allocation
|
||||||
|
|
||||||
|
### After Hub
|
||||||
|
|
||||||
|
| Port |Location | Purpose | Speed |
|
||||||
|
|------|----------|---------|-------|
|
||||||
|
| Hub Port 1 | Hub | USB SSD | 5 Gbps |
|
||||||
|
| 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 7 | Hub | Misc peripheral | 480 Mbps |
|
||||||
|
| Native USB 2.0 | OPi5 | Keyboard | 480 Mbps |
|
||||||
|
| Native USB 2.0 | OPi5 | Mouse | 480 Mbps |
|
||||||
|
|
||||||
|
**Total available:** 9 ports (7 from hub + 2 native USB 2.0)
|
||||||
|
|
||||||
|
### Estimated Usage for Cyberdeck
|
||||||
|
|
||||||
|
- 1× USB SSD (data storage)
|
||||||
|
- 1× WiFi dongle
|
||||||
|
- 1× Keyboard
|
||||||
|
- 1× Mouse
|
||||||
|
- 1× Webcam (optional)
|
||||||
|
- 4× Expansion ports
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Panel-Mount Options
|
||||||
|
|
||||||
|
For a permanent cyberdeck build, mount USB ports on the case face.
|
||||||
|
|
||||||
|
### Method 1: Panel-Mount Cables
|
||||||
|
|
||||||
|
Pre-made cables with panel-mount USB-A connectors:
|
||||||
|
|
||||||
|
- [Panel mount USB-A extension](https://www.amazon.com/s?k=panel+mount+usb+extension) (~$10-15 for 4-pack)
|
||||||
|
- [Panel mount USB-C](https://www.amazon.com/s?k=panel+mount+usb+c) (~$10-15 for 2-pack)
|
||||||
|
|
||||||
|
**Setup:**
|
||||||
|
1. Mount connectors in case face
|
||||||
|
2. Run cables inside to hub
|
||||||
|
3. Secure hub internally
|
||||||
|
|
||||||
|
### Method 2: Industrial Hub PCB
|
||||||
|
|
||||||
|
Bare hub PCB designed for integration:
|
||||||
|
|
||||||
|
- Mount PCB inside case
|
||||||
|
- Wire panel connectors directly to PCB
|
||||||
|
- Cleaner internal layout
|
||||||
|
|
||||||
|
**Parts:**
|
||||||
|
- USB hub PCB (GL850G or similar): $8-15
|
||||||
|
- Panel-mount USB connectors: $10-15
|
||||||
|
- Meanwell 5V 3A PSU: $8
|
||||||
|
|
||||||
|
**Total:** ~$25-35
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Power Considerations
|
||||||
|
|
||||||
|
### Hub Power Requirements
|
||||||
|
|
||||||
|
| Specification | Value |
|
||||||
|
|---------------|-------|
|
||||||
|
| Input voltage | 5V DC |
|
||||||
|
| Current | 2-4A (depending on devices) |
|
||||||
|
| Connector | Barrel jack (usually) |
|
||||||
|
|
||||||
|
### Powering the Hub
|
||||||
|
|
||||||
|
| Method | Notes |
|
||||||
|
|--------|-------|
|
||||||
|
| Wall adapter (included) | Simple, separate power brick |
|
||||||
|
| 5V from cyberdeck PSU | Integrated, requires 5V rail |
|
||||||
|
| USB-C PD | Requires USB-C hub with PD pass-through |
|
||||||
|
|
||||||
|
### Power Budget
|
||||||
|
|
||||||
|
| Component | Draw |
|
||||||
|
|-----------|------|
|
||||||
|
| Orange Pi 5 (16GB) | 5-8W |
|
||||||
|
| USB hub (self-powered) | 1-2W |
|
||||||
|
| USB SSD | 2-4W |
|
||||||
|
| Peripherals | 1-2W |
|
||||||
|
| **Total** | **9-16W** |
|
||||||
|
|
||||||
|
For portable build: 10,000-20,000 mAh battery pack with PD output.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## GPIO Alternative
|
||||||
|
|
||||||
|
**USB hubs do not require GPIO.**
|
||||||
|
|
||||||
|
GPIO (26-pin header) is for:
|
||||||
|
- Serial console (TX/RX)
|
||||||
|
- I2C devices (sensors, displays)
|
||||||
|
- SPI devices (LCD, flash)
|
||||||
|
- PWM (fan speed, servos)
|
||||||
|
- Digital I/O (buttons, LEDs)
|
||||||
|
|
||||||
|
If you want internal hub without USB cable:
|
||||||
|
- Use GPIO for power only (5V/GND)
|
||||||
|
- Still need USB data connection
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Cost Summary
|
||||||
|
|
||||||
|
| Item | Cost |
|
||||||
|
|------|------|
|
||||||
|
| Powered USB 3.0 hub (7-port) | $15-25 |
|
||||||
|
| Panel-mount cables (optional) | $10-20 |
|
||||||
|
| **Total** | **$15-45** |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Recommended First Iteration
|
||||||
|
|
||||||
|
1. Buy Sabrent 7-port powered hub ($20)
|
||||||
|
2. Plug into Orange Pi 5 USB 3.0 port
|
||||||
|
3. Use external power adapter
|
||||||
|
4. Done — no custom wiring needed
|
||||||
|
|
||||||
|
**When you're ready for permanent build:**
|
||||||
|
- Removehub from plastic case
|
||||||
|
- Mount PCB inside cyberdeck
|
||||||
|
- Wire panel-mount connectors
|
||||||
|
- Power from internal 5V rail
|
||||||
Loading…
Add table
Add a link
Reference in a new issue