From Wikipedia, the free encyclopedia
Jump to: navigation, search
WikiProject Robotics (Rated Start-class, High-importance)
WikiProject icon Microcontroller is within the scope of WikiProject Robotics, which aims to build a comprehensive and detailed guide to Robotics on Wikipedia. If you would like to participate, you can choose to edit this article, or visit the project page (Talk), where you can join the project and see a list of open tasks.
Start-Class article Start  This article has been rated as Start-Class on the project's quality scale.
 High  This article has been rated as High-importance on the project's importance scale.
WikiProject Computing / Hardware (Rated Start-class, High-importance)
WikiProject icon This article is within the scope of WikiProject Computing, a collaborative effort to improve the coverage of computers, computing, and information technology on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
Start-Class article Start  This article has been rated as Start-Class on the project's quality scale.
 High  This article has been rated as High-importance on the project's importance scale.
Taskforce icon
This article is supported by Computer hardware task force.

Not quite the right illustration?[edit]

That image "Microcontroller.jpg" now on the article doesn't seem like a microcontroller to me, as it's a PCB, not a chip. It might have one on the board, but it doesn't seem like a good illustration of a microcontroller itself. Can anyone with more knowledge comment or fix? -R. S. Shaw 21:36, 2004 Oct 23 (UTC)

In the meantime, I suggest the image instead be placed in the Printed circuit board article, where it would fit in just splendidly, as that article only has got an extreme close-up of a PCB side without any components. The "µC.jpg" image, however, shows lots of stuff. :-) --Wernher 01:47, 24 Oct 2004 (UTC)

I've deleted the image because it's a copyvio by Cheung1303. This user has a history of uploading images he found on google. Theresa Knott (Tart, knees hot) 07:48, 13 Nov 2004 (UTC)

Comparison would be very helpful[edit]

If there ever was a site on the entire Internet, where folks would pilgrim, just to get a decent answer to the question "Ok, now there are like five hundred families of microcontrollers around. I've been surfing now for three entire work days, and I'm drowning in details and gratuituous data. If anywhere, I'd hope at least Wikipedia would have a page where the different families (i.e. from different manufacturers) would be concicely explained. (Like in two sentences eac.) From there of course one could click to their "favorite" brand, and get a listing of each of the submodels, again explained in ONLY two sentences.

Oh Bob, I could PAY for those pages!!!!!! 23:33, 10 December 2005 (UTC) Georg Wrede

I agree, having a listing of all the different uP and uC would be incredibly helpful if it were to have descriptions (short ones preferably). And especially why a certain chip or family is better than the others. I'm not saying that the companies could use this page as an advertising site, but their input would be very helpful.

An example of what I mean is:


Z80 Encore! MC -- designed for motor control applications


dsPIC30 family -- designed for DSP

I also realize that this sort of information would be more appropriate in a forum setting, but there really aren't any forums where the information is provided in a concise manner. Also, forums have a tendency to favor (or only support) one type of chip.

Lordfuzzz 17:05, 24 August 2006 (UTC)Fuzzz

I agree -- that would be very nice. Is the microcontroller comparision at Wikibooks:Embedded Systems/Particular Microprocessors at least headed the right direction? -- 01:34, 20 April 2007 (UTC)

Embedded Systems Programming magazine has a yearly "directory" of micros (controller and processor) that they publish annually. Is it available on-line, and would that be 1. sufficient, and 2. allowable per WP:EL? Pfagerburg (talk) 07:26, 21 September 2010 (UTC)
Knowing the URL in question would be helpful in deciding.
Yeah, it would be helpful for me, too. I can't seem to find it. Google has turned me into an idiot incapable of bookmarking anything because "I can just google it later." Pfagerburg (talk) 00:11, 22 September 2010 (UTC)
I'd probably say yes. Partly because copyright prevents us taking a whole database on-board (so the WP:EL provision of "beyond Good Article" is still met). Mostly though because we simply won't have time or effort to impost such a list. I'd go with it. Andy Dingley (talk) 08:48, 21 September 2010 (UTC)
I'm sure that various contributors could provide details about the major families, like 8051, AVR, PIC, Z80, ARM, etc. But then we'd get someone who was offended that the list had "ARM" instead of individual controllers by Atmel, NXP, Analog, ST, and so on. By pointing to an external list, we get to deflect criticism towards that list's authors. Oh yeah, and avoid duplicating work. Pfagerburg (talk) 00:13, 22 September 2010 (UTC)

