logoalt Hacker News

philipallstar • today at 1:41 PM • 8 replies • view on HN

I am really struggling to understand what ESP32 is. I've got into adjacent things a bit recently, but haven't figured that one out yet.


Replies

the__alchemist • today at 2:03 PM

It's a family of microcontrollers by Espressif. A microcontroller (MCU) is a type of integrated circuit (IC: physical appearance: Black rectangle of epoxy with exposed metal tabs). It has, in the same IC, a CPU, RAM, non-volatile FLASH memory, and a collection of peripherals which vary depending on the MCU. These usually include I/O protocols, ADCs, DACs, DMA controllers, math processors etc.

Stated another way: An MCU, like the ESP32, is a tiny computer, sans the hardware you physically interface with it.

The computing power, and memory is much lower than your desktop or laptop PC (or mobile phone), but if you are using it to run a dedicated task, instead of using a big OS like Linux or Windows, it can complete the tasks really fast (often microseconds) and with minimal power use. This is because it's easy to program to do exactly what you need, with nothing competing for the hardware.

A note on ESP in particular compared to other MCUs: It's one of the only (Or was?) options which has Wi-Fi integrated into the MCU itself. It's a good default if you want that.

➕ show 2 replies
nkozyra • today at 1:45 PM

They're all just single board computers, generally low-powered (literally and in the sense of capability, particularly memory)

They're generally intended to run flashed firmware and be single-purpose. They usually come bundled with peripheral components and typically have breakouts to add more (pots, sensors, etc).

They're great for doing one thing (though some support firmware switching), and you can build the 'software' for them pretty easily using Python or C-like variants.

So for hobbyists they're perfect. You want a quick LED christmas display you can toggle between Rudolph and Santa from a quick network call? You want a humidity sensor in your bedroom? You want to create a networked security camera? These are the types of use cases for MCUs.

➕ show 3 replies
pornel • today at 2:40 PM

ESP32 boards are small and cheap adapters between Wifi (network APIs) and I/O pins for small electronics like LEDs and relays.

If you want a web API for something in the physical world, make ESP32 do it.

atwrk • today at 3:47 PM

At its core those all ESP32 are microcontrollers with RISC-V cores[0] and integrated wifi. There's a plethora of peripheral configurations, hence all those ESP32-* variations. This one even has Gbit ethernet and audio, bit still, at it's core (hah), RISC-V with only a few hundred MHz and 512kB RAM. So the peripherals are now similar to a Raspberry Pi, but not the CPU part itself.

[0] older versions had Xtensa cores, not RISC-V.

➕ show 2 replies
amelius • today at 5:42 PM

I have an ESP32 here, it can do wifi, but only like 2 requests per second or so, with 50kB of data (I didn't measure it, but that's approximately what it can do).

leptons • today at 4:33 PM

"ESP32" is a brand name. It covers devices with different CPU cores - Tensilica Xtensa and more recently RISC-V.

Each type of device has different capabilities. Most have Wifi, some don't. Some have extra RAM and ROM, and some don't.

The main thing that ties all the different devices together is the ESP-IDF software stack.

ckocagil • today at 1:53 PM

Originally it was the more capable successor to ESP8266, the super cheap chip containing a high speed core with wifi and an IP stack. At one point it powered a huge chunk of all smart devices on the market. Then the original ESP32 was introduced as the successor, with BLE and two cores which were even faster. That made it a very capable chip for tasks demanding compute. After the original ESP32 they decided to add variety and make a whole "ESP32 family" and yes there's quite a lot of variety these days. Even the ISA and cores changed.

ThrowawayTestr • today at 2:42 PM

I use an esp8266 to control a relay attached to a lava lamp. Every 5 minutes it pings an NTP server and closes the relay if it's the evening.