ESP32-P4 Smart PC Display จอ 8.8 นิ้ว + Telemetry HUD

มีจอยาว 8.8 นิ้วอยู่ในเคส PC แต่เอาไว้เปิด Animation อย่างเดียวก็น่าเสียดาย โปรเจกต์นี้เลยจับ FireBeetle 2 ESP32-P4 มาทำทั้ง Animation Player และ HUD สำหรับดู CPU / GPU แบบเรียลไทม์ บนจอ Bar Display ความละเอียด 1920×480

แนวคิดของ Project คือเปลี่ยนพื้นที่ว่างใน PC Cabinet ให้กลายเป็น Display ที่ไม่ได้มีไว้ตกแต่งอย่างเดียว แต่ยังแสดง System Information, Clock, Temperature, CPU/GPU Usage และ Dashboard แบบปรับแต่งได้

ESP32-P4 เป็นตัวจัดการ Display และ Multimedia เล่น MJPEG จาก SD Card ที่ประมาณ 24 FPS แล้วใน Telemetry Edition ยังวาด HUD Overlay ทับลงบน Animation Background ก่อนส่ง Frame ไปยัง MIPI DSI Display

งานนี้จึงมีครบทั้ง ESP32-P4 + MIPI DSI + SD Card + Hardware JPEG Decoder + PC Telemetry + CAD + 3D Printing เหมาะกับ Maker ที่อยากทำ PC Mod แบบไม่จบแค่ติดจอแล้วเปิด GIF วนไปเรื่อย ๆ

ESP32-P4 Smart PC Display พร้อมจอ Bar Display 8.8 นิ้ว
Smart PC Cabinet Display ที่ใช้ FireBeetle 2 ESP32-P4 ร่วมกับจอ IPS Bar Display 8.8 นิ้ว สำหรับ Animation และ PC Telemetry HUD

ก่อนทำตาม ต้องเลือกก่อนว่ากำลังใช้ Firmware Revision ไหน: Tutorial บน Hackster กับ README ปัจจุบันใน GitHub มีรายละเอียดบางจุดต่างกัน โดยเฉพาะโครงสร้าง Folder ใน SD Card, จำนวน Firmware และ Button Control บทความนี้จะแยกข้อมูลสอง Version ออกจากกัน ไม่รวมให้เป็น Spec เดียว

Key Takeaways

  • ใช้ DFRobot FireBeetle 2 ESP32-P4 เป็น Controller หลัก
  • ใช้จอ 8.8-inch IPS Bar Display ความละเอียด 480×1920 หรือมองในแนวนอนเป็น 1920×480
  • เชื่อม Display ผ่าน MIPI DSI
  • Animation ใช้ไฟล์ .mjpeg จาก MicroSD Card
  • Firmware ใช้ Hardware JPEG Decoder ของ ESP32-P4
  • Playback ถูก Pace ไว้ประมาณ 24 FPS ตาม Tutorial
  • Frame ถูก Decode เป็น RGB565 แล้ว Copy ไปยัง Framebuffer
  • ใช้ Double Framebuffer สำหรับ Display Pipeline
  • รองรับ Vertical และ Horizontal Content
  • Current GitHub Repository แบ่ง Firmware เป็น 3 แบบ: Flash Slideshow, SD MJPEG Player และ MJPEG + Telemetry HUD
  • Telemetry มาจาก PC-side Python Tool ไม่ได้ถูก ESP32 อ่านจาก CPU/GPU โดยตรง
  • PC ส่งข้อมูลเข้า ESP32 ผ่าน USB Serial ที่ 115200 baud
  • HUD แสดง CPU/GPU Temperature, CPU/GPU Usage, RAM, Date และ Time
  • Current Repository มี HUD สำเร็จรูป 15 Styles
  • Housing มี 3 ชิ้นหลัก: Main Housing, ESP32-P4 Bracket และ Back Cover
  • ผู้สร้างพิมพ์ Housing ด้วย Black PLA

Smart PC Display นี้คืออะไร?

ตัว Project เป็น Display แบบ Ultra-wide สำหรับติดตั้งภายใน PC Cabinet โดยใช้ ESP32-P4 เป็นตัวขับจอโดยตรง แทนการต่อจอเป็น Monitor เพิ่มผ่าน HDMI

