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