ESP32 กับ Pico W เลือกจากงานที่จะทำก่อน

เวลาจะเลือกบอร์ดใหม่ รายการสเปกมักทำให้รู้สึกว่าตัวที่แรงกว่าน่าจะปลอดภัยกว่า แต่พอลงมือทำโปรเจกต์จริง สิ่งที่ติดก่อนมักไม่ใช่ความเร็วของชิป แต่เป็นขาที่ต้องต่อ ไลบรารีที่ถนัด และวิธีไล่ปัญหาเมื่ออุปกรณ์ไม่ขึ้นตามที่คิด
ESP32 กับ Pico W จึงไม่ควรเทียบกันแบบชื่อตระกูลอย่างเดียว เพราะแต่ละชื่อครอบรุ่นและบอร์ดพัฒนาหลายแบบ ขาที่ใช้ได้ แรงดัน และโมดูลไร้สายบนบอร์ดอาจต่างกันแม้ชื่อดูใกล้กัน การเลือกจึงควรเริ่มจากงานที่จะทำ แล้วค่อยลงรุ่นบอร์ดให้ชัด เช่น บอกว่ารุ่น DevKit ไหน หรือบอร์ด Pico W แบบไหน ไม่ใช่หยุดแค่คำว่า ESP32 กับ Pico
เริ่มจากสิ่งที่ต้องต่อและวิธีเขียนโปรแกรม
ถ้างานต้องใช้ขาจำนวนมาก หรือต้องคุยกับเซนเซอร์หลายตัวพร้อมกัน จำนวน GPIO ที่ใช้ได้จริงบนบอร์ดที่เลือกจึงสำคัญกว่าตัวเลขบนแผ่นสเปก เพราะบางขาถูกจองไว้กับแฟลช บูต หรือวงจรบนบอร์ดอยู่แล้ว การเปิด pinout ของรุ่นที่จะซื้อมาเทียบกับสายที่จะต่อ จึงช่วยตัดตัวเลือกที่ไม่เข้างานได้ตั้งแต่แรก