นั่นแปลว่า มันไม่ได้เป็น Windows Second Monitor ที่เราลากหน้าต่างไปวางได้ แต่เป็น Embedded Display ที่มี Firmware ของตัวเอง

ESP32-P4 รับผิดชอบ:

  • อ่าน Animation จาก SD Card
  • Decode JPEG Frame
  • จัด Framebuffer
  • ขับจอผ่าน MIPI DSI
  • จัด Orientation
  • รับ Button Input
  • ใน Telemetry Edition รับข้อมูล PC ผ่าน Serial
  • วาด HUD Overlay ลงบน Frame
MicroSD / PC Telemetry

ESP32-P4

Hardware JPEG Decode + HUD Rendering

RGB565 Double Framebuffer

MIPI DSI

8.8-inch Bar Display

Hardware ที่ต้องใช้ตาม Project

อุปกรณ์ จำนวน หน้าที่
DFRobot FireBeetle 2 ESP32-P4 1 Controller และ Display / Multimedia Processing
8.8" IPS Bar Display 1 480×1920 MIPI DSI Display
MicroSD Card 1 เก็บไฟล์ .mjpeg และไฟล์ที่ Firmware ใช้งาน
M2 Phillips Screws Supplies List ระบุ 2 ตัว ใช้ในส่วน Mounting ตามขั้นตอนต้นฉบับ
3D-printed Parts 3 ชิ้นหลัก Housing, Bracket และ Back Cover
Screwdriver 1 ประกอบชิ้นส่วน
Soldering Station ตามใช้งาน ใช้กับส่วน Connector / Button Setup

เรื่องจำนวน M2 Screw ใน Source มีจุดที่ควรเช็กเอง: Supplies List ระบุ 2× M2 ขณะที่ขั้นตอนประกอบมีการอ้างถึงสกรู M2 ทั้งตอนยึด ESP32-P4 กับ Bracket และตอนจัดชุด Mounting เข้ากับ Housing ก่อนเตรียมน็อตจริง ควรตรวจ STL / Housing Revision และชิ้นงานของคุณอีกครั้ง แทนการสรุปจำนวนเพิ่มขึ้นเอง

1920×480 กับ 480×1920 ต่างกันยังไง?

จอที่ใช้เป็น Bar Display ที่มี Physical Resolution:

480 × 1920 pixels

ถ้าวางในแนวตั้ง Firmware สามารถใช้ Frame 480×1920 ได้ตรงกับ Panel

แต่ใน PC Cabinet เรามักติดจอเป็นแนวยาว จึงมอง Content เป็น:

1920 × 480 pixels

ใน Horizontal Mode Source ระบุว่า Firmware หมุน Frame 90° ก่อนนำไปแสดงบน Panel Physical 480×1920

เวลาทำ Animation: ถ้าจะทำแนวยาวติดเคส PC ให้เตรียม Content 1920×480 ส่วน Portrait Content ใช้ 480×1920 ตาม Pipeline ของ Project

CAD Designing: ตัวจอจะสวยหรือรก ขึ้นกับ Housing ตรงนี้เลย

ผู้สร้างออกแบบ Enclosure ใน Fusion 360 โดยเลือกโครงสร้างแบบ Modular และแบ่งออกเป็น 3 ส่วนหลัก

1

Main Housing

เป็นชิ้นหลัก สำหรับยึด Bar Display และรองรับชุด ESP32-P4

2

ESP32-P4 Mounting Bracket

เป็น Bracket แยก สำหรับยึด Board ให้เข้ากับ Housing

3

Back Cover

เป็นฝาหลังแบบ Snap-fit ปิด Electronics ให้ตัวเครื่องดูเรียบร้อยขึ้น

Prototype ต้นฉบับ พิมพ์ทั้งสามชิ้นด้วย Black PLA เพื่อให้เข้ากับโทนของ PC Cabinet

มี STL แล้วแต่ไม่มีเครื่อง 3D Printer? Project นี้มี Housing, Bracket และ Back Cover ที่ต้องพิมพ์จริง สามารถส่งไฟล์ให้ทีม Globalbyte ช่วยประเมินบริการรับปริ้นท์ 3D ได้ โดยควรตรวจ Revision ของ STL กับ Board / Display ที่คุณใช้อยู่ก่อนสั่งพิมพ์

เตรียม SD Card ก่อนประกอบ จะได้ไม่ต้องแกะเครื่องทีหลัง

