3 คะแนน โดย GN⁺ 2025-03-30 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • รีโพซิทอรีของ ตัวจับเวลาโฟกัสแบบกายภาพ ที่ใช้ ESP32 โดยใช้จอ ePaper และปุ่มหมุนโรตารีเป็นอุปกรณ์รับอินพุต เพื่อทำงานตามลำดับงาน–พักแบบโพโมโดโร
  • โค้ดมีการ ลบแอสเซ็ตและฟอนต์บางส่วนออก จึงยังไม่สามารถนำไปใช้ได้ทันที แต่หากต้องการก็สามารถแก้ไขให้เหมาะกับการใช้งานของตนเองได้
  • ฮาร์ดแวร์ประกอบด้วย ESP32, WaveShare e-Paper HAT ขนาด 4.26 นิ้ว 800x480, โรตารีเอนโคเดอร์ KY-040, LED WS2812, คอนเนกเตอร์ USB-C, เคสพิมพ์ 3D และตัวต้านทาน·คาปาซิเตอร์
  • ePaper ไม่มีแบ็กไลต์จึงลดสิ่งรบกวนระหว่างทำงานได้ และรุ่น 4.26 นิ้วรองรับ partial refresh 0.3 วินาที ทำให้หลีกเลี่ยงการกะพริบดำ–ขาวตอนรีเฟรชได้
  • ซอฟต์แวร์ใช้ C++ และ Arduino framework, PlatformIO, ไลบรารี GxEPD2 พร้อมฟีเจอร์อย่างการเลือกพรีเซ็ต การแจ้งเตือนด้วย LED สถิติช่วงพัก และการวนพักยาว

ภาพรวมโปรเจ็กต์

  • รีโพซิทอรีนี้เก็บโค้ดและไฟล์ออกแบบสำหรับ ตัวจับเวลาโฟกัสที่ใช้ ESP32
  • ใช้ ปุ่มหมุนโรตารี สำหรับอินพุต และใช้จอ ePaper สำหรับการแสดงผล
  • โค้ดในรีโพซิทอรีมีการลบแอสเซ็ตและฟอนต์บางส่วนออก จึง ยังไม่อยู่ในสภาพพร้อมใช้งานทันที
    • หากต้องการ สามารถแก้ไขโค้ดให้ตรงกับความต้องการของตนเองแล้วนำไปใช้ได้
  • ผลงานที่ประกอบเสร็จแล้วสามารถดูได้บน MakerWorld เช่นกัน

ชิ้นส่วนที่ใช้

  • องค์ประกอบหลักมีดังนี้:
    • ESP32 โดยในตัวอย่างใช้ AZDelivery ESP32 NodeMCU
    • WaveShare 4.26inch e-Paper display HAT, 800x480
      • จออื่นก็อาจใช้งานได้ แต่ UI ถูกออกแบบมาให้พอดีกับความละเอียดนี้
    • โรตารีเอนโคเดอร์ KY-040 และปุ่มกด
    • LED WS2812 จำนวน 1 ดวง
      • สามารถแทนด้วย RGB LED แบบธรรมดาได้
    • คอนเนกเตอร์ USB-C
      • หากใช้คอนเนกเตอร์ USB-C แบบ 2 เส้น อาจต้องใช้สาย USB-A to USB-C เพื่อจ่ายไฟ
    • เคสพิมพ์ 3D
    • ตัวต้านทานสำหรับ LED, ตัวต้านทาน pull-up สำหรับสวิตช์ และคาปาซิเตอร์ 0.1uF สำหรับลดสัญญาณรบกวนของโรตารีเอนโคเดอร์
    • อุปกรณ์เสริมที่เลือกใช้ได้ เช่น ตุ้มน้ำหนักถ่วงล้อรถและยางรองฐาน

