A micro-controller IS a microprocessor that also has memory, I/O, and various peripheral devices (A/D, D/A, timers, etc) on the same chip. In many cases the microprocessor inside of the microcontroller is available as a stand alone part. In most cases microprocessors are of the Von-Neuman type, while the processor inside of a microcontroller is of the Harvard type. IE: microprocessors have a unified address space, while microcontrollers have several separate address spaces for Instruction storage, data store, user read only (eeprom), I/O and peripheral space. Note that larger more complex microprocessors (that can run a protected OS such as Linux) have a memory management unit that will divide the single address space into several protected spaces that share a common unified address space. Most microcontrollers will lack a mmu (especially those having a Harvard layout), so microcontrollers can't usually run an OS such as Linux, but rather a real time OS such as FreeOS. The Raspberry Pi single board computer has a microprocessor, the RP-Pico uses a microcontroller. The former is a Linux, Android, or Windows computer, the later is a 'bare metal' real time device.
I'm not your target audience, but wanted to drop by to say this series has been really helpful for me so far. I'm not designing any hardware products: I'm a longtime software eng working mostly in systems and apps--almost all above the os layer. I've toyed a little with driver and embedded software, but the closer I get to the hardware the more trouble I have wrapping my head around the design decisions. Anyway, your series has really helped me start to get a feel for how hardware and product engineering are approaching designs, and now I'm excited about finding more ways to collaborate better with them! Thanks!
@PredictableDesigns What if my project requires touch display, camera module and few sensors? I have a use case that requires capturing video while taking few sensor measurements. Can a microcontroller do concurrent tasks of streaming a video on display and also taking sensor measurements or performing some tasks such as fingerprint reading/comparing?
Correct me if I'm wrong, but when you were explaining the ESP32, I'm pretty sure the pictures you were using were of an ESP8266, not an ESP32. I'm currently in the process of purchasing my very first few microcontrollers, so this most definitely isn't me trying to act like I know more than you! 😂 Awesome video though! Answered 90% of the questions I had!!
The most "to the point" and "technical" uC vs uP comparison I could find online. Thanks for clearly mentioning the technical limitation of uC for each interface like Display, Camera, IO etc. No other video on YT does this. Please make more videos and keep up the great work.
Just to be pedantic, I'm working on a electro-mechanical device where the system already has a full-fledged microprocessor, a Raspberry PI, and so my question is more along the line of is a microprocessor or microcontroller useful or necessary for reducing installation complexity or cost or achieving the desire performance. In this day-and-age, it might be worthwhile to use a microprocessor just to save the end user from purchasing and assembly the wires for a remote sensor! Or a microprocessor so that the user just needs to plug in a USB C cable!
Microprocessor... Has an MMU, hardware driven cache and a RAM interface, usually some version of DDR. MPU could have some cool features like multi-cores, branch prediction, hypertherading, video encoding/decoding, integrated GPUs... all the peripherals SPI, USB, I2C, CAN, UART are usually still there. Often used with a big OS like linux or windows. Microcontroller... Much simpler system with no MMU and contains an integrated bank of static ram and "flash memory". Standard peripherals like SPI and UART and GPIO, but never PCIe.... Sometimes there is no hardware floating point unit. Lots of cool features like vectored interrupts are available, but are specific to architecture like ARM or LX6
That is pretty much impossible. I can't tell you how many designs I've seen from Fiverr designers that were complete and total junk. Not even worth $5 and a waste of your time.