Compare Arduino, ESP32, Raspberry Pi, and other popular platforms
Select the appropriate platform for specific project requirements
Use interactive simulators to practice with different platforms
Understand the strengths and limitations of each platform family
1533.2 Arduino Family
1533.2.1 Arduino Uno
MCU: ATmega328P (8-bit AVR)
Speed: 16 MHz
Memory: 32 KB Flash, 2 KB RAM
I/O: 14 digital, 6 analog
Best For: Learning, simple projects, hobbyist prototypes
1533.2.2 Arduino Mega
MCU: ATmega2560
Memory: 256 KB Flash, 8 KB RAM
I/O: 54 digital, 16 analog
Best For: Projects requiring many I/O pins
1533.2.3 Arduino Nano/Mini
Compact form factors
Same MCU as Uno
Best For: Space-constrained projects
1533.2.4 Arduino Due
MCU: ARM Cortex-M3 (32-bit)
Speed: 84 MHz
Memory: 512 KB Flash, 96 KB RAM
Best For: Computationally intensive applications
1533.2.5 Arduino Strengths and Limitations
Strengths: - Beginner-friendly IDE and ecosystem - Massive community and library support - Standardized form factor (shields) - Abundant tutorials and examples
Limitations: - Limited processing power - No built-in Wi-Fi/Bluetooth (except Wi-Fi-enabled variants) - 5V logic (compatibility issues with 3.3V devices)
1533.2.6 Knowledge Check
Show code
{const container =document.getElementById('kc-proto-3');if (container &&typeof InlineKnowledgeCheck !=='undefined') { container.innerHTML=''; container.appendChild(InlineKnowledgeCheck.create({question:"A student wants to build their first IoT project - a simple temperature logger that displays readings on an LCD. They have $30 budget and no prior experience. Which Arduino variant should they choose?",options: [ {text:"Arduino Due - more powerful 32-bit processor",correct:false,feedback:"Arduino Due uses 3.3V logic and is more complex. For a first project with 5V LCD shields, it adds unnecessary compatibility issues and cost ($40+)."}, {text:"Arduino Uno - beginner-friendly with massive community support",correct:true,feedback:"Correct! Arduino Uno is the ideal starter board: extensive tutorials, compatible shields, 5V logic matches most beginner components, and costs ~$25. The ATmega328P has plenty of power for a temperature logger."}, {text:"Arduino Nano - smallest form factor saves space",correct:false,feedback:"While Nano is great for space-constrained projects, beginners benefit from Uno's larger size (easier to wire), standard shield compatibility, and included USB connector."}, {text:"Arduino Mega - more GPIO pins for future expansion",correct:false,feedback:"Arduino Mega is overkill for a simple temperature logger. Its 54 digital pins and $45 cost aren't justified when Uno's 14 pins are more than sufficient."} ],difficulty:"easy",topic:"prototyping" })); }}
1533.3 ESP32/ESP8266 Family
1533.3.1 ESP32
MCU: Dual-core Xtensa LX6, 240 MHz
Memory: 520 KB RAM, 4 MB Flash (typical)
Connectivity: Wi-Fi 802.11 b/g/n, Bluetooth Classic + BLE
Strengths: - Built-in Wi-Fi/Bluetooth - Low cost ($2-10) - Low power with deep sleep - Arduino IDE compatible - Active community
Limitations: - Fewer I/O pins than Arduino Mega - 3.3V logic only - Wi-Fi stack consumes resources
Best For: - Wi-Fi-connected sensors - Home automation - IoT gateways - Battery-powered Wi-Fi devices
1533.3.4 Knowledge Check
Show code
{const container =document.getElementById('kc-proto-4');if (container &&typeof InlineKnowledgeCheck !=='undefined') { container.innerHTML=''; container.appendChild(InlineKnowledgeCheck.create({question:"Your ESP32 project works perfectly when powered via USB from your laptop, but randomly resets when running from a 3.7V LiPo battery. The serial monitor shows 'brownout detector triggered'. What is the MOST likely cause?",options: [ {text:"The LiPo battery is defective and needs replacement",correct:false,feedback:"While possible, brownout during Wi-Fi transmission is almost always a power supply issue, not a bad battery. The symptom points to voltage drop under load."}, {text:"Insufficient decoupling capacitance - Wi-Fi transmission current spikes cause voltage drops",correct:true,feedback:"Correct! Wi-Fi transmission draws 200-400mA bursts, causing voltage sag on inadequate power supplies. The fix: add 100-470uF electrolytic capacitor near ESP32 VCC, plus 0.1uF ceramic for high-frequency filtering."}, {text:"The ESP32 chip is damaged from overvoltage",correct:false,feedback:"Overvoltage would cause permanent damage or immediate failure, not intermittent resets. Brownout detector triggering indicates undervoltage during high-current events."}, {text:"Software bug in the Wi-Fi library causing memory overflow",correct:false,feedback:"Memory issues cause crashes or exceptions, not brownout detector triggering. The brownout detector is a hardware feature responding to supply voltage drops."} ],difficulty:"medium",topic:"prototyping" })); }}
1533.4 Interactive Simulator: Arduino Blink
TipArduino Uno - Blink (The โHello Worldโ of Hardware)
What This Simulates: Classic Arduino Uno LED blink program - the first project for every maker
Programming Fundamentals: - digitalWrite() function - delay() timing - setup() and loop() - Pin modes
Hardware Fundamentals: - GPIO pins (digital output) - LED forward voltage - Current limiting resistor - Active HIGH/LOW
How to Use: 1. Click Start Simulation 2. Watch built-in LED on pin 13 blink every second 3. Modify delay() values to change blink rate 4. Try different pins (2-13) with external LED
1533.5 Raspberry Pi Family
1533.5.1 Raspberry Pi 4 Model B
Processor: Quad-core ARM Cortex-A72, 1.5 GHz
RAM: 1/2/4/8 GB options
Connectivity: Gigabit Ethernet, Wi-Fi, Bluetooth
Interfaces: USB 3.0, HDMI, GPIO header
OS: Raspberry Pi OS (Linux), Ubuntu, Windows IoT
1533.5.2 Raspberry Pi Zero/Zero W
Compact, low-cost variant
Single-core ARM11, 1 GHz
512 MB RAM
Zero W adds Wi-Fi/Bluetooth
1533.5.3 Raspberry Pi Pico
MCU-class board (not Linux-capable)
RP2040 dual-core Cortex-M0+, 133 MHz
264 KB RAM
Best For: MCU projects needing custom silicon
1533.5.4 Strengths and Limitations
Strengths: - Full Linux environment - Rich software ecosystem - Powerful processing for edge computing - Extensive peripherals - Large community
Limitations: - Higher power consumption (2-7W) - Not real-time (Linux has scheduling latency) - Larger form factor - Requires SD card for boot
Best For: - Edge gateways - Video processing - Machine learning inference - Complex IoT applications
1533.5.5 Knowledge Check
Show code
{const container =document.getElementById('kc-proto-5');if (container &&typeof InlineKnowledgeCheck !=='undefined') { container.innerHTML=''; container.appendChild(InlineKnowledgeCheck.create({question:"A factory needs to deploy 50 edge computing nodes for real-time visual inspection of products on assembly lines. Each node runs TensorFlow Lite models to detect defects. Which platform is MOST suitable for production deployment?",options: [ {text:"Arduino Mega - reliable and low cost for industrial environments",correct:false,feedback:"Arduino Mega lacks the processing power for ML inference and has no camera support. Visual inspection requires significant compute resources."}, {text:"ESP32-CAM - built-in camera and low power consumption",correct:false,feedback:"ESP32-CAM can run basic ML but lacks the processing power for complex defect detection models. Its 520KB RAM limits model size severely."}, {text:"Raspberry Pi 4 (4GB) - sufficient compute for ML inference with Linux ecosystem",correct:true,feedback:"Correct! Raspberry Pi 4 provides the compute power (quad-core ARM, 4GB RAM) for TensorFlow Lite inference, camera support, Ethernet for reliable connectivity, and Linux for easy deployment. At $55/unit, it's cost-effective for 50-unit deployments."}, {text:"Jetson Nano - GPU acceleration for faster inference",correct:false,feedback:"Jetson Nano would work but costs 2x ($99 vs $55) and is overkill if TensorFlow Lite on RPi4 meets latency requirements. Reserve Jetson for more demanding vision tasks."} ],difficulty:"hard",topic:"prototyping" })); }}
1533.6 Other Platforms
1533.6.1 BeagleBone Family
BeagleBone Black: - Processor: ARM Cortex-A8, 1 GHz - RAM: 512 MB DDR3 - Storage: 4 GB eMMC onboard - PRUs: Programmable Real-time Units for deterministic I/O - OS: Debian Linux
Strengths: - More I/O than Raspberry Pi (65 GPIO) - Real-time capable with PRUs - Industrial temperature variants - Open-source hardware
Best For: - Industrial applications - Real-time I/O with Linux - Robotics and automation
1533.6.2 STM32 Nucleo/Discovery Boards
Nucleo Boards: - Various STM32 MCU options (Cortex-M0/M3/M4/M7) - Arduino-compatible headers - ST-Link debugger onboard - Professional development environment (STM32CubeIDE)
Strengths: - Industrial-grade MCUs - Low power optimization - Professional toolchain - HAL libraries
Best For: - Production-intent prototypes - Low-power battery applications - Professional embedded development
1533.6.3 Particle Platform
Particle Photon/Argon/Boron: - MCU with integrated Wi-Fi or cellular connectivity - Cloud platform included - Over-the-air (OTA) updates - Cellular data plans for Boron