แรงบันดาลใจและเป้าหมายการออกแบบ

  • โปรเจ็กต์นี้เริ่มต้นจากความตั้งใจจะทำ ตัวจับเวลาโฟกัส ให้เพื่อน
  • ผู้สร้างชอบลองเทคนิคเพิ่มประสิทธิภาพการทำงาน และมีนิสัยใช้เวลาราวหนึ่งเดือนในแต่ละปีเพื่อทำโปรเจ็กต์ที่ช่วยคนอื่นได้
  • หลังจากซื้อเครื่องพิมพ์ 3D BambuLab X1C ก็อยากนำมันมาใช้งาน และด้วยประสบการณ์ที่เคยฝึกงานด้านอิเล็กทรอนิกส์ก่อนเปลี่ยนมาทำซอฟต์แวร์วิศวกรรม จึงอยากสร้างอุปกรณ์ที่จับต้องได้
  • เป้าหมายการออกแบบมีสามข้อ
    • ต้องเป็นอุปกรณ์จริง
    • ต้องสนุก
    • ต้องใช้งานได้อย่างเป็นธรรมชาติ
  • แม้จะมีงานก่อนหน้าอย่าง Focus Dial by Salim Benbouziyane อยู่แล้ว แต่ก็อยากสร้างขึ้นเองตั้งแต่ต้น

เหตุผลในการเลือกชิ้นส่วน

  • ESP32

    • นี่เป็นความพยายามครั้งที่สองในการทำอะไรบางอย่างด้วยไมโครคอนโทรลเลอร์หลังจากห่างไปนาน และคุ้นเคยกับ ESP32 อยู่แล้วจึงกลับมาเริ่มได้ง่าย
    • มีการหาข้อมูลล่วงหน้าเพื่อตรวจสอบว่าสนับสนุนจอแสดงผลหรือไม่
  • จอ ePaper

    • คำแนะนำการเดินสายจออยู่ใน docs/display_wiring.md
    • หนึ่งในเป้าหมายหลักของโปรเจ็กต์คือให้อุปกรณ์ ไม่รบกวนโฟลว์การทำงาน จึงต้องการจอที่ไม่มีแบ็กไลต์
    • ต้องการหน้าจอที่ใหญ่พอจะอ่านได้เมื่อวางไว้บนโต๊ะ
    • หลังจากสั่งและลองใช้จอ WaveShare ePaper หลายรุ่น จึงเลือกโมเดล 4.26 นิ้ว
    • ความละเอียดดี
    • ขนาดเหมาะสม
    • รองรับ partial refresh และใช้เวลารีเฟรช 0.3 วินาที
    • ไม่มีอาการกะพริบดำ–ขาวที่รบกวนสายตาระหว่างรีเฟรช
    • ตอนแรกอยากใช้จอขาวดำ-แดง แต่รุ่นที่ชอบใช้เวลารีเฟรชนาน 16 วินาทีและไม่รองรับ partial refresh จึงตัดออก
    • เนื่องจากไม่มีแบ็กไลต์ หากโต๊ะไม่สว่างพอจะอ่านหน้าจอตอนกลางคืนได้ยาก ซึ่งมองว่านี่ “ไม่ใช่บั๊ก แต่เป็นฟีเจอร์”
  • โรตารีเอนโคเดอร์

    • มองว่าการใช้ ปุ่มหมุน เป็นอุปกรณ์อินพุตนั้นเป็นธรรมชาติที่สุด
    • อินพุตแบบปุ่มหมุนทำให้การออกแบบเมนูซับซ้อนขึ้น และต้องจัดการ debounce ของอินพุตให้ดี
    • เพิ่มคาปาซิเตอร์ 0.1uF ที่ขา CLK และ DT เพื่อลดสัญญาณรบกวน
  • LED

    • ในเวอร์ชันวนซ้ำช่วงแรกยังไม่มีแผนจะใช้ LED
    • จอที่ไม่มีแบ็กไลต์อาจทำให้ช่วงเวลาที่โฟกัสจบลงดูไม่เด่นพอ
    • จึงทดลองหลายทางเลือกสำหรับการแจ้งเตือน
    • buzzer ทำให้ผู้ใช้ตกใจและให้ประสบการณ์ที่ไม่ดี
    • ลำโพงในการตั้งค่าที่ลองใช้มีทั้งเสียงจี่และเสียงครางค่อนข้างมาก
    • LED WS2812 สามารถทำแอนิเมชันได้ด้วยไลบรารี NeoPixel และใช้งานง่าย
    • WS2812 ยังมีข้อดีคือไม่ต้องใช้ขาเอาต์พุตจำนวนมาก
    • สุดท้าย LED ทำงานได้ดีในการแสดงสถานะต่าง ๆ และมีการเพิ่มฉากบังเล็ก ๆ กับชั้นกระจายแสงในเคสเพื่อให้ LED ดูสวยขึ้น

