What is Microcontroller: Definition and 107 Discussions

A microcontroller (MCU for microcontroller unit) is a small computer on a single metal-oxide-semiconductor (MOS) integrated circuit (IC) chip. A microcontroller contains one or more CPUs (processor cores) along with memory and programmable input/output peripherals. Program memory in the form of ferroelectric RAM, NOR flash or OTP ROM is also often included on chip, as well as a small amount of RAM. Microcontrollers are designed for embedded applications, in contrast to the microprocessors used in personal computers or other general purpose applications consisting of various discrete chips.
In modern terminology, a microcontroller is similar to, but less sophisticated than, a system on a chip (SoC). An SoC may include a microcontroller as one of its components, but usually integrates it with advanced peripherals like a graphics processing unit (GPU), a Wi-Fi module, or one or more coprocessors.
Microcontrollers are used in automatically controlled products and devices, such as automobile engine control systems, implantable medical devices, remote controls, office machines, appliances, power tools, toys and other embedded systems. By reducing the size and cost compared to a design that uses a separate microprocessor, memory, and input/output devices, microcontrollers make it economical to digitally control even more devices and processes. Mixed signal microcontrollers are common, integrating analog components needed to control non-digital electronic systems. In the context of the internet of things, microcontrollers are an economical and popular means of data collection, sensing and actuating the physical world as edge devices.
Some microcontrollers may use four-bit words and operate at frequencies as low as 4 kHz for low power consumption (single-digit milliwatts or microwatts). They generally have the ability to retain functionality while waiting for an event such as a button press or other interrupt; power consumption while sleeping (CPU clock and most peripherals off) may be just nanowatts, making many of them well suited for long lasting battery applications. Other microcontrollers may serve performance-critical roles, where they may need to act more like a digital signal processor (DSP), with higher clock speeds and power consumption.