How about this link [1]? Sort and filter by company, instruction set, size, target application. Pfagerburg (talk) 03:15, 1 November 2010 (UTC)

SX from Ubicom to Parallax?[edit]

Since SX chips have only been available from Parallax for a while now, and are labled with their name, would it not be more appropriate to move the SX chip into a new Parallax category?

Ubicom's other processors would be better left as is, since Parallax has no involvement with them OwenS | T | C | 15:41, 6 October 2006 (UTC)

  • Additionally, thinking about it, Parallax needs an entry for their new Propeller too OwenS | T | C | 16:07, 6 October 2006 (UTC)

I added a blurb about the Propeller, but there needs to be a disambiguation page between the Propeller IC and what's on an airplane. tdperk@hotmail.com205.161.221.144 20:06, 10 January 2007 (UTC)

List of Manufacturers[edit]

Do we really need this list? There is a definite feeling around Wikipedia that lists like this serve no purpose. At the very least have just list of manufactueres, not their products as well Graemec2 13:25, 12 October 2006 (UTC) Im going to remove it a couple of days unless I get any strong objections. Graemec2 08:04, 13 October 2006 (UTC)

The list of manufacturers and features of their microcontrollers is very useful to someone who actually needs to use one. As an engineer, I look for this sort of summary to compare products all the time. Yeah, may not be useful to a layman, but how many laymen would read this article? TheBorg24 06:42, 5 June 2007 (UTC)

External Link Cleanup[edit]

Lots of external links that didn't meet WP:EL guidelines were removed. Broken links, links to personal websites, excessive advertising, commercial websites, etc. Calltech 23:09, 14 December 2006 (UTC)

Added WP dmoz entry, removed Link Spam warning display, but included a warning message to editors wanting to add new links per WP:SPAM. If I removed any links that you feel should be restored, please make an entry here on the discussion page. Hopefully this will keep the article cleaner. Thanks! Calltech 23:52, 14 December 2006 (UTC)

Those changes were much needed. Thanks. -R. S. Shaw 04:32, 15 December 2006 (UTC)

External Link Suggestion![edit]

Stop spamming WP. Your link pages don't add any new relevant content WP:EL and the pages are filled with Google Adsense ads WP:COI. You've attempted to add this same link using several User IDs and IP addresses and have been warned on other articles by several editors. WP is not a medium for you to promote your website. Calltech 03:03, 19 December 2006 (UTC) Has new and relevant content. Ads are not your business. —The preceding unsigned comment was added by (talkcontribs).
"Ads are not your business"? ...That's a new one. O_o Femto 12:02, 20 December 2006 (UTC)
I thought editing other peoples entries was considered bad form, bordering censorship. From what I can see it was in fact the OP who added this to talk under the title extermal link suggestion, how can that be spamming? Rewriting the links is bad form since it makes it more awkward for others to see what it is all about. This is a talk page where talk is the issue, not having people doing the thinking for others. --18:00, 5 March 2007 (UTC)

It is a nice tutorial on Microcontroller and might be good reference for readers who looks for architecture of microcontroller. —Preceding unsigned comment added by (talk) 08:00, 22 January 2011 (UTC)

No databus![edit]

In contrast to general-purpose CPUs, microcontrollers do not have an address bus or a data bus,

That may be true for some smaller hobby microcontrollers but the majority of microcontrollers used in industry certainly do have address and data buses. —The preceding unsigned comment was added by (talk) 12:54, 23 April 2007 (UTC). Please check and remove this inside the page "fjfjfjf fjfgj fgjf jf jfgjffgjturtutrrurt"