Tutorial Hackster ให้ Download Animation Package แล้ว Copy Folder Vertical และ Horizontal ลง Root ของ SD Card

โครงสร้างใน Tutorial คือ:

SD Card Root
├── Vertical/
│   ├── 1.mjpeg
│   └── ...
└── Horizontal/
    ├── 1.mjpeg
    └── ...

หลัง Copy เสร็จ จึงนำ MicroSD ไปเสียบใน ESP32-P4

แต่ถ้าใช้ Current GitHub Firmware — SD Folder เปลี่ยนแล้ว

README ปัจจุบันของ Repository ใช้ Structure:

/Animations/Vertical/
/Animations/Horizontal/

และ Naming Convention เปลี่ยนเป็น:

a1.mjpeg, a2.mjpeg, a3.mjpeg และต่อไปตามลำดับ

อย่าผสมสอง Revision: ถ้าใช้ Firmware ตาม Hackster Tutorial ให้ตรวจโครงสร้าง Folder ของ Tutorial แต่ถ้า Compile Current GitHub Source ให้ใช้ Structure และ Naming ตาม README ของ Repository ปัจจุบัน เพราะ Firmware เป็นคนกำหนด Path ที่จะ Scan

Step 1: ยึด ESP32-P4 เข้ากับ Mounting Bracket

นำ:

  • FireBeetle 2 ESP32-P4
  • 3D-printed Mounting Bracket
  • M2 Phillips Screws

จัดตำแหน่งรู Mounting ของ Board ให้ตรงกับ Bracket แล้วขันสกรูให้ Board อยู่กับที่

อย่าขันแน่นเกินไป: ต้นฉบับระบุให้ขันให้แน่นพอดี โดยไม่ Overtighten เพื่อไม่ให้ Board หรือชิ้นงาน Printed Part รับแรงมากเกินจำเป็น

Step 2: ใส่ Bar Display ลง Main Housing

นำ Display มาจัดตำแหน่งกับ Main Housing แล้วเลื่อนจอเข้าหาด้านที่มี Display Holding Groove

ตรวจว่า Panel:

  • นั่งอยู่ในร่องครบ
  • ไม่บิด
  • ได้รับการรองรับจาก Housing

จากนั้นนำ ESP32-P4 Mounting Assembly ใส่เข้าไปใน Housing

จุดที่ต้องเช็กคือ USB Type-C Port ต้องตรงกับช่องเปิด เพื่อให้เสียบสายได้หลังปิดฝา

Step 3: ต่อ MIPI DSI และไฟ 5V ให้ Display

Display เชื่อมกับ ESP32-P4 ผ่าน DSI Cable ที่มากับจอ

จากนั้น Source ให้ต่อ:

VCC บน ESP32-P4 → 5V Input ของ Display

จุดนี้ห้ามรีบเสียบไฟ: ต้นฉบับย้ำให้ตรวจ DSI Cable Orientation และการต่อ VCC / 5V ก่อน Power-on เพราะ Connector แบบ Flat Cable ใส่กลับด้านได้ถ้าไม่ดู Orientation ให้ดี

Step 4: กด Back Cover แบบ Snap-fit เข้าที่

หลังตรวจ:

  • Display
  • ESP32-P4
  • DSI Cable
  • Power Wiring
  • USB Type-C Opening

แล้วจึงนำ Back Cover กดเข้ากับ Main Housing จน Snap-fit ล็อกเข้าที่

ตรวจรอบขอบ ว่าไม่มี Gap และไม่มีสายถูกหนีบอยู่ระหว่าง Cover กับ Housing

Flash Firmware มี 2 ทาง: EasyFlash หรือ Build เอง

ทางง่าย — EasyFlash Web App

ใน Tutorial Hackster ผู้สร้างทำ EasyFlash Web App เพื่อให้ Flash Firmware โดยไม่ต้องติดตั้ง Arduino IDE

  1. เปิด EasyFlash Web App
  2. ต่อ ESP32-P4 ด้วย USB Type-C ที่ส่ง Data ได้
  3. กด Connect & Flash
  4. เลือก COM Port
  5. รอ Firmware ถูก Download และ Flash

ผู้สร้างระบุว่า ใน Setup ของเขา ใช้เวลาไม่ถึงประมาณ 2 นาที