เคสและการออกแบบทางกายภาพ

  • เคสประกอบด้วยสองส่วนคือ ฐานและฝาปิด
  • เนื่องจากออกแบบให้พิมพ์กรอบจอเป็นส่วนหนึ่งของฐานในครั้งเดียว จึงเกิดปัญหามุมบนโก่งเล็กน้อยระหว่างการพิมพ์
  • การเลือกวางปุ่มหมุนไว้ด้านหน้าถือเป็นจุดที่น่าเสียดาย
    • เพราะชิ้นงานพิมพ์และชิ้นส่วนอิเล็กทรอนิกส์มีน้ำหนักเบา เมื่อต้องกดสวิตช์ของปุ่มหมุน อุปกรณ์ทั้งชิ้นอาจเลื่อนถอยหลังได้
    • แก้ปัญหาโดยเพิ่มยางรองฐานและตุ้มน้ำหนักถ่วงล้อรถไว้ด้านล่าง

โครงสร้างซอฟต์แวร์

  • ซอฟต์แวร์เขียนด้วย C++ และใช้ Arduino framework
  • ใช้ PlatformIO สำหรับจัดการโปรเจ็กต์
  • การแสดงผลพึ่งพาไลบรารี GxEPD2 อย่างมาก
  • โค้ดในรีโพซิทอรีค่อนข้างยังไม่เป็นระเบียบ เพราะมีการคัดลอก-วางและโค้ดเก่าที่ยังไม่ได้เก็บกวาดเพื่อให้ทำโปรเจ็กต์เสร็จทันกำหนด
  • โค้ดบางส่วนถูกสร้างด้วย AI โดยหลัก ๆ คือ Claude เพื่อให้ทันเดดไลน์ของโปรเจ็กต์
  • เนื่องจากเป็นโปรเจ็กต์ที่ทำให้เพื่อน จึงมีการใส่ easter egg และองค์ประกอบสนุก ๆ ไว้ด้วย
    • มีฟีเจอร์แสดงข้อมูลสุ่มบนหน้าจอระหว่างช่วงโฟกัส

ลำดับการใช้งานอุปกรณ์

  • เมื่ออุปกรณ์เริ่มทำงาน สามารถเปลี่ยนการตั้งค่าหรือเข้าสู่ โหมดเลือกพรีเซ็ต ได้
  • พรีเซ็ตมีให้เลือกหนึ่งในสามแบบ
  • เมื่อเริ่มตัวจับเวลาและเวลาหมด LED จะกะพริบและมีข้อความแสดงบนหน้าจอ
  • ผู้ใช้สามารถทำงานต่อได้ หรือเริ่มพักหลังจากนั้น
  • ระหว่างพักสามารถดูสถิติได้
  • ตามค่าเริ่มต้น จะมีช่วงพักยาวหลังครบทุก 4 รอบ

การพัฒนาและการปรับแต่ง

  • เครื่องมือที่ต้องใช้สำหรับการพัฒนา:
    • PlatformIO
      • ใช้ส่วนขยายของ VSCode
    • Python 3.13 ขึ้นไป สำหรับสร้างแอสเซ็ตใหม่
  • หากต้องการเตรียมภาพ ไอคอน และฟอนต์ ต้องรันสคริปต์ generate_assets.py
    • ปรับขนาดภาพ
    • แปลงเป็นฟอร์แมตที่ถูกต้อง
    • สร้างโค้ด C++ เพื่อนำเข้าโปรเจ็กต์
  • ตัวอย่างการรันมีดังนี้
uv sync

