Picothermal กล้อง Thermal RP2040 ที่เปิดผ่าน Browser ด้วย WebUSB
Hardware ยังใช้งานได้ดี แต่วันหนึ่ง Companion App หยุดอัปเดต แล้วอุปกรณ์ที่ซื้อหรือสร้างไว้จะใช้งานต่อยังไง? Picothermal ลองแก้โจทย์นี้อีกทาง: ไม่สร้าง Native App เลย แต่ให้ Thermal Camera คุยกับ Browser ผ่าน WebUSB แทน
Project ของ Cezar Chirila ใช้ FLIR Lepton 3.5 ร่วมกับ RP2040 และ USB-C โดยย้ายหน้าที่ของ Screen, User Interface และทรัพยากรหลายอย่าง ไปให้ Smartphone หรือ PC ที่ต่ออยู่กับกล้อง
เมื่อเสียบกล้อง ผู้ใช้เปิด Web App บน Browser ที่รองรับ WebUSB แล้วสามารถดู Thermal Image, อ่าน Temperature, เปลี่ยน Palette, ปรับ Emissivity และสั่ง Calibration ได้ โดยไม่ต้องติด Native Companion App แยก
- Sensor หลักคือ FLIR Lepton 3.5 ความละเอียด 160×120
- Controller คือ RP2040
- เชื่อมต่อ Host ผ่าน USB-C
- ไม่ต้องติด Native Companion App แต่ต้องใช้ Browser ที่รองรับ WebUSB
- Firmware เขียนด้วย Rust และ Embassy
- Web App รับ Raw Radiometric Y16 Data แล้วทำ Color Mapping ใน Browser
- Web UI มี Palette, Spot Temperature, Emissivity, Gain, FFC และ Save Image
- Hardware ไม่มี Battery, Charger, Display หรือ microSD ตาม Design ปัจจุบัน
- มี KiCad, Gerber, STEP, STL, Firmware และ Web App เปิดให้ศึกษา
- WebUSB ยังมีข้อจำกัดด้าน Browser Compatibility และ Secure Context
Picothermal คืออะไร?
Picothermal คือ Open-source Thermal Camera ที่ใช้ FLIR Lepton 3.5 เชื่อมกับ RP2040 แล้วส่งข้อมูลผ่าน USB-C ไปยัง PC หรือ Smartphone
ความต่างจาก Thermal Camera ที่มาพร้อม Mobile App ทั่วไป คือ Picothermal เลือกใช้ WebUSB เพื่อให้ Browser เป็น Software Interface แทน Native App
เป้าหมายของผู้สร้าง คืออยากให้อุปกรณ์มีอายุการใช้งานด้าน Software ยาวขึ้น โดยไม่ต้องคอย Maintain Android หรือ Desktop App แยกหลาย Platform
จาก Thermal Camera รุ่นแรก สู่ FLIR Lepton 3.5
ก่อน Picothermal ผู้สร้างเคยทำ Thermal Camera และอัปเกรด Sensor ไปใช้ MLX90640
แต่ยังอยากได้:
- Screen ที่ใหญ่ขึ้น
- Battery ที่ดีกว่า
- จำนวน Thermal Pixel ที่มากขึ้น
แทนที่จะเพิ่ม Screen และ Battery ลงในตัว Hardware ผู้สร้างเลือกให้ Smartphone หรือ PC รับหน้าที่เหล่านี้
Sensor จึงถูกอัปเกรดจาก MLX90640 ความละเอียด 24×32 ไปเป็น FLIR Lepton 3.5 ที่ 160×120
Architecture ของ Picothermal
↓ FLIR Lepton 3.5
↓ RP2040 + Firmware
↓ USB-C / WebUSB
Browser
↓ Thermal Image + Temperature + Camera Controls
Sensor รับ Thermal Data ขณะที่ RP2040 ทำหน้าที่เชื่อม Sensor กับ USB Host
หลังจากนั้น Browser รับ Radiometric Frame และทำงานด้าน Display, Color Mapping, Range และ User Interaction ต่อบนฝั่ง Host
FLIR Lepton 3.5 คือหัวใจของ Thermal Image
| รายการ | ข้อมูลที่ยืนยันได้ |
|---|---|
| Sensor | FLIR Lepton 3.5 |
| Resolution | 160 × 120 |
| Radiometric | รองรับ Radiometric Data |
| Frame Rate | 8.6 Hz ตามข้อมูล FLIR |
| Pixel Pitch | 12 µm |
| Nominal Horizontal FOV | 57° |
สำหรับ Picothermal จุดสำคัญที่สุดคือ Resolution 160×120 และความสามารถด้าน Radiometric Data เพราะ Web App ไม่ได้ใช้ Sensor แค่สร้างภาพสีสวย ๆ แต่ยังต้องการ Temperature Data สำหรับ Spot Reading และ Legend ด้วย
Hardware ของ Picothermal มีอะไรอยู่บนบอร์ด?
ผู้สร้างอธิบาย Hardware ว่าค่อนข้างเรียบง่าย เมื่อเทียบกับ Thermal Camera แบบ Standalone
ส่วนหลักประกอบด้วย:
- RP2040
- FLIR Lepton 3.5
- USB-C Connector
- Buck Converter สำหรับ 5V → 3.3V
- LDO สำหรับ Rail อื่นที่วงจรต้องใช้
- Supporting Components
ผู้สร้างเลือก RP2040 ตั้งแต่ก่อน RP2350 เปิดตัว และภายหลังมองว่า MCU ที่รองรับ USB 2.0 อย่าง STM32 บางรุ่น อาจเหมาะกว่า เพราะ Build ปัจจุบันติดข้อจำกัด USB ของ RP2040
ทำไมกล้องนี้ไม่มี Battery, microSD หรือ Display?
Picothermal ไม่มี:
- Battery ภายใน
- Charge Controller
- microSD
- Display บนตัวกล้อง
เหตุผลคือเมื่ออุปกรณ์ต่อกับ Smartphone หรือ PC หลายสิ่งที่กล้อง Standalone ต้องสร้างเอง มีอยู่ใน Host Device อยู่แล้ว
Screen และ User Interface อยู่บนมือถือหรือคอมพิวเตอร์ ส่วนการเชื่อมต่อและพลังงาน ถูกออกแบบให้ใช้ผ่าน USB-C
วิธีคิดนี้ช่วยให้ตัว Camera Module เหลือเฉพาะสิ่งจำเป็นสำหรับ Thermal Capture และ USB Communication
WebUSB คือหัวใจที่ทำให้ไม่ต้องสร้าง Native Companion App
WebUSB เปิดทางให้ Web Page สื่อสารกับ USB Device จาก Browser ที่รองรับ API นี้
ใน Picothermal Web App สามารถเปิด Connection กับ Camera, รับ Thermal Frame และส่ง Camera Command กลับผ่าน USB
นั่นทำให้ Communication ไม่ได้มีทิศทางเดียว
Browser → Camera Settings / Commands → Camera
ตัวอย่าง Command ที่ Web App ส่งกลับไปยังกล้อง มีเรื่อง Gain, Emissivity และ FFC / Calibration
Browser ไม่ได้แค่รับภาพ แต่รับ Radiometric Y16 Data
Firmware Repository ระบุว่า Picothermal Stream Raw Radiometric Video ผ่าน WebUSB
Web App Source ระบุ Format เป็น Y16 และใช้ Thermal Data แบบ TLinear ที่มีค่าเป็น Centikelvin
Browser จึงสามารถใช้ข้อมูลนั้น เพื่อสร้างทั้ง:
- Thermal Image
- Color Palette
- Temperature Range
- Spot Temperature
- Temperature Legend
Web App ทำหน้าที่เป็นทั้ง Thermal Display และ Control Panel
Color Palette
- Ironbow
- Inferno
- Rainbow
- White hot
- Black hot
Temperature Range
เลือกได้ทั้ง Auto และ Manual พร้อมกำหนด Minimum / Maximum Temperature สำหรับการแสดงผล
Temporal Averaging
Web App มีตัวเลือก:
- Off
- 2 frames
- 4 frames
- 8 frames
Source อธิบายว่าการ Average ช่วยลด Noise แต่แลกกับ Motion Blur ที่เพิ่มขึ้น
Measurement
สามารถแตะตำแหน่งบนภาพ เพื่อวาง Spot และอ่าน Temperature ตรงจุดนั้น
UI ยังมี Emissivity Control และ Preset สำหรับ Material หลายประเภท
Camera Control
- Gain
- FFC / Calibration
- Mirror
- Flip
Save Image
Web App สามารถ Save Current Frame พร้อมข้อมูลประกอบ เช่น Temperature Legend, Spot Reading, Scene Range, Emissivity, Gain และเวลาในไฟล์ภาพที่สร้าง
Browser เปิด USB Device อย่างไร?
Project มี Source Code ของ Web App จริง และใช้ WebUSB API เพื่อขอสิทธิ์จากผู้ใช้ก่อนเปิด Device
Snippet ด้านล่างตัดมาจาก picothermal-webusb.html ของ Project เพื่อให้เห็น Flow การเชื่อมต่อเท่านั้น
device = await navigator.usb.requestDevice({
filters: [{ vendorId: VID, productId: PID }]
});
await device.open();
if (device.configuration === null) {
await device.selectConfiguration(1);
}
const iface = device.configuration.interfaces[0];
await device.claimInterface(iface.interfaceNumber);
Browser จะให้ผู้ใช้เลือก USB Device ที่ตรงกับ Filter ก่อนเปิด Device และ Claim Interface ที่ Firmware เปิดให้ใช้งาน
ทำไมผู้สร้างเลือก WebUSB แทน UVC?
เดิมผู้สร้างคิดจะใช้ UVC หรือ USB Video Class ซึ่งจะทำให้ Operating System มอง Thermal Camera คล้าย Video Device
แต่สุดท้ายเปลี่ยนมาใช้ WebUSB เพราะมองว่าเหมาะกับการควบคุม Camera ใน Project นี้ และ Firmware Stack ที่เลือกใช้รองรับแนวทางดังกล่าว
| หัวข้อ | WebUSB ใน Picothermal | UVC ตามบริบทที่ผู้สร้างกล่าวถึง |
|---|---|---|
| Interface | Web App ติดต่อ USB Device ผ่าน Browser API | แนวคิดให้ Device ทำงานแบบ USB Video |
| Current Project | ใช้งานจริงใน Picothermal | ยังไม่ได้เป็น Interface หลักใน Current Build |
| Camera Control | Web App ส่ง Command ผ่าน USB ได้ | ผู้สร้างกล่าวว่า UVC มี Extension สำหรับ Control ได้เช่นกัน |
| Browser Dependency | ต้องใช้ Browser ที่รองรับ WebUSB | Source ยังไม่ได้ Implement UVC Version ให้เปรียบเทียบโดยตรง |
ผู้สร้างยังเปิดทางไว้ว่า อาจเพิ่ม UVC Support ในอนาคต ดังนั้นไม่ควรสรุปว่า WebUSB เหนือกว่า UVC ทุกด้าน
WebUSB ใช้ได้ทุก Browser ไหม?
ไม่ได้
Project README ระบุการใช้งาน กับ Chrome หรือ Edge บน Desktop หรือ Android และผู้สร้างระบุว่า Firefox ไม่รองรับ WebUSB
WebUSB เองยังถูกจัดเป็น API ที่มี Limited Availability และต้องทำงานภายใต้ Secure Context ใน Browser ที่รองรับ
บทความนี้จึงไม่รับรอง:
- Browser ทุกตัว
- Android ทุกเครื่อง
- iPhone / iPad
- Browser Version ขั้นต่ำที่ Source ไม่ได้ระบุ
Firmware ใช้ Rust + Embassy และรันบน RP2040
Hardware ถูกสร้างมาตั้งแต่ปี 2023 แต่ผู้สร้างหยุด Project ไว้ช่วงหนึ่ง เพราะติดการ Debug TinyUSB Stack
ในปี 2026 ผู้สร้างกลับมาทำต่อ และ Firmware ปัจจุบันถูกสร้างด้วย Rust บน Embassy Framework
Repository แยก Firmware ออกเป็น:
- Thermal Core
- FLIR Lepton Driver
- Wire Protocol
- RP2040 Firmware
- WebUSB Web App
Firmware ใช้ Lepton Control Interface ผ่าน I2C และรับ Thermal Video ผ่าน SPI ตามโครงสร้างที่ Repository อธิบาย
ผู้สร้างยังเปิดเผยตรง ๆ ว่า Firmware ส่วนใหญ่ถูกช่วยสร้างโดย Agent และมองว่า Architecture บางส่วนอาจ Overengineered หรือ Maintain ยาก แม้ผลลัพธ์สุดท้ายทำงานได้ตามที่ต้องการ
Picothermal เปิดทั้ง Hardware และ Software
Main GitHub Repository มีไฟล์ Hardware จริงสำหรับนำไปศึกษา ไม่ได้มีแค่รูปภาพของ Project
รายการที่พบ เช่น:
- KiCad PCB
- KiCad Schematic
- Power Supply Schematic
- Gerber Files
- Assembly Files
- STEP Model
- STL Enclosure
Firmware อยู่ใน Repository แยก และ Release Workflow สามารถสร้าง Artifact เช่น:
- .elf
- .uf2
- picothermal-webusb.html
มีไฟล์ STL และ STEP สำหรับ Enclosure จริง
Enclosure Folder มีไฟล์ที่ตรวจพบ:
- picothermal-top.stl
- picothermal-bot-0.8mm.stl
- picothermal-bot-1.6mm.stl
- picothermal-button.stl
- picothermal-hardware.step
Bottom Enclosure แยกเป็นสอง Variant เพื่อรองรับ PCB Thickness 0.8 mm และ 1.6 mm
PCB 0.8 mm กับ 1.6 mm ผู้สร้างลองใช้ทั้งสองแบบ
ผู้สร้างสั่ง PCB สองแหล่ง:
- Aisler — 1.6 mm
- JLCPCB — 0.8 mm
สุดท้ายเลือกใช้ Board จาก Aisler เพราะในประสบการณ์ของ Build นี้ ผู้สร้างมองว่า Solder ง่ายกว่า และตัวบอร์ดแข็งแรงกว่า
แม้ USB-C Connector ที่เลือกจะออกแบบมาให้เหมาะกับ PCB 0.8 mm ก็ตาม
ดาวน์โหลด Hardware, Firmware, Gerber และ STL ได้จากไหน?
ข้อจำกัดและ Caveat ที่ควรรู้ก่อนมองว่า WebUSB แก้ทุกอย่าง
1. WebUSB ไม่ได้รองรับทุก Browser
Project ระบุ Chrome / Edge และผู้สร้างยืนยันว่า Firefox ไม่รองรับแนวทางนี้
2. Hardware ยังผูกกับ Web Platform อยู่
การไม่ใช้ Native App ลด Dependency บางอย่าง แต่ยังต้องพึ่ง Browser และ WebUSB API
3. RP2040 ใช้ USB 1.1 ใน Design นี้
ผู้สร้างเองระบุว่า หากเริ่ม Design ใหม่ อาจเลือก MCU ที่รองรับ USB 2.0 แทน
4. Prototype VID/PID ต้องเปลี่ยนก่อน Distribution
Firmware Repository เตือนว่าค่า VID/PID ปัจจุบัน เป็น Shared Test ID และ Device ที่จะ Share ควรใช้ PID ของตัวเอง
5. Long Life เป็น Design Goal ไม่ใช่ Guarantee
ผู้สร้างเลือก WebUSB เพราะต้องการลดภาระการ Maintain Native App แต่ไม่มี Source ใดรับประกันว่า WebUSB หรือ Browser Support จะคงเดิมตลอดอายุของ Hardware
6. Source ไม่ได้ให้ Performance Benchmark ของระบบครบชุด
ไม่มีข้อมูลเพียงพอให้สรุป End-to-end Latency, USB Throughput, Power Consumption, Temperature Accuracy หรือ Real-world Dropped Frame Rate ของ Picothermal แบบเป็น Benchmark
Maker เรียนรู้อะไรจาก Picothermal ได้?
Picothermal น่าสนใจ เพราะไม่ได้แก้ทุกโจทย์ด้วยการเพิ่ม Hardware
- ถ้ามือถือมี Screen อยู่แล้ว อาจไม่จำเป็นต้องเพิ่ม Display ให้ Device
- ถ้า Host มี Power Source อยู่แล้ว Device อาจไม่จำเป็นต้องมี Battery ของตัวเอง
- ถ้าต้องการ Cross-platform UI Browser อาจเป็นอีกทางเลือกหนึ่ง แต่ต้องยอมรับ Browser Compatibility
- Raw Radiometric Data ช่วยให้ Host ทำ Visualization และ Measurement Logic ต่อได้
- Open-source Hardware มีค่ามากขึ้นเมื่อเปิดทั้ง Schematic, PCB, Gerber, Firmware และ Mechanical Files
- Prototype USB Identifier ไม่ควรนำไปใช้ Distribution โดยตรง
หากกำลังทำ RP2040, USB Device, Sensor หรือ Embedded Project สามารถสอบถามทีม GlobalByte เรื่อง Development Board และอุปกรณ์ที่เหมาะกับ Requirement ได้
โปรเจกต์นี้มีทั้ง Hardware, Firmware และ Mechanical Files แนะนำอ่าน Source ต้นฉบับควบคู่กัน
หากต้องการ Build ตามจริง ควรตรวจ Schematic, PCB Revision, Firmware Release, USB Identifier, Browser Compatibility และ Mechanical Files จาก Repository ล่าสุดก่อน
FAQ — Picothermal, RP2040 และ WebUSB
1. Picothermal ใช้ Thermal Sensor อะไร?
ใช้ FLIR Lepton 3.5 ตาม Project ของผู้สร้าง
2. Thermal Resolution เท่าไร?
FLIR Lepton 3.5 มี Resolution 160×120
3. Controller ใช้อะไร?
ใช้ RP2040 ซึ่งถูกเลือกตั้งแต่ก่อน RP2350 เปิดตัว
4. ต้องลง App บนมือถือไหม?
ไม่ต้องติด Native Companion App ของ Picothermal แต่ต้องใช้ Web App ผ่าน Browser ที่รองรับ WebUSB
5. Firefox ใช้ได้ไหม?
Project README และผู้สร้างระบุว่า Firefox ไม่รองรับ WebUSB สำหรับการใช้งานนี้
6. Chrome บน Android ใช้ได้ไหม?
ผู้สร้างระบุว่า เขาใช้งาน Project กับ Android Phone ผ่าน Chrome ได้ แต่ Source ไม่ได้ให้รายชื่อ Android Device ที่รองรับทั้งหมด
7. ใช้ iPhone หรือ iPad ได้ไหม?
Source ที่ใช้บทความนี้ ไม่ได้ยืนยัน iPhone หรือ iPad Support จึงไม่ควรรับรอง Compatibility
8. WebUSB App ต้องออนไลน์ตลอดไหม?
Project มี Web App File ให้ Self-host ได้ แต่ WebUSB ต้องทำงานใน Secure Context ตามข้อกำหนดของ Browser เช่น HTTPS หรือ localhost
9. กล้องมีแบตเตอรี่ในตัวไหม?
ไม่มี ผู้สร้างตั้งใจให้ Host Device รับหน้าที่หลายอย่างแทน
10. มี microSD บนกล้องไหม?
Hardware Design ที่ผู้สร้างอธิบาย ไม่มี microSD
11. มีจออยู่บนตัวกล้องไหม?
ไม่มี Browser บน Smartphone หรือ PC ทำหน้าที่เป็น Display และ UI
12. อ่านอุณหภูมิเป็นจุดได้ไหม?
Current Web App รองรับการวาง Spot บน Thermal Image และแสดง Temperature ณ ตำแหน่งนั้น
13. ปรับ Emissivity ได้ไหม?
ได้ Current Web App มี Emissivity Control และ Material Preset หลายค่า
14. Save Thermal Image ได้ไหม?
ได้ Web App มี Save Image และเพิ่มข้อมูลอย่าง Temperature Legend, Scene Range และ Camera Setting ลงในภาพที่บันทึก
15. Firmware เขียนด้วยภาษาอะไร?
Firmware ปัจจุบันใช้ Rust ร่วมกับ Embassy
16. มีไฟล์ PCB ให้ทำตามไหม?
มี GitHub มี KiCad Project, Gerber และ Manufacturing Output
17. มีไฟล์ 3D Print ไหม?
มี STL สำหรับ Top, Bottom สองความหนา PCB, Button และมี STEP Model
18. ควรพิมพ์ Enclosure ด้วย Material อะไร?
Source ไม่ได้ระบุ Material, Layer Height, Infill, Nozzle, Support หรือ Printing Temperature จึงไม่ควรกำหนดค่าเอง
19. Picothermal แม่นยำกี่องศา?
Source ที่ใช้บทความนี้ ไม่ได้ให้ Accuracy Benchmark ของ Picothermal แบบประกอบครบระบบ จึงไม่สามารถระบุตัวเลขเพิ่มเองได้
20. WebUSB จะทำให้ Hardware ใช้ได้ตลอดไปไหม?
ไม่มีการรับประกันดังกล่าว Long-life Software เป็น Design Goal ของผู้สร้าง แต่ Browser และ Web API สามารถเปลี่ยนแปลงได้ในอนาคต
สรุป: Picothermal น่าสนใจเพราะลด Hardware ด้วยการออกแบบ Software ใหม่
Picothermal ไม่ได้โดดเด่น แค่เพราะใช้ FLIR Lepton 3.5 หรือ RP2040
จุดที่น่าสนใจกว่าคือ การตั้งคำถามว่า Thermal Camera จำเป็นต้องมี Screen, Battery, Storage และ Native App ของตัวเองทั้งหมดหรือไม่
คำตอบของผู้สร้างคือ ใช้ Smartphone หรือ PC เป็น Host แล้วให้ WebUSB ทำหน้าที่เชื่อม Hardware กับ Browser
ผลลัพธ์คือ Hardware ที่มี Component ค่อนข้างตรงไปตรงมา แต่ Web App สามารถทำทั้ง Thermal Visualization, Temperature Measurement, Camera Control และ Image Export ได้
อย่างไรก็ตาม WebUSB ก็สร้าง Dependency ชุดใหม่ โดยเฉพาะ Browser Compatibility, Secure Context และ USB Identifier ที่ต้องจัดการให้ถูกต้อง หากจะพัฒนา Hardware จาก Prototype ไปสู่การใช้งานที่กว้างขึ้น
References / แหล่งข้อมูลต้นฉบับ
กำลังทำ RP2040, Sensor หรือ USB Device Project?
ถ้ากำลังพัฒนา Embedded Device, RP2040, Sensor, USB-C หรือ Maker Project สามารถสอบถามทีม GlobalByte เรื่อง Development Board และอุปกรณ์ที่เหมาะกับ Requirement ได้
ส่วนใครที่มีไฟล์ STL ของ Enclosure อยู่แล้ว แต่ไม่มีเครื่องพิมพ์ สามารถส่งไฟล์ให้ทีม GlobalByte ช่วยประเมินบริการพิมพ์ 3D ได้เช่นกัน
Picothermal ใช้ FLIR Lepton 3.5, RP2040 และ WebUSB ตาม Source ของผู้สร้าง แต่ Source ไม่ได้ให้ Benchmark ของ Temperature Accuracy, End-to-end Latency, USB Throughput, Power Consumption, Dropped Frame Rate หรือ Performance ของระบบประกอบเสร็จอย่างครบถ้วน จึงไม่มีการสร้างตัวเลขดังกล่าวเพิ่มเอง
WebUSB มีข้อจำกัดด้าน Browser Compatibility และต้องทำงานภายใต้ Secure Context ใน Browser ที่รองรับ Project ระบุ Chrome / Edge และผู้สร้างระบุว่า Firefox ไม่รองรับการใช้งาน WebUSB แบบนี้ แต่ Source ไม่ได้ยืนยัน Device หรือ Mobile Platform ทุกประเภท
VID 0x1209 และ PID 0x0001 ที่ Current Firmware ใช้ ถูกระบุใน Repository ว่าเป็น Shared Test ID สำหรับ Prototype Hardware ที่จะ Share หรือ Distribution ควรมี USB Identifier ที่เหมาะสมของตัวเอง
Enclosure Repository มี STL และ STEP Files จริง แต่ Source ไม่ได้ให้ Layer Height, Infill, Material, Nozzle, Support หรือ Printing Temperature จึงไม่มีการสร้าง 3D Printing Setting เพิ่มเอง
ผู้สร้างเลือก WebUSB เพื่อช่วยลด Dependency จาก Native Companion App แต่ไม่ได้รับประกันว่า WebUSB หรือ Browser Support จะคงอยู่โดยไม่มีการเปลี่ยนแปลงตลอดอายุของ Hardware
Firmware และ Web App เป็น Open-source Project ที่ยังสามารถเปลี่ยนแปลงได้ ควรตรวจ Repository, Release และ Hardware Revision ล่าสุดก่อนนำไป Build หรือดัดแปลงจริง