ทาง Maker — Compile Current Source เอง

README ปัจจุบัน มี Build Guide สำหรับ Arduino IDE 2.x และ ESP32 Core 3.0+

Repository แนะนำ Setting เช่น:

  • ESP32-P4 Dev Module หรือ FireBeetle 2 ESP32-P4
  • CPU Frequency 400 MHz
  • Flash Mode QIO 80 MHz
  • OPI PSRAM Enabled
  • Serial Monitor 115200 baud

EasyFlash และ Current GitHub Source ไม่จำเป็นต้องเป็น Binary Revision เดียวกันตลอดเวลา: ถ้าต้องการแก้ Firmware เอง ควรใช้ Build Instruction ที่มากับ Repository Revision ที่กำลัง Compile

Firmware มีอะไรให้เลือก?

หน้า Hackster เน้นสอง Edition หลัก:

  • Animation Player Edition
  • Telemetry HUD Edition

แต่ Current GitHub Repository แยก Firmware ออกเป็น 3 ระดับ:

1

Flash Image Slideshow

เล่น JPEG Image ที่เก็บไว้ใน Flash / PROGMEM โดยไม่ต้องใช้ SD Card

2

SD Card MJPEG Player

เน้น Performance สำหรับเล่นไฟล์ .mjpeg จาก MicroSD โดยไม่มี Telemetry Overlay

3

SD Card MJPEG + Telemetry HUD

เล่น Animation จาก SD พร้อมรับ PC Telemetry และวาด HUD Overlay บน Background

ถ้าเพิ่งเริ่ม: จะลอง Flash Slideshow หรือ MJPEG Player ก่อน Telemetry ก็ช่วยแยกปัญหา Display / SD Card ออกจากปัญหา PC-side Software ได้ง่ายขึ้น

MJPEG Player ทำงานยังไง?

Animation ไม่ได้ถูกส่งเข้าจอเป็น MP4 โดยตรง

Source ใช้ Motion JPEG หรือ .mjpeg ซึ่งประกอบด้วย JPEG Frames ต่อกัน

MicroSD

Read Data Block

หา JPEG Start / End Marker

Hardware JPEG Decoder

RGB565 Frame

Double Framebuffer

MIPI DSI Display

อ่าน SD Card เป็น Block

Tutorial ระบุว่า Firmware อ่านไฟล์ MJPEG เป็น Block ขนาด 4096 bytes

หา JPEG Marker

โปรแกรมมองหา:

  • FF D8 — JPEG Start
  • FF D9 — JPEG End

ส่งเข้า Hardware Decoder

เมื่อพบ JPEG Frame จะส่งเข้า Hardware JPEG Decoder ของ ESP32-P4

Frame ที่ Decode แล้ว ถูกเก็บเป็น RGB565 ก่อน Copy ไปยัง Framebuffer

24 FPS

Tutorial Pace Playback ไว้ประมาณ 24 FPS และตรวจ Button Event ระหว่าง Frame เพื่อไม่ต้องรอ Video Clip เล่นจนจบ ก่อนเปลี่ยน Animation

Vertical กับ Horizontal ไม่ได้แค่เปลี่ยนชื่อ Folder

Vertical

Content 480×1920 สามารถ Copy ไปยัง Physical Frame ตาม Orientation ของ Panel ได้โดยตรง ตาม Logic ที่ Tutorial อธิบาย

Horizontal

Content 1920×480 ถูก Rotate 90° เพื่อให้พอดีกับ Physical Panel 480×1920

จำค่าหลัง Restart

Firmware เก็บ:

  • Animation ล่าสุด
  • Orientation ล่าสุด
  • ใน Telemetry Firmware รวม HUD Layout ล่าสุดด้วย

ลง Non-volatile Storage ผ่าน Preferences / NVS ทำให้ Boot ครั้งถัดไป ไม่ต้องเริ่มใหม่ทั้งหมด

Telemetry HUD: จุดที่จอแต่งเคสเริ่มกลายเป็น Hardware Monitor

Telemetry Edition ใช้ Video Pipeline เดิม แต่เพิ่มขั้นตอนสำคัญ หลัง Decode Background Frame

Source อธิบายว่า Firmware จะเรียก Logic สำหรับ:

draw_telemetry_hud();

ทำให้ Pipeline กลายเป็น:

