Blog
Is ESP32 a Microcontroller?
Yes — the ESP32 is a microcontroller. This FAQ covers MCU vs microprocessor, embedded systems, and what that means for programming.
Is ESP32 a Microcontroller?
Yes. The ESP32 is a microcontroller: a computer on one chip with processor, RAM, and flash inside, running one program with no operating system. You don’t install software on it — you flash a program to it. That’s the whole definition, and the ESP32 fits it squarely; a Raspberry Pi, by contrast, is a microprocessor running Linux.
Is ESP32 Embedded System?
Yes — an embedded system is any computer built into a larger device for a specific job, and the ESP32 is a textbook example. Thermostats, routers, and washing machines all contain embedded systems; the ESP32 is the one inside a smart plug or sensor node. The term describes a role: the chip is the microcontroller, the product around it is the embedded system.
Is ESP32 Little Endian?
Yes — every ESP32 core, RISC-V included, is little-endian: multi-byte values are stored least-significant byte first. You notice it parsing binary protocols or packing structs for serial. I once spent an evening debugging a CAN parser because I assumed big-endian; the ESP32 was fine, my assumption wasn’t.
What Language Does ESP32 Use?
C and C++ are native — the ESP-IDF SDK and the Arduino core are both C/C++. On top you get MicroPython, Rust, JavaScript, even Lua. In practice, what language does esp32 use is usually C++ in the Arduino IDE, with PlatformIO as the modern alternative.
Is ESP32 Coded in C?
Yes. The ESP32’s firmware — the ESP-IDF framework, the FreeRTOS kernel, and the Arduino core — is written in C with C++ on top. C skills transfer directly: you can write ESP32 programs in plain C, though most tutorials use the Arduino style — technically C++.
Are ESP32 PLC?
No — a PLC (programmable logic controller) is a ruggedized industrial controller with ladder-logic programming and hardened 24V I/O, and the ESP32 is neither. PLCs are built for decades of factory uptime; the ESP32 is consumer-grade. PLC-style boards around the ESP32 do exist, so you can do PLC-ish automation — just don’t expect PLC-class reliability out of the box.
What’s the difference between a microcontroller and a microprocessor?
One runs hardware directly, the other runs an operating system. A microcontroller (ESP32, Uno, STM32) has CPU, RAM, and storage on one die and executes your program from power-on. A microprocessor (Raspberry Pi, laptop CPU) is just the CPU — it needs external RAM, storage, and an OS. Rule of thumb: flash a program to it and it’s an MCU; install an OS and it’s a microprocessor.
Can the ESP32 run Linux?
No practical Linux. The classic ESP32 and the S3 run FreeRTOS — a lightweight scheduler, not an installable OS — and MicroPython or the Arduino runtime are the closest thing to an environment. The bigger ESP32-P4 still isn’t a Linux box. If you need Linux, that’s the Raspberry Pi’s job; the under-the-hood article explains where the limits come from.
Do I need to know C to use an ESP32?
No — this is where the ecosystem shines: MicroPython is genuinely beginner-friendly, and the Arduino framework hides most of C’s rough edges. You’ll eventually hit a library, a crash, or a performance problem that requires reading C — the official docs are mostly in C — so it’s not a dead end, it’s a ramp.
Where do microcontrollers fit in the maker stack?
Below the Pi, above bare logic. If your project talks to a sensor or the internet and should run for months on batteries, an MCU like the ESP32 is the right layer. You can test that a project fits before buying boards — the same firmware runs in the browser simulator. The knowledge base compares the chip families.
Watch a Microcontroller Be One
The distinction stops being vocabulary the moment you see bare-metal timing:
- Blink —
LED ON/LED OFFevery 500 ms, becausedelay(500)means 500 milliseconds of the CPU doing nothing else. No operating system underneath; the loop is the machine.
Then contrast: the same blink on a Raspberry Pi — Python on Linux, where timing is a suggestion. Two examples, one tab apart: the microcontroller/computer boundary you can click through.