Microcontrollers have data- and address bus. You just can't get to them externally.. Electron9 (talk) 13:25, 7 March 2011 (UTC)

Merge with embedded microprocessor[edit]

  • Maybe you can merge embbeded into this article? but it can be a disambiguation problem.
  • No this merge is not appropriate. Embedded microprocessors can be finished chips in embedded systems, or processor cores in any of ASICs, ASSPs or MCUs. An MCU is a distinct class of chip that contains an embedded processor core - one of many
  • I oppose Electron9 14:14, 25 July 2007 (UTC).
  • I oppose as term Microcontroller is something including microprocessor and other "required" periphrels on single chip. Embeded microprocessor or microprocessor is not a big differance except some special characteristics, but micro processor and microcontroller have substancial differances. I think microcontroller should be kept appart.How ever this can be included in topic of embedded systems. —The preceding unsigned comment was added by (talk) 07:55, August 21, 2007 (UTC)
  • I oppose, since a microcontroller is a generally accepted term for a chip containing not just a processor core, but also a set of peripherals making it suitable for control applications. An embedded processor is either a chip with just a core on it (like a PPC755), or a core used inside a more complex SoC (Freescale e500 or IBM PPC405 core, or a MIPS24k, or similar core targeting embedded applications). User:JakobE
  • I oppose, for the same reasons as described by JakobE above; a microcontroller is more than a microprocessor, since it must include memory, peripherals, etc. FlyByPC 19:54, 20 September 2007 (UTC)
  • I support merging all the content currently in the embedded microprocessor into the microcontroller article, since (currently) all that content seems to be talking entirely about microcontrollers. I agree 100% with JakobE and FlyByPC that "microprocessor" and "microcontroller" are distinct enough to warrant separate articles. Since I agree with JakobE that "An embedded processor is either a chip with just a core on it ... or a core used inside a more complex SoC", I suggest (after moving all the content into the appropriate article) we make "embedded microprocessor" redirect to the other Wikipedia article with a name that is synonymous with "a chip with just a core on it ... or a core used inside a more complex SoC" -- CPU. -- (talk) 01:51, 26 March 2008 (UTC)
  • I oppose. Although they are occasionally confused, an "embedded microprocessor" and a "microcontroller" are two completely different animals. An "embedded microprocessor" is really a MICROPROCESSOR, after all. Microprocessors and Microcontrollers are different devices, although people not deeply involved in the industry often confuse them. However, I am aware that in the past some companies have attempted to "re-brand" their microcontrollers by calling them "embedded microprocessors" or "microprocessors". The re-branding is not for technical reasons - it's really a poor attempt at marketing that leads to confusion. Consider that many large manufacturers have one person that is the microprocessor buyer and another person that is the micrcontroller buyer. There are also significant test differences because of the memory found in microcontrollers. Corwin8 (talk) 20:12, 6 August 2008 (UTC)
  • I support. There is a difference between terms 'microcontroller' and 'microprocessor', but when we're talking about this subject, the difference becomes very small compared to similarities. Microcontroller has just RAM and ROM, that is needed for full operation, added. Everything else is the same - both can have similar speed range between <1MIPS and 100+MIPS, the same peripherals, etc.. I think that we should mark a line between processor and microprocessor/microcontroller instead of between uC and uP, because: 1. It's very confusing. I don't see any other difference between uC and uP except that uP must have two more chips for operation and that uC is more suitable for aggressive environment. These are differences only from practical side and other 95% of information will be the same for both. 2. There is very big gap between processor and microprocessor, as processors often don't have even memory controller, they must have at least south-bridge attached, though microprocessors have almost all common peripherals integrated. For example, we can take FreeScale i.MX31 which can run at 532MHz. It has even HDD controller integrated, followed a bunch of UARTs, CPIs and other even more sophisticated connection controllers. uC and uP ussually have RISC architecture, but processors are CISC.1exec1 (talk) 09:35, 9 September 2008 (UTC)

summary comparison[edit]