SD Card

MJPEG Decode

Background Frame

Draw Telemetry HUD

Final Framebuffer

DSI Display

ค่า Telemetry ที่ Project ใช้ประกอบด้วย:

  • CPU Temperature
  • GPU Temperature
  • CPU Usage
  • GPU Usage
  • Memory Usage
  • Active Status
  • Date
  • Time

ESP32-P4 ไม่ได้อ่าน CPU/GPU จาก PC ได้เอง — มี Python Tool อยู่ฝั่ง Windows

Current Repository มี Tool:

tools/pc_telemetry/stream_telemetry.py

หน้าที่ของ Script คืออ่าน Hardware Sensor จาก PC แล้ว Stream ค่าเข้า ESP32-P4 ผ่าน Serial

Source ปัจจุบันใช้:

  • LibreHardwareMonitor
  • Fallback ไป WMI / CIM
  • psutil สำหรับข้อมูลที่เกี่ยวข้อง
CPU / GPU / RAM Sensors

LibreHardwareMonitor / WMI / psutil

Python stream_telemetry.py
↓ USB Serial 115200
ESP32-P4

Telemetry HUD

Repository ปัจจุบัน ส่ง Packet ประมาณ หนึ่งครั้งต่อวินาที

ดังนั้น Telemetry HUD ต้องมี Software ฝั่ง PC ด้วย: แค่ Flash ESP32-P4 อย่างเดียวไม่ได้ทำให้ Board รู้ CPU Temperature หรือ GPU Usage ของ Windows ต้องมี Host Tool อ่าน Sensor แล้วส่งข้อมูลเข้ามา

Telemetry Packet หน้าตาเป็นยังไง?

Current Repository ใช้ Packet แบบ CSV ที่ขึ้นต้นด้วย:

$TEL:

Field เรียงเป็น:

  1. CPU Temperature
  2. CPU Usage
  3. GPU Temperature
  4. GPU Usage
  5. RAM Usage
  6. Date
  7. Time

Serial Speed: 115200 baud

Current Repository มี 15 Sci-Fi HUD Styles

Current README ระบุ Layout ทั้งหมด:

  1. Cards
  2. Dials
  3. Sidebar
  4. Top Bar
  5. Bottom Bar
  6. Corner Minimal
  7. Concentric Rings
  8. Left Rail
  9. Right Rail
  10. Diagonal Cascade
  11. Targeting HUD
  12. Split Bar
  13. Circular Cluster
  14. Matrix Grid
  15. Cyberpunk Gauges

ชื่อ Layout ใน Hackster Tutorial กับ Current GitHub ไม่เหมือนกันทั้งหมด: Tutorial รุ่นหนึ่งระบุ Text Only Minimal และ Ask Bar ขณะที่ Current README ใช้ Matrix Grid และ Cyberpunk Gauges ดังนั้นชื่อ HUD ต้องดูตาม Firmware Revision ที่ Flash อยู่

แล้ว /layout.json ล่ะ?

Hackster Revision ระบุว่า Telemetry Firmware สามารถอ่าน:

/layout.json

จาก SD Card เพื่อเปิด Custom Layout System หากไฟล์ Valid

แต่ Current Repository Documentation ที่ตรวจรอบนี้ เน้น 15 Built-in HUD Styles ดังนั้นถ้าจะใช้ layout.json ควรตรวจ Code ของ Firmware Revision ที่คุณกำลังใช้อยู่โดยตรง

GPIO32 Button: ปุ่มเดียวแต่ Control เปลี่ยนตาม Firmware Version

ผู้สร้างต่อ Button ระหว่าง:

GPIO32 ↔ GND

และในตัวเครื่องจริง ใช้ 2-pin LED/Button Connector จาก PC Cabinet แทนการเพิ่มปุ่มใหม่บน Housing

Hackster — Animation Player Edition

  • Single Click → Next Animation
  • Double Click → Vertical ↔ Horizontal
  • Long Press ≥2 sec → Restart ESP32

Hackster — Telemetry HUD Edition

  • Single Click → Next Animation
  • Double Click → Next HUD
  • Triple Click → Vertical ↔ Horizontal
  • Long Press ≥2 sec → Restart ESP32

Current GitHub — Telemetry System

  • Single Click → Next Animation
  • Double Click → Next HUD Style
  • Long Press 2 sec → Vertical ↔ Horizontal