View More On Wikipedia.org
  1. andymag

    Arduino mini pro 328p 16Mhz Voltage

    Hi guys, I am currently building a small device that is to be powered by a 3.7V battery and is run by an Arduino mini pro 328p 16Mhz microcontroller board. This board is to be powered by a 5V power supply according to the specifications. So I would need to add a step up converter, although I...
  2. Y

    Which MPU is the most popular and will be around for long time?

    Hi Just want to know which of the MPU I should learn that will be around and popular for a long time. I bought the Elegoo with ATmega328P. Before I invest time learning how to program it, I want to make sure I choose the right one. Thanks
  3. PhysicsTest

    Engineering Interfacing of NTC thermistor with microcontroller

    I am trying to understand a circuit where the NTC thermistor is interfaced with micro controller, but i am not able to understand the voltage output at 25DegC. According to the ST website the output of the circuit is 1.4V but as per my calculations it is 1.05V, i am not sure why. Please help...
  4. M

    How to program a buzzer to a PIC18F452 with PROTEUS and MPLAB IDE?

    crystal frequency is 4MHz The code i have tried is: #include <p18cxxx.h> #include <xc.h> void main(void) { TRISC = 0; // making TRISC pins output ADCON1 = 0x07; // making them digital pins while(1) { RC0 = 1; __delay_ms(5000); RC0 = 0...
  5. M

    Comp Sci Interrupts on pic18f452 not shooting in mplab X, help? C language

    I am using MPLAB X, everything is working great when I work on examples that require smaller or no preload at all, I do not understand why that is the case, is there a limit to the TMR0L? Hello please help asap, my specific case I have: 4MHz crystal -----> 1 / (4MHz / 4) = 1MHz timer I...
  6. Tone L

    Bare Metal Programming for Beginners

    Hey friends, I have had some time on my hand due to the COVID-19 pandemic and I hope everyone at PF is doing well. Thus, I have been learning some introductory electronics. This may be more of an opioniated question but, I am curious to hear from some ~experts~. From my understanding, bare...
  7. George Young

    Can I Build a Robot with Just a Blue Thing and a USB Cord?

    https://www.amazon.com/dp/B00KM6ZA9I/?tag=pfamazon01-20 So I have the blue thing and the usb cord from a long time ago when I wanted to build a robot, but I don't have the bottom three (unless the bottom left hand corner one is the one attached to the blue thing). I still have the cd as well...
  8. vukhanh97na

    Measure temperature without a microcontroller

    Hello everyone . I'm having a project about : Use thermorcouple to measure temperature without microcontroller(0 - 200 oC) . I researched and i think : " use opamp and icl7107 for display " . But i have 2 problem : - I can't amplify exactly signal from thermorcouple (because it's very small ~uV)...
  9. T

    B Why do microcontrollers fail in a Vacuum?

    I was trying to log data inside a vacuum chamber, tried an arduino and a rasperry pi. When reaching -30inHg the devices just stopped working, they powered off, no data in or out and would not work ever again. Why? And no, they did not overheat.
  10. G

    Testing a Microcontroller with a Function Generator

    Hello, I have more of a mechanical background so I was looking to get some help from someone with an electrical background with this. I am trying to use a BK Precision Function Generator (datasheet: https://bkpmedia.s3.amazonaws.com/downloads/manuals/en-us/4017A_manual.pdf) to send a signal to...
  11. thegreengineer

    PIC Microcontrollers: problem with LCD module (see below)

    Good morning people. Recently I started programming in assembly language my PIC16F877A. Success. Now I wanted to work with a LCD display (more specifically a 16x2 LM016 display). At first I did not know the commands until I saw a datasheet and this page...
  12. T

    Circuit breaker using microcontroller project

    So I am trying to make a circuit breaker using a microcontroller. I managed to get as far as this So I have the CT with a peak detector running to the adc. I then calculate the rms by dividing by root 2, which I then compare with a reference in this case 10A and it trips via the mosfet/relay...
  13. G

    Troubleshooting Microcontroller Resets for Car Radio Repair

    Hi all, Trying to fix a car radio (Grundig beta 5) for a local lad who wants it for his car. When you press the soft power button, some jumbled segments appear on the display, then it shuts down. I'm wondering if the microcontroller is not getting a reset signal. It's labelled OE57S. How do I...
  14. Z

    Need help with my project -- microcontroller for DC motor controller

    Hello, I'm a student currently doing my final year degree course in University College Sedaya International. I have given a project called as Microcontroller for DC motor control. The requirement of the project are :- 1). Type of Microcontroller = Microchip PIC16F876 2). DC motor 3). The...
  15. C

    Cortex M4 sinking a lot of current

    I'm trying to get the STM32F446 Cortex M4 microcontroller working on a board which I designed myself (I'm not an expert in this, but I'm learning). When I apply 5V through a current limiting power supply to the 3.3V LDO, the microcontroller uses all the current (max I used was 150 mA as the...
  16. MacLaddy

    Microcontroller tech vs. Computer-aided engineering

    Hello folks, This is a bit of an "academic guidance" question, but I feel it is most appropriate here. What are your thoughts regarding the usefulness of the two subjects listed? I have a choice going into my final semester between these two, and it is turning out to be a difficult one...
  17. T

    Microcontroller ADC Interrupt Not Working in Proteus Simulation?

    I am using proteus to simulate an atmega32. I load the code but I don't think the interrupt is firing #include <avr/io.h> #include <avr/interrupt.h> #ifndef F_CPU #define F_CPU 8000000UL #endif #define BAUD 9600 // define baud #define BAUDRATE...
  18. cnh1995

    Sampling an ac waveform on microcontroller

    I did a small project on ac power measurement using arduino a few months ago. But it was specifically for 50Hz supply only. I sampled the waveform in a 20ms interval and applied DFT to get the amplitude and phase. This works good when the frequency is between 49.5 Hz to 50.5 Hz. The aim was to...
  19. SSGD

    Microcontroller Pulse Width Modulation to Analog DC Voltage

    What are some effective ways to convert a Pulse Width Modulation from a Microcontroller to a DC Voltage as a function of Pulse Width? 1. Use a low pass filter to remove the unwanted harmonics and leave only the 0th term of the Fourier Series. What produces a better DC Voltage an Active or a...
  20. S

    Python Microcontroller: Learn How to Use It

    Hello, I ahve used C and C++ assembly lang introduction and few codes. which processor or microcontroller use phyton??
  21. ramzerimar

    Should I learn PIC programming or stay with arduino?

    I'm enjoying playing around with Arduino. It's very nice and intuitive, and it was a great introduction to electronics for me. But I've heard some people complaining that Arduino makes you lazy, and that you should learn how to program PIC instead. Thing is: apart from undertanding better the...
  22. Gliese123

    Adding MCU Atmega328 to Multisim?

    Greetings! Would anyone be an angel and tell me how I could download and install(?) the footprint and schematics for Multisim (v 12.0)? I've been searching for hours and I'm starting to go nuts here.. It would be awesome if anyone could help me since I believe it shouldn't be that hard?
  23. ramzerimar

    Engineering Do Control and Automation Engineers ever code?

    From what I've seen, most engineers - outside software engineers - work with Matlab and spreadsheets like Excel. I don't know how to code in Matlab yet, so I'm not sure about how different it is from traditional programming languages like C/C++. I'm more interested in Control Engineers - and...
  24. 1rel

    TFT LCD Display - where is the circuitry?

    Today, I've been looking into TFT LCD display tech for a bit, trying to figure out how pixels are actually colored on the screen. - A) Out of necessity, because I'm trying to build a small ARM microcontroller powered board with a display on it. B) And out of curiosity, because I don't really...
  25. B

    HMI -> Microcontroller? -> PCB I/O

    Hello I want to make a HMI that monitors i/o through a microcontroller/fpga/something. The problem I've come across is to figure out what's going to interpret/read i/o at the end of this system. For what it's worth, it's going to read i/o from "props" used in so called Escape Rooms - so they...
  26. A

    Mechanism to move things around

    Hi. I am working on a project that requires moving a small camera on a platform in a linear fashion. I have a rectangular board and this camera need to move from one end to the other controlled by an arduino or something similar. I don't even know how to begin to approach this problem. I am...
  27. A

    Does an SN754410NE H Brdige need a microcontroller?

    A few months ago I asked about diodes for a basic low voltage H-Bridge. So I got the parts together. The first thing I did was to build a 5V voltage regulator, getting power from a 9V battery. I managed to build the regulator with no issues, it puts out 5mA and about 5V. I went ahead with the...
  28. U

    About Crystals in microcontroller......

    I have a question that if we use external quartz crystal in Microcontroller and connect it to battery... Crystal gives regular and very accurate electrical frequency... But it should get mechanical vibration from somewhere to give electrical pulses... From where it receives mechanical vibrations?
  29. A

    Simple C code and PIC microcontroller: need it looked at

    Homework Statement I'm using a PIC 16F877A microcontroller. An LDR and moisture sensor connect to the ADC. The main body of the code is ''void main'', and there is also a sub-code called "void light_the_led'' which is read inside the 'void main code'. I cannot get access easily to hardware or...
  30. estv

    Interactive Website to Learn Python for EE Student

    Hi, I'm trying to learn python for electrical engineering application. Is there any interactive website to learn this, especially the one with interactive compiler or result animation? Maybe equipped with microcontroller simulator, LED, and actuator? (if is it possible) So far, I've tried...
  31. Superposed_Cat

    Microcontroller, LED, DC motor problems

    Hey all, me and my friend are attempting to control a 5v dc motor and make a LED blink simultaneously using a H-Bridge Motor Driver 1A - SN754410 and ATMEGA328 micro-controller(16mhz, 8bit). The issue is is that when my H-Bridge activates the motor using input from the micro-controller then the...
  32. A

    Microcontroller to understand architecture

    Hello, I've been self studying computer architecture and I'm also familiar with digital electronics. I was thinking of getting an actual microcontroller and try to commit all the material that I'm learning by actually playing with a real microcontroller. Obviously PIC and AVR are among the most...
  33. C

    Are there any microcontroller (mcu) course in university?

    I'm looking for some textbook for learning microcontroller(MCU), especially AVR, Atmega series. Does the electrical and computer engineering department in some university teach this devices? If so, what is the basic textbook for university students to learn MCU?
  34. L

    Developing a Flow Meter with Microcontroller & IR Sensors

    Hi evryone. My name is Lucian, I'm a Computer Engineer. I'm working in a project of a company to develop a flow meter using a microcontroller and Infrared sensors. I'm stuck in the mechanic fluid part. We're trying to develop this product basing in the mechanic model of the attached picture...
  35. T

    8051 Microcontroller Descending Order

    I have written a program for sorting an array in memory using 8051 microcontroller. But when I modify it for descending order(Replace JNC by JC). It doesn't work. What is the point that I am missing?
  36. D

    Help in trying to build microcontroller powered Chess Board

    Hello all, as the title states I'm trying to build an arduino powered chess board. The chess pieces will have magnets on the bottom and each square of the board will be equipped with a reed switch for detecting the presence of the magnetic field produced by the magnet. I recently tried this out...
  37. I

    MHB What is the Purpose of a Microcontroller in a Computer?

    can someone give like a brief one paragraph explanation of what a microcontroller is and what it does. i understand that its a microcomputer on a circuit but i don't understand its purpose. please keep it very simple. this is my first engineering class after a bio switch so ill get VERY confused...
  38. A

    DigitalWrite in Teensy microcontroller?

    I'm trying to use the function pinMode so that I can use an analog pin as a digital output pin. But when I debug the source file, it states that OUTPUT and PIN_AO is undeclared, and that pinMode and digitalWrite are implicit declarations. I assume I'm missing a library which i should include...
  39. Z

    What Microcontroller Should I Choose for a Summer Project?

    Hey guys. I'm completing my Year 2 in E&E engineering next month, and due to some logistic reasons, I won't be able to do any internships this summer, instead I'll be doing it next summer. I've decided to work on some project during the summer. I could get something productive on my CV and...
  40. vead

    Understanding Microcontroller Port Signals and Memory Storage: A Question

    I don't understand what does mean of following statement processor take signal from switch via the input port and send processor the signal signal to motor via output port is this correct statement or not ? tell me only, is this correct statement or not ? If yes then result should...
  41. A

    Microcontroller kit for a beginner embedded systems hobbyist

    I am interested in learning how to design embedded systems. I have a solid background in high level C++ (primarily for modelling and visualisation), but my knowledge of computer hardware is somewhat limited. I am interested in starting an embedded system design project to educate myself on the...
  42. V

    Should I Use A Microcontroller Or A Microcomputer?

    I am working on, with some friends, a small project. It is to take a toy radio-controlled car and put a rotating electronic rangefinder on it in order to have it drive itself around SIMPLE obstacles. We all have a slight background in electronics (not much) and lots of experience in computer...
  43. J

    Best programming language for a microcontroller?

    So I've taken a course in java and gotten a solid grasp on it, I've learned using the arduino assembly language and messed around with it making some gadgets, and now I wan't to go further. I want to buy a pure microcontroller or processer without a board, and start programming simple stuff...
  44. S

    Laptop to Microcontroller through RS232-USB Converter

    Hi, im currently planning to use PIC 16F877A for implementing smart metering. since I am also learnig .NET, i want to use laptop as my display unit. I also bought a RS232 USB-Converter. But,i don know how will the laptop recognize signal from MC and transmit data to microcontroller?? :frown...
  45. Magna Visus

    Extracting Bits from Variables in PIC Microcontrollers

    Hello guys! The following question is related to the P18F2520 series. Suppose you have 2 defined variables var1 and var2 each containing 8 bits from a certain source. However I only need the 4 least significant bits from var1 and the 4 most significant bit from var 2 in order to fill up a new...
  46. M

    Digital Watt Meter Connected To Microcontroller

    Hello all, I am currently working on a project for a client in which my objective is to create an educational light bulb display. The purpose of this display is to demonstrate cost effectiveness between 4 different bulbs (incandescent, high-efficiency incandescent, CFC, and LED). Each...
  47. Magna Visus

    Why Must EECON2 Be Initialized with 0x55 and 0xAA in PIC18F EEPROM Programming?

    Hello all, Those who usually program microcontrollers in assembly, should be well familiar with the internal EEPROM (Series PIC18F). In particular there's a register EECON2, that needs to be initialized ALWAYS with 0x55 then 0xAA before writing; Why is that? What's the main reason behind...
  48. S

    Using a Microcontroller to read peak values

    I need to use the analogRead feature of an Arduino microcontroller to read the peak value of a sinusoidal signal. I wrote a function that sampled the analog signal many times more than the frequency of the input signal and saves the highest read value. The problem being, the Arduino always...
  49. N

    I bought a Microcontroller Experiment Board

    Hey guys, I might be in over my head on this one but I was looking for an electronics project... I really just into this kind of stuff and plan on majoring in electronics engineering. I just purchased a Microcontroller Programmer & Experiment Board (by Velleman) at Radioshack because it looked...
  50. A

    Switch Debounce using PIC16F690 Microcontroller

    Homework Statement I'm having a lab problem for PIC16F690 chip. It's needed to write a software solution of switch debounce in Assembly and test the code on the LPC demo board of the PICKit2 using the push button that's connected to the MCLR pin of the chip. The effect of pushing down...