We need a good summary comparison of the DIY programmable microcontrollers -- the ones such as BASIC Stamp, PICAXE, and Arduino that can be developed for no more than about $100 (if you already have a general-purpose computer to host the development). It should list the power supply voltage range, the minimum power consumption, the max clock speed, the min cost for a development system (quan. one), the min cost for a target system (quan. one), the programming languages, and whether a complete open-source development set is available (no proprietary assembler-compilers etc). And the range of RAM and EEPROM available. (See also [2] and [3]) - 19:27, 2 August 2007 (UTC)

Would this include low-to-medium-range DIP processors, such as the PIC16F84A etc? They are available for a few dollars each, and programmers can be bought for around $20. The Microchip IDE is free. Freescale also has similar development kits, though I'm more familiar with PIC development. I could write a brief overview of getting started with PICs, if this would be helpful.FlyByPC 19:57, 20 September 2007 (UTC)

I would like to see your brief overview of getting started with PICs. However, Wikipedia is not a good place for it, because of Wikipedia's pesky WP:NOT#HOWTO policy. The Wikibooks: Embedded Systems/PIC Microcontroller is a good place for that overview. (Is there an even better wiki elsewhere?)
I agree that brief summary comparison of the BASIC Stamp, PICAXE, Arduino, and similar things would be good. Alas, apparently not everyone agrees, because the entire "Development platforms for hobbyists" section of this article was deleted 04:39, 28 August 2008[4].
Should we revert that deletion, since "microcontroller development platform comparison" are just as encyclopedic as "comparison of image viewers" ?
Or is there some other wiki that would be better for "microcontroller development platform comparison"? -- (talk) 12:54, 15 October 2008 (UTC)

No full version linux[edit]

It should be included in the article that at present, no microcontrollers exist that are capable of running a full scale Linux-version. As such, they cannot be used to make a "computer" from scratch (by soldering components together). Aldough KwikByte has been able to pull this off, for the good reader it is clear that even they had to make adjustments (they tweaked it) so it was possible and is thus no viable alternative [1]. —Preceding unsigned comment added by (talk) 14:43, 24 November 2007 (UTC)

Is that so? What about:

... or are you going to quibble that they don't really run "full scale Linux" or they can't be built "from scratch" ? Or perhaps that they aren't really "microcontrollers"? -- (talk) 19:03, 28 March 2008 (UTC)

Not only "Is that so?", but "so what?!" springs to mind too; furthermore, is the definition of a "computer" really that it has to run Linux, and are microcontroller based systems not computers? At least some of the processors that identifies are described as microcontrollers in the literature, featuring embedded peripherals and general purpose I/O that is typical of a microcontroller, and they can run Linux. While Linux may not be the most suitable OS for the less powerful microcontrollers, other O/S's exist and can be easily implemented, and applications such as web servers have been developed for even modest PIC microcontrollers.

Moggie2002 (talk) 20:18, 28 March 2008 (UTC)

External Microcontroller Link Suggestion[edit] - This site has extensive reference material with minimal advertising. Contains a lot of educational material, including online webinars, white papers, and industry news and analysis. Online since 1996. Corwin8 (talk) 19:59, 6 August 2008 (UTC) Useful article on the process & tools used to develop code for microcontrollers. Cwatti (talk) 01:07, 26 June 2009 (UTC)

Jc Beckt - predictable[edit]

  • To me, "predicable" as used in the fifth paragraph has nothing to do with "real-time".
  • Real-time indicates a synchronous response to a request for interaction with either human, sensor or interrupt input. By synchronous I mean the requesting process suspends further processing (by that particular process thread) until a response is received. The requesting process, stimulated by the response exits its wait state and resumes processing.
  • The response to a synchronous request is not "predictable" since the requestor may be required to wait a finite (or infinite) period of time. That time lag applies even if the system has carefully crafted a response timing protocol. A myriad of external factors may still delay or preempt the response entirely. The process is still considered synchronous even if it includes a response time-out.
  • In contrast, an asynchronous interaction would entail a request which is not directly or immediately responded to, but is rather collected explicitly at some future point in time. The asynchronus collection action may be driven by an interrupt or some other cue from the responder or by periodic polling. Aynchronicity does not necessarily require the initiator to poll for a response, only that processing continues until the response is received.

