Microcontroller คืออะไร? ต่างจาก Microprocessor และ Raspberry Pi อย่างไร.
อธิบาย Microcontroller (MCU) แบบใช้งานจริง เปรียบเทียบกับ Microprocessor และ Single-Board Computer เช่น Raspberry Pi พร้อมแนวทางเลือกสำหรับ Sensor, IoT, Automation และ Edge system

คำว่า Microcontroller, Microprocessor และ Raspberry Pi มักถูกใช้ปนกัน ทั้งที่เหมาะกับงานคนละแบบ
ถ้าจะทำ Sensor node, อ่าน Meter, คุม Relay หรือส่ง MQTT อาจไม่จำเป็นต้องใช้ Linux computer แต่ถ้าต้องการ Browser, Database, Computer Vision หรือ service หลายตัวพร้อมกัน MCU ตัวเล็กอาจไม่ใช่คำตอบ
Microcontroller (MCU) คืออะไร
Microcontroller คือชิปที่รวมส่วนสำคัญสำหรับงานควบคุมไว้ในตัวเดียว เช่น:
- CPU core;
- RAM;
- Flash/ROM หรือ interface ไปยัง memory;
- GPIO;
- Timer;
- ADC/PWM ในหลายรุ่น;
- UART/I2C/SPI และ peripheral อื่น
แนวคิดคือให้ MCU อ่าน input, ประมวลผล logic และควบคุม output ได้โดยไม่ต้องมีระบบคอมพิวเตอร์ขนาดใหญ่
ตัวอย่าง family ที่พบได้บ่อย:
- AVR;
- ESP8266;
- ESP32;
- STM32;
- RP-series;
- PIC
Microprocessor ต่างอย่างไร
Microprocessor โดยทั่วไปเน้น CPU processing และต้องพึ่ง component ภายนอกมากกว่า เช่น memory และ peripheral/controller ต่าง ๆ
ระบบที่ใช้ Microprocessor มักเหมาะกับ workload ที่ต้องการ:
- Operating System;
- memory ขนาดใหญ่;
- application ซับซ้อน;
- UI/graphics;
- multitasking ระดับสูง
แต่เส้นแบ่งไม่ตายตัว เพราะ SoC สมัยใหม่รวม function จำนวนมากไว้ใน package เดียว
Raspberry Pi อยู่ตรงไหน
Raspberry Pi รุ่นหลัก ๆ เป็น Single-Board Computer (SBC) ไม่ใช่ MCU board แบบ Arduino Uno
ภาพรวม:
Raspberry Pi
↓
Linux / OS
↓
Processes / Services
↓
Network / Storage / UI / Applications
ขณะที่ MCU มักเป็น:
Firmware
↓
MCU peripheral
↓
GPIO / Sensor / Actuator
Raspberry Pi เหมาะเมื่อจำเป็นต้องมี Linux ecosystem ส่วน MCU เหมาะกับงานควบคุม real-world I/O ที่เรียบง่ายกว่าและใช้ resource ต่ำกว่า
| Platform | มักเหมาะกับ | Software model | จุดเด่นหลัก |
|---|---|---|---|
| Microcontroller (MCU) | Sensor node, local control, timing, direct I/O | Firmware / RTOS ตามงาน | ใช้ resource ต่ำ, เข้าถึง peripheral โดยตรง, เหมาะกับหน้าที่แคบและชัด |
| Microprocessor-based system | งานประมวลผลสูง, UI, multimedia, application stack | OS + external memory/peripheral ตาม design | ประมวลผลและ memory scale ได้มากกว่า แต่ system design ซับซ้อนกว่า |
| Single-Board Computer (SBC) | Gateway, Home Assistant, database, dashboard, edge application | Linux/OS พร้อม storage/network stack | เป็นระบบพร้อมใช้งานกว่า เหมาะกับ service หลายตัวและ application ระดับสูง |
ตารางนี้เป็น mental model สำหรับเลือกชั้นของระบบ ไม่ใช่เส้นแบ่งตายตัว เพราะ SoC และ board สมัยใหม่มีความสามารถคาบเกี่ยวกันได้
MCU มีข้อดีอะไรใน IoT
1. Boot เร็วและระบบเล็ก
Firmware สามารถเริ่มทำงานโดยไม่ต้อง boot OS เต็มรูปแบบ
2. ควบคุม Hardware โดยตรง
GPIO, Timer, ADC, PWM และ peripheral เป็นส่วนหนึ่งของ workflow หลัก
3. ใช้พลังงานต่ำกว่าได้
เหมาะกับ battery sensor node หรืออุปกรณ์ที่ใช้ sleep mode ถ้า MCU และ design รองรับ
4. Failure surface น้อยกว่า
ไม่มี package/service/OS layer จำนวนมากเท่า Linux system จึงเหมาะกับ controller ที่ต้องทำหน้าที่จำกัดและชัดเจน
แล้ว MCU มีข้อจำกัดอะไร
- RAM/Storage จำกัดกว่า;
- UI และ browser stack ไม่ใช่งานหลัก;
- file/database workload ใหญ่ทำได้ยากกว่า;
- development/debug บางแบบต้องเข้าใจ hardware มากขึ้น;
- network/security update lifecycle ต้องออกแบบอย่างจริงจัง
เลือกอะไรสำหรับ Smart Home / Smart Farm
Sensor node
เช่น Temperature/Humidity, Soil Moisture หรือ pulse counter:
MCU/ESP32 มักเหมาะกว่า
Local Gateway
ถ้าต้องรวมหลาย protocol, run service, database หรือ Home Assistant:
SBC / Mini PC / server มักเหมาะกว่า
Control loop ที่ต้องตอบสนองเฉพาะหน้า
เช่นอ่าน input แล้วหยุด output เมื่อ local condition ถึง threshold:
ควรพิจารณาให้ logic สำคัญอยู่ใกล้ field device มากกว่าฝากทุกอย่างไว้บน cloud
ตัวอย่าง Architecture ที่ใช้ทั้งสองแบบ
Sensor
↓
ESP32 / MCU
↓ MQTT / Modbus
Gateway / Home Assistant
↓
Dashboard / History / Automation
MCU ไม่ต้องทำทุกอย่าง และ Gateway ก็ไม่ควรแบกรับ physical I/O ทุกจุด
Microcontroller กับ PLC เหมือนกันไหม
ไม่เหมือนกัน
PLC เป็น control platform ที่ออกแบบสำหรับงานอุตสาหกรรม/automation โดยมี ecosystem, I/O, protection, lifecycle และ engineering practice ต่างออกไป
MCU สามารถสร้าง controller ได้ แต่การนำ development board ไปแทน PLC ในงาน critical โดยไม่ออกแบบ enclosure, power, I/O protection, EMC, fail-safe และ maintenance เป็นคนละเรื่อง
ต้องเรียน Assembly ก่อนใช้ MCU ไหม
ไม่จำเป็นสำหรับการเริ่ม ESP32/Arduino สมัยใหม่
สิ่งที่มีประโยชน์กว่าคือเข้าใจ:
- GPIO;
- Timer;
- Interrupt;
- Memory/resource limitation;
- state machine;
- peripheral communication;
- timing และ failure behavior
แนวคิดเหล่านี้มีมาตั้งแต่ MCU รุ่นเก่าอย่าง 8051 และยังมีความหมายกับระบบสมัยใหม่
อ่านต่อ: 8051 / MCS-51 คืออะไร และควรเรียนอะไรจากมันในยุค ESP32
เลือก MCU จากอะไร
อย่าเลือกจาก CPU MHz อย่างเดียว ควรดู:
- voltage/logic level;
- จำนวนและชนิด I/O;
- ADC/PWM requirement;
- UART/I2C/SPI/CAN/USB ที่ต้องใช้;
- Wi-Fi/Bluetooth/Ethernet requirement;
- power consumption;
- memory;
- development ecosystem;
- long-term availability;
- temperature/environment;
- certification/product requirement
ถ้าจะเริ่มวันนี้ควรเริ่มจากอะไร
สำหรับ learning path ของ Thospaak จะใช้ ESP32 family เป็น modern reference หลักในงาน IoT/Automation เพราะมี wireless + peripheral ecosystem กว้าง และมี official development stack จาก Espressif
แต่ Arduino ecosystem ยังมีคุณค่ามากสำหรับการเรียน API/library และ rapid prototyping
อ่านต่อ:
สรุป
Microcontroller เหมาะกับการอ่าน input และควบคุม hardware ด้วย firmware ที่มีขอบเขตชัด ส่วน Microprocessor/SBC เหมาะกับ workload ที่ต้องการ OS, memory, storage และ application stack ที่ซับซ้อนกว่า
ระบบจริงที่ดีไม่จำเป็นต้องเลือกอย่างใดอย่างหนึ่ง แต่ควรแบ่ง responsibility ให้เหมาะกับแต่ละชั้น