uv run scripts/generate_assets.py
  • พรีเซ็ตถูกกำหนดไว้ใน src/main.cpp
  • ตัวอย่างพรีเซ็ตเริ่มต้นคือ Emails, Coding, Focus
    • Emails: โฟกัส 15 นาที, พัก 5 นาที, พักยาว 15 นาที
    • Coding: โฟกัส 45 นาที, พัก 15 นาที, พักยาว 30 นาที, จำนวนรอบ 2
    • Focus: โฟกัส 25 นาที, พัก 5 นาที, พักยาว 20 นาที

การแมปพิน

  • โรตารีเอนโคเดอร์ KY-040:
    • CLK: 32
    • DT: 21
    • SW: 14
  • จอ WaveShare ePaper ขาวดำ 4.26 นิ้ว:
    • BUSY: 4
    • RST: 16
    • DC: 17
    • CS: 5
    • CLK: 18
    • DIN: 23
  • LED WS2812:
    • DIN: 25

1 ความคิดเห็น

 
GN⁺ 2025-03-30
ความคิดเห็นจาก Hacker News
  • ตัวจับเวลา Pomodoro แบบจับต้องได้: <https://upload.wikimedia.org/wikipedia/commons/3/34/Il_pomod...>
    • อย่าประเมินค่าความสุขจากการได้ใช้ของสวย ๆ ที่ทำเองต่ำเกินไป ความสุขเล็ก ๆ แบบนั้นสะสมขึ้นได้ในท้ายที่สุด
      อย่างน้อยก็สำคัญกับผม ผมทำให้ มิเตอร์ไฟฟ้า “ฉลาดขึ้น” ด้วยการติดอุปกรณ์ที่ใช้ ESP32 กับ photoresistor วัดการกะพริบของมิเตอร์ไฟฟ้า ถึงจะดูหยาบ ๆ แต่ทำงานได้ดี ทุกครั้งที่ไปโรงรถแล้วเห็นอุปกรณ์เล็ก ๆ กะพริบอยู่ก็รู้สึกสนุก และทำให้อยากทำโปรเจกต์ถัดไปต่อ มันให้ความมั่นใจว่าผมสร้างอะไรบางอย่างได้ ทำสำเร็จได้ และทำให้ชีวิตดีขึ้นได้
      อาจฟังดูโง่ ๆ แต่ผมรับโปรเจกต์ในโพสต์ต้นฉบับในแบบนั้น
    • ใช่แล้ว ตัวจับเวลา แบบไหนก็พอ
      ถ้าคุณกำลังเขียนโปรแกรมจอ eInk กับไมโครชิปเพื่อแก้นิสัยผัดวันประกันพรุ่ง ก็ควรหยุดโปรเจกต์นั้น ซื้อไทเมอร์แบบจับต้องได้ แล้วไปทำสิ่งที่ต้องทำ
      ถ้าก่อนทำงานคุณอยากช็อปปิงหาไทเมอร์ ผมจะช่วยลดเวลาค้นหาให้ อันนี้ก็ใช้งานได้ดี: https://www.amazon.com/dp/B07TLC9SFZ แน่นอนว่าไทเมอร์อะไรก็ได้
      ไปทำงานนั้นเถอะ มันคุ้มค่า
    • แน่นอนว่านั่นเป็นวิธีแก้ปัญหาที่ง่ายกว่า
      แต่โพสต์ต้นฉบับเขียนชัดเจนว่าเป็นโปรเจกต์ที่ทำอะไรบางอย่างให้เพื่อน พร้อมลองใช้เครื่องมือใหม่ ๆ
      โปรเจกต์แฮ็ก สนุก ๆ ไม่จำเป็นต้องตอบสนองความต้องการจริงของตลาดเสมอไป แค่สนุกก็พอ
    • อ่านรีวิว 1 ดาวแล้วขำดี [0] ปัญหาคือ ไทเมอร์กลไก สมัยนี้ทำมาหยาบจนเชื่อถือได้ยาก เหมือนตอนนี้ไม่มีใครรู้วิธีทำไทเมอร์กลไกคุณภาพสูงแล้ว
      [0] https://www.amazon.com/product-reviews/B07H59ZL1L/ref=acr_se...
    • ถ้าทนเสียงติ๊ก ๆ ได้ก็ดีนะ ;)
      ส่วนตัวผมชอบดีไซน์ ไทเมอร์ทรงจานหมุน แบบนี้: https://m.media-amazon.com/images/I/618WCXnyfXL.SL1500.jpg
  • ชอบโปรเจกต์นี้มาก UI ให้ความรู้สึกสนุกและออกแบบมาอย่างใส่ใจ ดูเหมือนผมจะได้กิจกรรมสำหรับสุดสัปดาห์อีกหนึ่งอย่าง หรืออาจจะยาวเป็นหลายสัปดาห์
    ถ้ากำลังหาโปรเจกต์แฮ็กกาธอนอยู่ ระบบนิเวศของ E-ink ค่อนข้างโตเต็มที่แล้ว โปรแกรมได้ง่าย และ AI อย่าง Claude ก็เข้าใจพื้นผิว API ได้ดี โดยทั่วไปผู้คนมักไม่รู้ว่ากำลังดูอะไรอยู่ เลยต้องอธิบายว่าเป็น “หน้าจอแบบ Kindle” แต่ดูเหมือนในห้องนั่งเล่น คนจะชอบจอ e-ink มากกว่าจอมีแบ็กไลต์ เพราะรบกวนสายตาน้อยกว่ามาก
    อ้างอิงเพิ่มเติม E-ink [0] และ Pomodoro [1] ต่างก็เป็นหัวข้อที่ผมสนใจเจาะลึกอยู่พอสมควร
    [0] https://sambroner.com/posts/raspberry-pi-train
    [1] https://sambroner.com/posts/personal-analytics-2024
  • โปรเจกต์ประเภท “อุปกรณ์” แบบนี้น่าสนใจเสมอ เพราะถึงเป้าหมายจะเรียบง่าย แต่โดยมากกลับเป็นสิ่งที่ยากที่สุด จุดที่ การออกแบบผลิตภัณฑ์ วงจรอิเล็กทรอนิกส์ และโค้ด มาบรรจบกันคือสนามเด็กเล่นชั้นยอด
    ผมชอบการเลือกหน้าจอมาก และชอบที่ README อธิบายเหตุผลด้านวัตถุประสงค์และการใช้งานไว้อย่างดี
    มีความคิดบางอย่างเกี่ยวกับดีไซน์ของตัววัตถุเอง ผมเองก็รู้สึกว่าส่วนนี้ยากมาก และใช้เวลาเยอะกับการปรับปรุงซ้ำ ๆ ถ้าวางปุ่มหมุนให้กว้างและแบนไว้ด้านบนของอุปกรณ์ ก็จะวางหน้าจอไว้ตรงกลางได้ ทำให้อุปกรณ์เล็กลง และลดโอกาสที่กล่องจะไถลตอนหมุนได้ด้วย การลบมุมและทำขอบโค้งช่วยเพิ่มความเนี้ยบได้มาก ความต่างระหว่างขอบคมกับขอบมนเป็นรายละเอียดเล็ก ๆ แต่ให้ความรู้สึกต่างกันค่อนข้างมาก
    ถ้าเมนูมีสามอย่างเสมอ ลองใช้ปุ่มสามปุ่มด้านบนแบบปุ่ม “snooze” ของนาฬิกาปลุกแทนปุ่มหมุนไหม การใช้งานจะน้อยขั้นตอนลง ถ้าใช้ฟิลาเมนต์กึ่งโปร่งแสง ก็ทำชิ้นส่วน “ท่อนำแสง” เท่ ๆ ได้ด้วย เช่น ถ้าทำกล่อง LED เป็นชิ้นเดียว ก็อาจให้ความรู้สึกเหมือนแผงหน้าปัดยุค 80 หรือถ้าพิมพ์ขอบจอแล้วทำให้ส่วนนั้นสว่าง ก็อาจได้ดีไซน์ที่มินิมอลกว่า
    ผมชอบคิดเรื่องพวกนี้ เลยช่วยไม่ได้ สงสัยว่าปุ่มหมุนออกแบบยังไง ใช้ OpenSCAD หรือเปล่า? ลาย knurling ดูดี และดูเหมือนสร้างด้วยโปรแกรม
    • เป็นคำถามที่ดี
      ถ้าออกแบบปุ่มหมุนใหม่ ผมน่าจะย้ายไปไว้ด้านบน โปรเจกต์นี้มีไทม์ไลน์รวม 4 สัปดาห์ และตอนเจอปัญหาเรื่องน้ำหนัก ผมไม่มั่นใจพอจะทำเคสใหม่แล้วพิมพ์ต้นแบบออกมา แต่ถ้าทำแบบนั้นก็น่าจะดีขึ้นแน่นอน
      ผมใส่การทำขอบมน/ลบมุมไว้เกือบทุกขอบ และพิมพ์เคสสุดท้ายด้วย fuzzy skin เพื่อให้รู้สึกพรีเมียมขึ้น
      เดิมทีปุ่มหมุนตั้งใจไว้ให้ใช้เปลี่ยนเวลาของไทเมอร์ด้วย เลยรู้สึกว่าไดอัลเหมาะกว่า แต่สุดท้ายไม่ได้เป็นแบบนั้น สำหรับเมนูตอนนี้ ปุ่มสามปุ่มอาจให้ UX ที่ดีกว่า อุปกรณ์ก็จะเล็กลงด้วย
      เดิมทีแผงบังแสงเริ่มจากการกันแสงรั่ว แล้วภายหลังผมพิมพ์ใหม่เป็นสีขาวพร้อมฟิล์มพลาสติกกระจายแสง เพื่อเพิ่มการกระจายแสงของ LED เล็กน้อย ผมชอบไอเดียการวางแถบ LED ไว้ที่ขอบหน้าจอ ไม่เคยนึกถึงเลย
      ปกติผมใช้ Blender มากกว่า เลยทำตามบทเรียนสอนทำ knurling ใน Onshape เครื่องมือนี้ไม่ค่อยชอบเรขาคณิตระดับนั้น เลยหน่วง ๆ เวลาทำงาน แต่ไฟล์ Onshape ที่ลิงก์ไว้ใน README เปิดดูได้ตามสบาย
  • จุดที่เจ๋งคือไม่ได้เล็งแค่ช่วงโฟกัส 25 นาทีแบบง่าย ๆ แต่เจาะ กรณีการใช้งาน สามแบบอย่างแม่นยำ และยังให้สถิติด้วย
    สำหรับมือใหม่ น่าจะใส่ไว้ในบทความว่า Pomodoro เดิมทีได้ชื่อมาจากไทเมอร์แบบจับต้องได้ที่มี rotary encoder