อย่าจำ Button จากบทความอย่างเดียว: ถ้ากด Triple Click แล้วไม่เกิดอะไร หรือ Long Press ไม่ Restart อาจเป็นเพราะใช้ Current Firmware ที่ Mapping ปุ่มถูกเปลี่ยนแล้ว

แม้ Hardware List จะเรียก Panel ว่า Touch Display แต่ขั้นตอน Control ที่ Source อธิบายชัดใน Project นี้ ใช้ GPIO32 Push Button เป็นหลัก ดังนั้นบทความนี้จะไม่เพิ่ม Gesture หรือ Touch Control ที่ Source ไม่ได้ระบุ

Code Snippet: Current SD Structure + Telemetry Packet

ส่วนนี้ใช้ข้อมูลจาก Current Repository เพื่อให้เห็นว่า Firmware รุ่นล่าสุด คาดหวัง File Structure และ Telemetry Format แบบไหน

Current GitHub MicroSD Structure
MicroSD Card Root/
└── Animations/
    ├── Horizontal/
    │   ├── a1.mjpeg
    │   ├── a2.mjpeg
    │   ├── a3.mjpeg
    │   └── ...
    └── Vertical/
        ├── a1.mjpeg
        ├── a2.mjpeg
        ├── a3.mjpeg
        └── ...
Telemetry Packet Format
$TEL:<cpu_temp>,<cpu_usage>,<gpu_temp>,<gpu_usage>,<mem_usage>,<date>,<time>

Example:
$TEL:48.5,23,55.0,41,62,2026-08-26,16:05:00
Run PC Telemetry Streamer
python tools/pc_telemetry/stream_telemetry.py COM13
MJPEG Pipeline from Project
SD Card
→ MJPEG
→ JPEG Decoder
→ Framebuffer
→ DSI Display

Telemetry Edition:
SD Card
→ MJPEG
→ JPEG Decoder
→ draw_telemetry_hud()
→ Framebuffer
→ DSI Display

STL มีครบ Housing, Bracket และ Back Cover

Hackster แนบ STL ของชิ้นส่วนหลักไว้ครบ สามารถ Download ไปเปิดใน Slicer หรือนำไปปรับต่อใน Workflow ของตัวเองได้

ไม่มี 3D Printer ก็ยังทำ Project ได้: ดาวน์โหลด STL แล้วส่งไฟล์ให้ทีม Globalbyte ช่วยประเมินบริการรับปริ้นท์ 3D สำหรับ Main Housing, Mounting Bracket และ Back Cover ได้ โดยแจ้ง Material, สี และจำนวนชิ้นที่ต้องการตอนสอบถาม

ภาพ Animation, Assembly และ 3D Model เพิ่มเติม

เนื่องจาก Source มี Media จำนวนมาก หน้าแรกจึงแสดงเพียง Hero Image ส่วน Animation, รูปขั้นตอนประกอบ และ Sketchfab Models ถูกซ่อนไว้ใน View more แบบ Pure CSS

ตัวอย่าง Animation / Display Demo

ตัวอย่างการทำงานของ Smart PC Display จาก Media ต้นฉบับของ Project
ตัวอย่าง Animation / Interface ที่แสดงบนจอ Bar Display
Media สาธิตการแสดงผลจาก Project ต้นฉบับ
ตัวอย่าง Animated Content สำหรับ PC Cabinet Display
ตัวอย่าง Animation อีกชุด จากหน้า Project
Animation ประกอบขั้นตอน Firmware / Flashing จาก Project ต้นฉบับ

ภาพขั้นตอนประกอบ Hardware