Gary Boone — TMS0100[edit]

Shouldn't Gary Boone's TMS0100 be mentioned in article? @ 2010-06-27 —Preceding unsigned comment added by (talk) 20:57, 27 June 2010 (UTC)

Possibly you mean TMS1000? Added, a year after the above comment. --Wtshymanski (talk) 04:22, 29 June 2011 (UTC)

History wrong[edit]

The 4004 was a chipset, one of the design goals was to be able to change product programming. The 4004 had chips on an external bus for RAM and ROM and I/O. A microprocessor System not a Microcontroller. The Texas Instruments TMS1000 (first single-chip microcomputer ever offered) and Rockwell PPS/4 were introduced 1972. First member of 8048 was 1976, PIC1650 was 1977, Z8 and TMS9940 were 1979, Computer museum notes "calculator on a chip" products since 1970, the LSI of these "controlled" the operation of the calculator using clocks and state machines, and technically meet the minimum requirements of (harvard arch) "micro controllers", but maybe not microprocessor. "a 1970 microcontroller"

Microcontroller uses: Television, Cable Box, Satellite Box, Cable Modem, Router, Printer, Microwave, Surround Sound System, Monitor, Digital Camera, Car (most all of them), Car stereo, Dishwasher, Dryer, Washing Machine, Cell phone, Fluke Digital Multi-Meter, Calculator, Air Conditioner, Ovens, Bread Machines, Hospital Equipment (IVs, Heart Monitors, Defibs, etc), Answering machines, Traffic Lights, Fax Machines, Copy Machine, Security Systems, Fire Alarms, Sprinkler Systems Shjacks45 (talk) 00:43, 29 June 2011 (UTC)

Check out the current version. Looks like the TMS 1000 beat the 8048 to market by a considerable interval. --Wtshymanski (talk) 04:22, 29 June 2011 (UTC)

Another issue in the History section, the article refers to PROM and EPROM as being exactly the same type of memory, with PROM simply missing the quartz window. This is not necessarily true. It's mostly true nowadays. But there are types of PROM (namely fuse / antifuse) that cannot be erased by UV, even if you could get it to them. These older types I would guess have been replaced by covered EPROM now, for most purposes. But they were certainly used as PROM in the past. Either cite proof on this, or take it out. Ideally, cite proof, since it's worth knowing, within the context. (talk) 18:54, 5 March 2014 (UTC)

But were fuse-type PROM ever used in a microcontroller? --Wtshymanski (talk) 23:00, 5 March 2014 (UTC)
I don't know. If nobody does, it needs to be taken out. There's no citation there. I'll leave it to someone else to do a neat and consistent job of. (talk) 22:08, 23 March 2014 (UTC)


After reading the article, I would like to point out two things.

1. Either "microcontroller" or "micro-controller" should be used throughout the article. There is no consistency.

2. I moved the history section to the top. I believe history should be there rather than at the end of the article.

ICE77 (talk) 04:44, 10 December 2011 (UTC)

Agreed, but looking over the internet, there doesn't seem to be any consistency, so it looks to be down to personal preference. (talk) 05:35, 26 June 2014 (UTC)

Relation to controller?[edit]

What is the relationship between this article and the article Controller (computing)? Are these the same concept? If not, what's the difference? If so, can the articles be merged? (talk) 06:43, 18 November 2015 (UTC)

They have the word "controller" somewhere in the name, that's it. Otherwise they're totally different.
A microcontroller is a "controller" in the sense that it's in overall control and is the "main processor" of the system. A Controller (computing) in that sense is not: it's a subordinate peripheral that interfaces some external device to the main processor.
There's also the "micro" aspect, implying that a microcontroller is built around some form of single chip-integrated microprocessor. There's no such implication for a Controller (computing), they could be built from any scale of components. Andy Dingley (talk) 10:31, 18 November 2015 (UTC)