https://medium.com/@thejinxes/ditch-the-tomato-timer-d8bbf01...
ถ้าวันหนึ่งได้ใช้หน้าจอ e-ink สีแดงตามที่ตั้งใจไว้ ก็น่าจะเป็นทางเลือกที่น่าสนุกแทน Pepe

  • เป็นโปรเจกต์ที่เจ๋งมาก แนะนำให้ลองดู LVGL [0] ซึ่งเป็นไลบรารีกราฟิกสำหรับสร้าง UI แบบ embedded ด้วย ใช้งานค่อนข้างเรียบง่ายและให้ความรู้สึกคล้าย HTML อยู่บ้าง การตั้งค่าการสื่อสารกับฮาร์ดแวร์จะยากขึ้นนิดหน่อย แต่พอตั้งค่าได้แล้ว โฟลว์การเขียน UI และการจัดการอินพุตจะดีขึ้นมาก
    [0] - https://github.com/lvgl/lvgl
    • โอ้ ดูเจ๋งมาก ตอนเริ่มต้นใช้เวลาค้นคว้าอยู่พอสมควร แต่ไม่เจออันนี้
  • น่าสนใจมาก เคยคิดว่าจะทำ ตัวจับเวลา Pomodoro แบบกายภาพ หรือไม่ก็แค่อุปกรณ์แสดงผลอย่างไรดี และชอบแบบหน้าจอวงกลมที่ไม่แสดงเวลาที่เหลือแบบเป๊ะ ๆ สำหรับผม มันทำให้เสียสมาธิและก่อให้เกิดความกังวล
    ผมใช้แอป Visual Timer [0] บนโทรศัพท์ Android มาโดยตลอด และโดยรวมก็ยอดเยี่ยม แต่ถ้าเก็บโทรศัพท์ให้พ้นมือได้ก็คงดีกว่าแน่นอน
    [0] https://play.google.com/store/apps/details?id=at.cwiesner.an...
    • ผมก็ซื้อ LCD วงกลมขนาด 4 นิ้วด้วยเหตุผลนั้นเหมือนกัน แต่สุดท้ายก็เปลี่ยนไปใช้ จอแสดงผลกระดาษอิเล็กทรอนิกส์ แทน เพื่อไม่ให้รบกวนสมาธิมากเกินไป เลยแสดงแค่หน่วยนาที และใน 1 นาทีสุดท้ายให้อัปเดตเฉพาะทุก ๆ 10 วินาที
  • แนวคิด Pomodoro เองมีที่มาจากตัวจับเวลาในครัวแบบกายภาพ และรูปร่างของมันก็คือ มะเขือเทศ ตามที่คาดไว้
    สำหรับผม UX ที่ดีที่สุดของเทคนิค Pomodoro อยู่ในตัวจับเวลาในครัวแบบกายภาพนั้นเอง
    • ในเชิงฟังก์ชัน Focus Dial เป็น “ผลิตภัณฑ์” ที่ดีกว่าสิ่งที่ผมทำไว้มาก และยังคง UX แบบนั้นไว้ตามที่ลิงก์ไว้ใน README
      แต่ถ้าจะทำของแบบนั้น ผมต้องเผชิญกับขีดจำกัดด้านความรู้และทักษะของตัวเอง และก็อยากลองทำในแบบของตัวเองด้วย อีกอย่าง สุดท้ายแล้วผมก็ชอบ หน้าจอกระดาษอิเล็กทรอนิกส์ นั้นมากจริง ๆ
  • ผมรู้ว่าการประกอบเป็นความสนุกไปแล้วครึ่งหนึ่ง แต่ถ้าต้องการแค่ อุปกรณ์ ESP32 ทั่วไปที่มีหน้าจอและปุ่ม แนะนำ M5Stack ราคาถูก เขียนโปรแกรมได้ และใช้กันแพร่หลาย
    • M5Stack ยอดเยี่ยมมาก จริง ๆ แล้วผมเคยทำตัวจับเวลา Pomodoro ของตัวเองด้วย M5Stack Core2 และอาจต้องเปิดเผยโค้ดไว้บ้าง โปรเจกต์นี้เรียบง่ายกว่างานนี้มาก
      อัปเดต: อยู่ที่นี่ https://github.com/robertolupi/augmented-awareness/tree/main...
  • คนรู้จักคนหนึ่งเคยพยายามทำธุรกิจด้วยตัวจับเวลา Pomodoro แบบกายภาพ: https://www.indiegogo.com/projects/timechi-your-smart-produc...
    สำหรับคนที่ใช้ในออฟฟิศ หรือคนที่ไม่อยากมองหน้าจอเพื่อดูเวลาที่เหลือ ไฟ LED แสดงสถานะ ที่ด้านบนของอุปกรณ์น่าจะมีประโยชน์ เป็นไลต์บาร์สวย ๆ ที่เปิดไฟสีแดงหรือสีเขียว เพื่อให้คนที่อยู่อีกฝั่งซึ่งมองไม่เห็นหน้าจอรู้ได้ว่าตอนนี้ขัดจังหวะได้หรือไม่ ถ้าต้องการก็ทำเป็นไลต์บาร์แสดงความคืบหน้าได้ด้วย
  • ดีมากจริง ๆ ทำให้ผมอยากลองย้าย เครื่องมือเพิ่มผลิตภาพ ของตัวเองไปเป็นอุปกรณ์จริงบ้าง