ภาพ Hardware และชิ้นส่วน Smart PC Display
ภาพชิ้นส่วนและการเตรียม Hardware จาก Project ต้นฉบับ
ภาพขั้นตอนประกอบ ESP32-P4 PC display
ภาพขั้นตอนประกอบ Smart PC Display จากต้นฉบับ
ภาพชิ้นส่วน 3D printed สำหรับ smart PC display
ภาพชิ้นส่วนที่ใช้ในการประกอบ Housing และ Display
ภาพออกแบบหรือขั้นตอนจาก Smart PC Display project
ภาพประกอบจากขั้นตอน Design / Assembly ของ Project ต้นฉบับ
ESP32-P4 mounting assembly
ภาพขั้นตอน Mounting ESP32-P4 และชิ้นส่วน Printed Part
ESP32-P4 mounting bracket assembly
ภาพประกอบการจัดตำแหน่ง Board กับ Mounting Bracket
smart PC display mounting process
ภาพการประกอบ Hardware จาก Project ต้นฉบับ
ESP32-P4 PC display hardware assembly
ภาพ Hardware Assembly ก่อนปิด Housing
bar display installation in 3D printed housing
ภาพขั้นตอนติดตั้ง Bar Display เข้ากับ Housing
ESP32-P4 display assembly inside housing
ภาพประกอบการใส่ชุด ESP32-P4 เข้า Main Housing
PC display housing assembly
ภาพการจัดตำแหน่ง Display และ Housing จากต้นฉบับ
ESP32-P4 and display mounted in enclosure
ภาพชุด Board และ Display หลังจัดตำแหน่งใน Enclosure
MIPI DSI display connection project photo
ภาพประกอบขั้นตอนเชื่อมต่อ Display จาก Project ต้นฉบับ
ESP32-P4 DSI cable and display assembly
ภาพการประกอบและจัดสาย ภายใน Smart PC Display
smart PC display back cover assembly
ภาพขั้นตอนก่อนปิด Back Cover ของ Project
completed ESP32-P4 smart PC display
ภาพตัวเครื่องหลังประกอบ จาก Project ต้นฉบับ

ภาพ Firmware, Button และตัวเครื่องเพิ่มเติม

ภาพขั้นตอน Firmware สำหรับ ESP32-P4 PC Display
ภาพหน้าจอประกอบขั้นตอน Software / Firmware จากต้นฉบับ
GPIO32 PC cabinet button connection
ภาพ Hardware เพิ่มเติม ในช่วง Button / Final Assembly ของ Project
concept image included with ESP32-P4 PC Display project
ภาพคอนเซปต์ประกอบ ที่แนบอยู่ใน Project ต้นฉบับ
concept image for smart PC telemetry display
ภาพคอนเซปต์ประกอบเพิ่มเติม จากหน้า Project

ดู Housing แบบ 3D ผ่าน Sketchfab

Main Housing 3D Model สำหรับ Smart PC Display
ESP32-P4 Mounting Bracket แบบ 3D
Snap-fit Back Cover แบบ 3D

Project นี้มีหลาย Revision — Build จริงควรเปิด Source ควบคู่ไปด้วย

บทความต้นฉบับ เหมาะกับการตามขั้นตอนตั้งแต่ CAD ถึง Assembly ขณะที่ GitHub ปัจจุบัน มี Documentation ทาง Software ลึกขึ้นมาก เช่น:

  • Firmware Suite 3 แบบ
  • Current SD Card Structure
  • MJPEG Conversion Tools
  • PC Telemetry Streamer
  • Telemetry Protocol
  • Current HUD Styles
  • Troubleshooting

ก่อน Flash หรือ Copy SD Card: แนะนำให้อ่าน Build a Smart PC Display with ESP32-P4 บน Hackster สำหรับขั้นตอนประกอบ และเปิด ESP32_P4_DSI Repository เพื่อเช็ก Firmware, Folder Structure, Controls และ Tool เวอร์ชันล่าสุด

FAQ: ESP32-P4 Smart PC Display

โปรเจกต์นี้เป็นจอ Monitor ตัวที่สองของ Windows ไหม?

ไม่ใช่ในรูปแบบ HDMI / Extended Desktop ESP32-P4 เป็นตัวขับ Display เอง และ Telemetry ถูกส่งจาก PC เข้า ESP32 ผ่าน Serial

จอมีความละเอียดเท่าไร?

Panel เป็น 480×1920 และ Content แนวนอนใช้ 1920×480 ตาม Orientation ของ Project

ใช้สายอะไรต่อ Board กับ Display?

ใช้ MIPI DSI Cable ระหว่าง ESP32-P4 กับ Display ตาม Hardware ของ Project

Animation ใช้ MP4 ได้เลยไหม?

Firmware ที่อธิบายใน Project เล่นไฟล์ .mjpeg โดย Current Repository มี Python Tool สำหรับแปลง MP4, AVI, MOV, MKV, GIF หรือ Image Sequence ไปเป็น MJPEG