ลองไล่จากงานสั้นๆ เช่น ต้องอ่านอุณหภูมิ ความชื้น เปิดรีเลย์หนึ่งตัว และส่งค่าขึ้นเครือข่าย รายการนี้บอกได้ทันทีว่าต้องมีขา analog หรือบัสอะไร กินไฟระดับไหน และต้องมี Wi-Fi จริงหรือไม่ พอมีรายการนี้แล้ว การเปิดเอกสาร GPIO ของตระกูล ESP หรือเอกสาร Pico series จะเริ่มมีประโยชน์ เพราะรู้แล้วว่ากำลังหาอะไร ไม่ใช่เปิดตารางขาแล้วเดาจากชื่อที่คุ้น
ด้านซอฟต์แวร์ก็มีน้ำหนักไม่น้อย ถ้าทีมหรือตัวเองคุ้น Arduino / ESP-IDF อยู่แล้ว การเริ่มบนตระกูล ESP มักไล่ตัวอย่างและไล่บั๊กได้เร็วกว่า ส่วนถ้าชอบ MicroPython หรือวงจรเอกสารของ Raspberry Pi ชัดสำหรับงานนั้น Pico W ก็อาจลดเวลาติดขัดเรื่องเครื่องมือลงได้ ไม่ใช่เพราะตัวหนึ่งดีกว่าทุกด้าน แต่เพราะเส้นทางแก้ปัญหาใกล้กับสิ่งที่ใช้อยู่
จุดนี้มักถูกมองข้ามตอนเทียบสเปก เพราะตัวเลขความเร็วและแรมดูเปรียบเทียบง่ายกว่าประสบการณ์แก้บั๊ก แต่ตอนโปรเจกต์ติดจริง สิ่งที่ช่วยได้เร็วคือหาตัวอย่างที่คนในวงเดียวกันเคยใช้ เปิดเอกสารที่อ่านรู้เรื่อง และรู้ว่าเครื่องมือแฟลชหรือดีบักอยู่ตรงไหน การเลือกบอร์ดโดยไม่คิดเรื่องนี้ อาจได้ฮาร์ดแวร์ที่ดูครบ แต่เสียเวลาไปกับการตั้ง toolchain นานเกินงาน
เรื่อง Wi-Fi ก็ควรดูจากงาน ไม่ใช่จากชื่อว่ามีโมดูลครบ งานที่ต้องเชื่อมเข้าเครือข่ายบ้านเพื่อส่งค่าขึ้นเซิร์ฟเวอร์ย่อมต้องการสแต็กที่รองรับและมีตัวอย่างครบ ส่วนงานที่คุยกันในระยะใกล้ระหว่างบอร์ด อาจมีทางเลือกอื่นนอกจากการพึ่ง router ตลอดทาง การรู้ว่างานนี้ต้องออกเน็ตหรือไม่ ช่วยให้ไม่เลือกบอร์ดจากฟีเจอร์ที่ยังไม่ได้ใช้
อย่าให้รายการฟีเจอร์บังงานจริง
บอร์ดที่มีบลูทูธ มีคอร์เยอะ หรือมีแรมมาก ดูน่าสนใจบนหน้าสเปก แต่ถ้าโปรเจกต์แค่อ่านอุณหภูมิแล้วส่งขึ้น MQTT เป็นช่วงๆ สิ่งที่กระทบงานมากกว่าอาจเป็นเรื่องแหล่งจ่ายไฟ การตั้งค่าเครือข่ายใหม่เมื่อย้ายที่ และการหาขาที่ปลอดภัยต่อการต่อเพิ่ม
ฟีเจอร์เกินงานไม่ได้แปลว่าเสียหายเสมอไป แต่ถ้าเลือกเพราะรายการยาวโดยยังไม่รู้ว่าจะใช้เมื่อไหร่ ก็มักพาไปสู่บอร์ดที่ซับซ้อนเกินความจำเป็นของรอบแรก และทำให้การไล่ปัญหาตอนต้นช้าลงโดยไม่จำเป็น เริ่มจากสิ่งที่งานต้องใช้ให้ครบก่อน แล้วค่อยดูว่าฟีเจอร์เสริมตัวไหนช่วยระยะถัดไปจริง
อีกเรื่องที่มักถูกลืมตอนเทียบชื่อคือบอร์ดพัฒนาไม่ใช่ชิปเปล่า วงจร regulator ไฟแสดงสถานะ และส่วนต่อเพิ่มบนบอร์ดมีผลทั้งการกินไฟและการใช้ขา ถ้าอ่านเฉพาะเอกสารชิปแล้วไปเลือกขาจากตารางนั้น อาจไปชนกับส่วนที่บอร์ดใช้ไว้แล้วโดยไม่ตั้งใจ
ดังนั้นเวลาเทียบ ESP32 กับ Pico W ควรเปิดทั้งเอกสารชิปและเอกสารบอร์ดที่กำลังจะซื้อมาใช้ ดูว่ารุ่นนั้นจัดขาอย่างไร มีปุ่มบูตไหม ไฟสถานะกินขาไหน และแรงดันบนขาใช้งานทั่วไปเป็นอย่างไร ความละเอียดระดับนี้ช่วยให้ไม่ซื้อของจากชื่อตระกูลแล้วมาพบทีหลังว่าขาที่คิดไว้ใช้ไม่ได้ตามแผน
วิธีแคบตัวเลือกเมื่อยังลังเล
ถ้ายังลังเลระหว่างสองตระกูล ลองเขียนรายการสั้นๆ ว่าต้องต่ออะไรบ้าง ใช้ภาษาอะไร และจะอัปเดตเฟิร์มแวร์อย่างไร จากนั้นไล่ทีละข้อว่าตระกูลไหนตอบได้ตรงโดยไม่ต้องยัดทางอ้อมมากนัก ตัวที่ตอบรายการนี้ได้ตรง มักเป็นตัวที่เริ่มต่อได้จริงเร็วกว่า
ถ้าทั้งสองทางตอบงานได้ใกล้กัน ให้ดูเส้นทางแก้ปัญหาเป็นตัวตัดสิน เช่น มีตัวอย่างใกล้เคียงไหม เอกสาร pinout ของรุ่นบอร์ดชัดไหม และเวลาติดเรื่อง Wi-Fi หรือขา จะหาคนช่วยหรือคู่มือได้ง่ายแค่ไหน การตัดสินใจแบบนี้ไม่ได้บอกว่าอีกฝั่งแย่ แต่บอกว่างานรอบนี้ควรเริ่มจากจุดที่เสียดทานน้อยกว่า
เมื่อเลือกตระกูลแล้ว ค่อยลงรุ่นบอร์ดให้ชัดอีกชั้น เพราะในชื่อ ESP32 เองก็ยังมีความต่างของขาและโมดูล ส่วน Pico ก็มีรายละเอียดบอร์ดที่ควรยืนยันก่อนสั่งซื้อ การลงชื่อรุ่นตั้งแต่ตอนวางแผนช่วยให้ตอนเขียนโค้ดและตอนต่อสายพูดถึงของชิ้นเดียวกันอยู่
ตัวอย่างการเทียบที่ลงรายละเอียดกว่าชื่อตระกูล
สมมติงานต้องอ่านค่าจากเซนเซอร์บัสหนึ่งเส้น ขับเอาต์พุตอีกหนึ่งจุด และส่งค่าขึ้นเซิร์ฟเวอร์ผ่าน Wi-Fi รายการนี้ยังไม่ชีว่าต้องซื้อชิปแรงที่สุด แต่ชีว่ารุ่นบอร์ดต้องมีขาที่ว่างพอ แรงดันเข้ากับเซนเซอร์ และมีเส้นทางเขียนโปรแกรมที่ไล่ตัวอย่าง Wi-Fi ได้
ถ้าเปิดเอกสาร Raspberry Pi Pico series คู่กับเอกสาร GPIO ของ ESP แล้วเทียบกับสายที่จะต่อจริง จะเริ่มเห็นว่ารุ่นไหนเหลือขาพอหลังหักส่วนที่บอร์ดใช้ไปแล้ว และรุ่นไหนต้องเลี่ยงขาที่เกี่ยวกับบูต การเทียบแบบนี้ใช้เวลามากกว่าการดูตารางสเปก แต่ลดโอกาสซื้อของจากชื่อแล้วมาเจอว่าต่อไม่ครบตามแผน
เมื่อเลือกได้แล้ว ควรจดรุ่นบอร์ดไว้ในโน้ตโปรเจกต์ด้วย เพราะอีกไม่กี่เดือนอาจมีบอร์ดหน้าตาคล้ายกันวางขาย การกลับมาดูรหัสรุ่นที่เคยใช้ช่วยให้สั่งของซ้ำหรือเขียนคู่มือต่อสายได้ตรงของเดิม
สรุป
การเลือกระหว่าง ESP32 กับ Pico W จึงควรเริ่มจากงาน ขาที่ใช้จริง เครื่องมือที่ถนัด และเส้นทางแก้ปัญหา ไม่ใช่จากความรู้สึกว่าตัวแรงกว่าจะครอบคลุมทุกอย่าง เมื่อระบุรุ่นบอร์ดให้ชัดและเทียบกับสิ่งที่ต้องต่อ การตัดสินใจจะแคบลงเอง โดยไม่ต้องเอาชื่อตระกูลมาชนกันทั้งก้อน