เล่นได้กี่ FPS?

Hackster Tutorial อธิบาย Playback ที่ประมาณ 24 FPS

ทำไม Current Firmware หาไฟล์ใน /Vertical ไม่เจอ?

Current GitHub README ใช้ /Animations/Vertical/ และ /Animations/Horizontal/ ขณะที่ Hackster Tutorial ใช้ Folder ตรง Root จึงต้องตรวจ Firmware Revision ที่กำลังใช้อยู่

Current Repository มี Firmware กี่แบบ?

สามแบบ: Flash Image Slideshow, SD Card MJPEG Player และ SD Card MJPEG + Telemetry HUD

ESP32-P4 อ่าน CPU Temperature จาก Windows โดยตรงไหม?

ไม่ PC-side Python Tool อ่าน Hardware Sensor แล้ว Stream ข้อมูลเข้า ESP32 ผ่าน USB Serial

Telemetry Serial ใช้ความเร็วเท่าไร?

Current Repository ระบุ 115200 baud และส่งข้อมูลประมาณหนึ่งครั้งต่อวินาที

แสดงค่าอะไรได้บ้าง?

CPU Temperature, CPU Usage, GPU Temperature, GPU Usage, RAM Usage, Date และ Time ตาม Telemetry Protocol ปัจจุบัน

มี HUD กี่แบบ?

Current GitHub Repository ระบุ 15 Sci-Fi HUD Styles

ทำไม Button Control ใน Hackster กับ GitHub ไม่เหมือนกัน?

เพราะ Documentation อ้างถึง Firmware คนละ Revision จึงควรดู Button Mapping ของ Source Code ที่ Flash อยู่จริง

ต้องมี Arduino IDE ไหม?

ถ้าใช้ EasyFlash ตาม Hackster ไม่จำเป็นต้อง Compile เอง แต่ถ้าต้องการแก้ Source Current Repository มีขั้นตอน Build ผ่าน Arduino IDE 2.x

Housing มีไฟล์ STL ไหม?

มี Main Housing, ESP32-P4 Mounting Bracket และ Back Cover ให้ Download จากหน้า Project

ไม่มี 3D Printer ยังทำได้ไหม?

ได้ สามารถนำ STL ไปใช้กับบริการ 3D Printing แทนการพิมพ์เองได้

นี่คือ PC Mod ที่ความว้าวไม่ได้มาจากจออย่างเดียว

สิ่งที่ทำให้ Project นี้น่าสนใจ ไม่ใช่เพียงการเอาจอยาว ไปแปะในเคส PC

แต่คือการประกอบหลายส่วนเข้าด้วยกัน:

CAD → 3D Print → ESP32-P4 → MIPI DSI → SD Card → MJPEG Decode → Framebuffer → PC Telemetry → HUD

ถ้าอยากได้แค่ภาพเคลื่อนไหว ก็ใช้ MJPEG Player ได้

ถ้าอยากให้จอมีประโยชน์เพิ่ม ก็เปิด Telemetry HUD แล้ว Stream CPU/GPU Data จาก PC เข้ามา

และถ้าอยากแก้รูปลักษณ์ Housing ก็มี STL ให้เอาไป Print หรือปรับต่อใน CAD

สำหรับ Maker Project นี้จึงเป็นตัวอย่างที่ดีว่า งาน PC Mod, Embedded System และ 3D Printing สามารถกลายเป็น Project เดียวกันได้ โดยไม่ต้องพึ่ง PC เป็นคน Render ทุก Pixel บนจอ

References / แหล่งข้อมูลต้นฉบับ

มี STL แล้ว อยากทำ Housing ให้จบก่อนประกอบ Electronics?

Project นี้มีชิ้นส่วน 3D Printed ทั้ง Main Housing, Mounting Bracket และ Back Cover ถ้ามีไฟล์ STL แต่ไม่มีเครื่องพิมพ์ หรือไม่อยากเสียเวลาตั้งค่า Print เอง สามารถส่งไฟล์ให้ทีม Globalbyte ช่วยประเมินบริการรับปริ้นท์ 3D ได้

ส่วนใครที่กำลังเริ่มงาน ESP32, Development Board, Display หรือ Maker Project ก็สามารถเข้ามาพูดคุย และสอบถามอุปกรณ์กับทีมได้เช่นกัน

 


Blog posts