माइक्रोकंट्रोलर

एक माइक्रोकंट्रोलर (माइक्रोकंट्रोलर यूनिट के लिए MCU) एक छोटा कंप्यूटर है जिसे वीएलएसआई (VLSI) इंटीग्रेटेड सर्किट (आईसी) चिप पर बनाया गया है। एक माइक्रोकंट्रोलर में मेमोरी और प्रोग्राम करने योग्य इनपुट/आउटपुट बाह्य उपकरणों के साथ एक या एक से अधिक CPU (प्रोसेसर कोर) होते हैं। फेरोइलेक्ट्रिक रैम (Ferroelectric RAM), एनओआर फ्लैश (NOR flash) या ओटीपी रैम (OTP ROM) के रूप में प्रोग्राम मेमोरी को अक्सर चिप पर थोड़ी मात्रा में रैम (RAM) के साथ शामिल किया जाता है। माइक्रोकंट्रोलर को एम्बेडेड अनुप्रयोगों के लिए डिज़ाइन किया गया है, जैसा कि व्यक्तिगत कंप्यूटरों में उपयोग किए जाने वाले माइक्रोप्रोसेसरों या विभिन्न असतत चिप्स से युक्त अन्य सामान्य-उद्देश्य वाले अनुप्रयोगों के लिए किया जाता है।

आधुनिक शब्दावली में, एक माइक्रोकंट्रोलर एक चिप (SoC) पर एक प्रणाली के समान है, लेकिन कम परिष्कृत है। एक SoC बाहरी माइक्रोकंट्रोलर चिप्स को मदरबोर्ड घटकों के रूप में कनेक्ट कर सकता है, लेकिन यह आमतौर पर उन्नत बाह्य उपकरणों जैसे कि ग्राफिक्स प्रोसेसिंग यूनिट (GPU) और वाई-फाई इंटरफ़ेस नियंत्रक को इसके आंतरिक माइक्रोकंट्रोलर यूनिट सर्किट के रूप में एकीकृत करता है।

माइक्रोकंट्रोलर स्वचालित रूप से नियंत्रित उत्पादों और उपकरणों में उपयोग किए जाते हैं, जैसे ऑटोमोबाइल इंजन नियंत्रण प्रणाली, प्रत्यारोपण योग्य चिकित्सा उपकरण, रिमोट कंट्रोल, कार्यालय मशीन, उपकरण, बिजली उपकरण, खिलौने और अन्य अंतः स्थापित प्रणालियाँ। एक अलग माइक्रोप्रोसेसर, मेमोरी और इनपुट/आउटपुट डिवाइस का उपयोग करने वाले संरचनाओं की तुलना में आकार और लागत को कम करके, माइक्रोकंट्रोलर इसे डिजिटल रूप से उपकरणों और प्रक्रियाओं को नियंत्रित करने के लिए और भी अधिक किफायती बनाते हैं। मिश्रित-संकेत माइक्रोकंट्रोलर सामान्य हैं, गैर-डिजिटल इलेक्ट्रॉनिक सिस्टम को नियंत्रित करने के लिए आवश्यक एनालॉग घटकों को एकीकृत करते हैं। चीजों की इंटरनेट के संदर्भ में, माइक्रोकंट्रोलर डेटा संग्रह, संवेदन और भौतिक दुनिया को एज उपकरण के रूप में लागू करने का एक किफायती और लोकप्रिय साधन है।

कुछ माइक्रोकंट्रोलर चार-बिट शब्दों का उपयोग कर सकते हैं और कम बिजली की खपत (एकल-अंक मिलिवाट या माइक्रोवाट) के लिए कम से कम 4 KHz आवृत्तियों पर काम कर सकते हैं। वे आम तौर पर एक बटन प्रेस या अन्य रुकावट जैसी घटना की प्रतीक्षा करते समय कार्यक्षमता बनाए रखने की क्षमता रखते हैं; सोते समय बिजली की खपत (सीपीयू घड़ी और अधिकांश बाह्य उपकरण बंद) सिर्फ नैनोवाट हो सकते हैं, जिससे उनमें से कई लंबे समय तक चलने वाले बैटरी अनुप्रयोगों के लिए उपयुक्त हो जाते हैं। अन्य माइक्रोकंट्रोलर प्रदर्शन-महत्वपूर्ण भूमिका निभा सकते हैं, जहां उन्हें उच्च घड़ी की गति और बिजली की खपत वाले डिजिटल सिग्नल प्रोसेसर (DSP) की तरह कार्य करने की आवश्यकता हो सकती है।

पृष्ठभूमि
पहला मल्टी-चिप माइक्रोप्रोसेसर, 1969 में फोर-फेज सिस्टम AL1 और 1970 में गैरेट एरिसर्च MP944, कई एमओएस एलएसआई (MOS LSI) चिप्स के साथ विकसित किए गए थे। पहला सिंगल-चिप माइक्रोप्रोसेसर इंटेल 4004 था, जिसे 1971 में एकल एमओएस एलएसआई (MOS LSI) चिप पर जारी किया गया था। इसे फेडरिको फागिन ने इंटेल इंजीनियरों मार्सियन हॉफ और स्टेन माजोर के साथ विकसित किया था, और बुसीकॉम इंजीनियर मासातोशी शिमा ने अपनी सिलिकॉन-गेट एमओएस ( silicon-gate MOS) तकनीक का उपयोग किया था। इसके बाद 4-बिट इंटेल 4040, 8-बिट इंटेल 8008 और 8-बिट इंटेल 8080 थे। इन सभी प्रोसेसरों को मेमोरी और पेरीफेरल इंटरफेस चिप्स सहित एक कार्य प्रणाली को लागू करने के लिए कई बाहरी चिप्स की आवश्यकता होती है। परिणामस्वरूप, सिस्टम की कुल लागत कई सौ (1970 USD) थी, जिससे छोटे उपकरणों को आर्थिक रूप से कम्प्यूटरीकृत करना असंभव हो गया।

एमओएस टेक्नोलॉजी ने 1975, 6501 और 6502 में अपने उप-$ 100 माइक्रोप्रोसेसरों को पेश किया। उनका मुख्य उद्देश्य इस लागत बाधा को कम करना था, लेकिन इन माइक्रोप्रोसेसरों को अभी भी बाहरी समर्थन, मेमोरी और परिधीय चिप्स की आवश्यकता थी, जिससे कुल सिस्टम लागत सैकड़ों डॉलर में आ गई।

विकास
एक पुस्तक 1971 में पहले माइक्रोकंट्रोलर के सफल निर्माण का श्रेय TI इंजीनियरों गैरी बूने और माइकल कोचरन को देती है। उनके काम के परिणामस्वरूप TMS 1000 हुआ, जो 1974 में व्यावसायिक रूप से उपलब्ध हो गया। इसने केवल-पढ़ने के लिए मेमोरी, रीड / राइट मेमोरी, प्रोसेसर को जोड़ा। और एक ही चिप पर घड़ी और अंतर्निहित प्रणाली पर लक्षित थी। 1970 के दशक की शुरुआत में, जापानी इलेक्ट्रॉनिक्स निर्माताओं ने ऑटोमोबाइल के लिए माइक्रोकंट्रोलर का उत्पादन शुरू किया, जिसमें कार में मनोरंजन के लिए 4-बिट एमसीयू, स्वचालित वाइपर, इलेक्ट्रॉनिक लॉक और डैशबोर्ड और इंजन नियंत्रण के लिए 8-बिट एमसीयू शामिल थे। आंशिक रूप से सिंगल-चिप टीएमएस 1000 के अस्तित्व के जवाब में, इंटेल ने नियंत्रण अनुप्रयोगों के लिए अनुकूलित चिप पर एक कंप्यूटर सिस्टम विकसित किया, इंटेल 8048, वाणिज्यिक भागों के साथ पहली बार 1977 में शिपिंग किया गया। यह माइक्रोप्रोसेसर के साथ सिंगल चिप पर रैम (RAM) और रोम (ROM) को जोड़ती है। कई अनुप्रयोगों में, यह चिप अंततः एक बिलियन से अधिक पीसी (PC) कीबोर्ड में अपना रास्ता खोज लेगी। उस समय इंटेल के अध्यक्ष वैलेंटर ने कहा कि माइक्रोकंट्रोलर कंपनी के इतिहास में सबसे सफल उत्पादों में से एक था, और माइक्रोकंट्रोलर डिवीजन के बजट को 25% से अधिक बढ़ा दिया।

इस समय अधिकांश माइक्रोकंट्रोलर्स के समवर्ती रूप थे। एक में पैकेज के ढक्कन में एक पारदर्शी क्वार्ट्ज विंडो के साथ EPROM प्रोग्राम मेमोरी होती है, जिससे इसे पराबैंगनी प्रकाश के संपर्क से मिटाया जा सके। ये इरेज़ेबल चिप्स अक्सर प्रोटोटाइप के लिए उपयोग किए जाते थे। दूसरा संस्करण या तो एक मुखौटा-क्रमादेशित ROM या एक PROM संस्करण था जो केवल एक बार प्रोग्राम करने योग्य था। उत्तरार्द्ध के लिए, कभी-कभी पदनाम ओटीपी (OTP) का उपयोग किया जाता था, जो "वन-टाइम प्रोग्रामेबल" के लिए खड़ा था। एक OTP माइक्रोकंट्रोलर में, PROM आमतौर पर EPROM के समान प्रकार का होता है, लेकिन चिप पैकेज में कोई क्वार्ट्ज विंडो नहीं होती है; क्योंकि EPROM को पराबैंगनी प्रकाश के संपर्क में लाने का कोई तरीका नहीं था, इसलिए इसे मिटाया नहीं जा सकता था। चूंकि इरेज़ेबल संस्करणों में क्वार्ट्ज खिड़कियों के साथ सिरेमिक पैकेज की आवश्यकता होती है, वे ओटीपी संस्करणों की तुलना में काफी अधिक महंगे थे, जो कम लागत वाले अपारदर्शी प्लास्टिक पैकेज में बनाए जा सकते थे। इरेज़ेबल वेरिएंट के लिए, कम खर्चीले ग्लास के बजाय, पराबैंगनी प्रकाश में पारदर्शिता के लिए क्वार्ट्ज की आवश्यकता होती थी - जिसमें ग्लास काफी हद तक अपारदर्शी होता है - लेकिन मुख्य लागत अंतर सिरेमिक पैकेज ही था।

1993 में, EEPROM मेमोरी की शुरूआत ने माइक्रोकंट्रोलर्स (माइक्रोचिप PIC16C84 के साथ शुरुआत) को EPROM के लिए आवश्यक महंगे पैकेजों के बिना विद्युत रूप से और जल्दी से मिटाने की अनुमति दी, जिससे रैपिड प्रोटोटाइप और इन-सिस्टम प्रोग्रामिंग दोनों की अनुमति मिली। (इस समय से पहले EEPROM तकनीक उपलब्ध थी, लेकिन पहले वाला EEPROM अधिक महंगा और कम टिकाऊ था, जिससे यह कम लागत वाले बड़े पैमाने पर उत्पादित माइक्रोकंट्रोलर के लिए अनुपयुक्त हो गया।) उसी वर्ष, एटमेल ने फ्लैश मेमोरी के उपयोग की शुरुआत की। पहले माइक्रोकंट्रोलर का परिचय दिया, एक विशेष प्रकार का EEPROM। अन्य कंपनियों ने जल्दी से दोनों प्रकार की मेमोरी के साथ इसका अनुसरण किया।

इन दिनों माइक्रोकंट्रोलर सस्ते हैं और शौक़ीन लोगों के लिए आसानी से उपलब्ध हैं, कुछ प्रोसेसर के आसपास बड़े ऑनलाइन समुदायों के साथ हैं।

वॉल्यूम और लागत
2002 में, दुनिया में बिकने वाले सभी CPU में से लगभग 55% 8-बिट माइक्रोकंट्रोलर और माइक्रोप्रोसेसर थे। 1997 में दो अरब से अधिक 8-बिट माइक्रोकंट्रोलर बेचे गए, और सेमको के अनुसार, 2006 में चार अरब से अधिक 8-बिट माइक्रोकंट्रोलर बेचे गए। हाल ही में, सेमको ने दावा किया कि एमसीयू बाजार में 36.5% की वृद्धि हुई है। 2010 में और 2011 में 12%।

एक विकसित देश में एक विशिष्ट घर में केवल चार सामान्य-उद्देश्य वाले माइक्रोप्रोसेसर होने की संभावना होती है, लेकिन लगभग तीन दर्जन माइक्रोकंट्रोलर। एक सामान्य मिड-रेंज ऑटोमोबाइल में लगभग 30 माइक्रोकंट्रोलर होते हैं। वे कई विद्युत उपकरणों जैसे वाशिंग मशीन, माइक्रोवेव ओवन और टेलीफोन में भी पाए जा सकते हैं।

निर्माण लागत US$0.10 प्रति यूनिट जितनी कम हो सकती है।

समय के साथ लागत में गिरावट आई है, 2018 में सबसे सस्ता 8-बिट माइक्रोकंट्रोलर यूएस $ 0.03, के तहत उपलब्ध है और कुछ 32-बिट माइक्रोकंट्रोलर समान राशि के लिए लगभग यूएस $ 1 के लिए उपलब्ध हैं।

2012 में, एक वैश्विक संकट के बाद - सबसे खराब वार्षिक बिक्री में गिरावट और वसूली और औसत बिक्री कीमतों में 17% साल-दर-साल गिरावट - 1980 के दशक के बाद से सबसे बड़ी कमी - एक माइक्रोकंट्रोलर के लिए औसत मूल्य US$0.88 (US$0.69) था 4-/8-बिट था, 16-बिट के लिए US$0.59, 32-बिट के लिए US$1.76।

2012 में, 8-बिट माइक्रोकंट्रोलर की दुनिया भर में बिक्री लगभग 4 बिलियन अमेरिकी डॉलर थी, जबकि 4-बिट माइक्रोकंट्रोलर ने भी महत्वपूर्ण बिक्री देखी। 2015 में, 8-बिट माइक्रोकंट्रोलर US$0.311 (1,000 यूनिट), 16-बिट US$0.385 (1,000 यूनिट), और US$0.378 के लिए 32-बिट (1,000 इकाइयां, लेकिन 5,000 के लिए US$0.358)।

2018 में, 8-बिट माइक्रोकंट्रोलर US$0.03, 16-बिट US$0.393 (1,000 यूनिट, लेकिन US$0.563 के लिए 100 या US$0.349 के लिए 2,000), और 32-बिट में खरीदे जा सकते हैं। US$0.503 के लिए (1,000 इकाइयां, लेकिन 5,000 अमेरिकी डॉलर 0.466 पर)।

2018 में, 2015 से ऊपर की कम कीमत वाले माइक्रोकंट्रोलर अधिक महंगे थे (उन विशिष्ट इकाइयों के लिए 2018 और 2015 की कीमतों के बीच मुद्रास्फीति की गणना के साथ): 8-बिट माइक्रोकंट्रोलर की लागत US $ 0.319 (1,000 यूनिट) या 2.6% अधिक के लिए खरीदी जा सकती है। यूएस$0.464 (1,000 यूनिट) के लिए 16-बिट या 21% अधिक, और यूएस $0.503 के लिए 32-बिट (1,000 यूनिट, लेकिन 5,000 के लिए यूएस $0.466), या 33% अधिक।



सबसे छोटा कंप्यूटर
21 जून 2018 को, इसे मिशिगन विश्वविद्यालय द्वारा "दुनिया का सबसे छोटा कंप्यूटर" घोषित किया गया था। यह उपकरण एक "0.04 mm3 16 एनडब्ल्यू वायरलेस और बैटरी रहित सेंसर सिस्टम है जिसमें एक एकीकृत कोर्टेक्स-एम0+ प्रोसेसर और सेलुलर तापमान माप के लिए ऑप्टिकल संचार है।" यह "माप केवल 0.3 मिमी(mm) - चावल के दाने से बौना। [...] RAM और फोटोवोल्टिक के अलावा, नए कंप्यूटिंग उपकरणों में प्रोसेसर और वायरलेस ट्रांसमीटर और रिसीवर होते हैं। चूंकि वे पारंपरिक रेडियो एंटेना के लिए बहुत छोटे हैं, इसलिए वे दृश्य प्रकाश के साथ डेटा प्राप्त करते हैं और प्रसारित करते हैं। एक बेस स्टेशन प्रोग्रामिंग के लिए शक्ति और प्रकाश प्रदान करता है, और यह डेटा प्राप्त करता है। उपकरण का आकार मार्च 2018 में आईबीएम के पहले दावा किए गए विश्व-रिकॉर्ड आकार के कंप्यूटर का 1⁄10 वां है, जो नमक के दाने से छोटा है, जिसमें दस लाख ट्रांजिस्टर हैं, जिसकी लागत निर्माण के लिए $0.10 से कम है, और, ब्लॉकचैन प्रौद्योगिकी के साथ मिलकर, रसद और "क्रिप्टो-एंकर" -डिजिटल फिंगरप्रिंट अनुप्रयोगों के लिए अभिप्रेत है।

अंतर्निहित संरचना
एक माइक्रोकंट्रोलर को एक प्रोसेसर, मेमोरी और पेरिफेरल्स के साथ एक स्व-निहित सिस्टम के रूप में माना जा सकता है और इसे एक अंतर्निहित प्रणाली के रूप में इस्तेमाल किया जा सकता है। आज उपयोग में आने वाले अधिकांश माइक्रोकंट्रोलर अन्य मशीनरी, जैसे ऑटोमोबाइल, टेलीफोन, उपकरण और कंप्यूटर सिस्टम के लिए बाह्य उपकरणों में अंतर्निहित होते हैं।

जबकि कुछ अंतर्निहित प्रणाली बहुत परिष्कृत हैं, कई में मेमोरी और प्रोग्राम की लंबाई के लिए न्यूनतम आवश्यकताएं होती हैं, बिना ऑपरेटिंग सिस्टम और कम सॉफ्टवेयर जटिलता के। विशिष्ट इनपुट और आउटपुट डिवाइस में स्विच, रिले, सोलनॉइड, एलईडी, छोटे या कस्टम लिक्विड-क्रिस्टल डिस्प्ले, रेडियो फ़्रीक्वेंसी डिवाइस, और डेटा के लिए सेंसर जैसे तापमान, आर्द्रता, प्रकाश स्तर आदि शामिल हैं। अंतर्निहित प्रणाली में आमतौर पर कोई कीबोर्ड, स्क्रीन, डिस्क नहीं होते हैं।, प्रिंटर, या व्यक्तिगत कंप्यूटर के अन्य पहचाने जाने योग्य I/O उपकरण, और इसमें किसी भी प्रकार के मानवीय संपर्क उपकरणों की कमी हो सकती है।

अवरोध
माइक्रोकंट्रोलर्स को उनके द्वारा नियंत्रित अंतर्निहित प्रणाली में घटनाओं के लिए वास्तविक समय (अनुमानित, हालांकि जरूरी नहीं कि तेजी से) प्रतिक्रिया प्रदान करनी चाहिए। जब कुछ घटनाएं होती हैं, तो एक इंटरप्ट सिस्टम प्रोसेसर को वर्तमान निर्देश अनुक्रम को संसाधित करने और एक इंटरप्ट सर्विस रूटीन (आईएसआर, या "इंटरप्ट हैंडलर") शुरू करने के लिए संकेत दे सकता है जो पहले अवरोध के स्रोत के आधार पर आवश्यक किसी भी प्रोसेसिंग को निष्पादित करेगा। मूल निर्देश क्रम में लौटना। संभावित रुकावट स्रोत डिवाइस पर निर्भर होते हैं, और इसमें अक्सर एक आंतरिक टाइमर ओवरफ्लो, डिजिटल रूपांतरण के लिए एक एनालॉग को पूरा करने, एक इनपुट पर एक तर्क स्तर परिवर्तन जैसे कि एक बटन दबाए जाने से, और एक संचार लिंक पर प्राप्त डेटा जैसी घटनाएं शामिल होती हैं। जहां बैटरी उपकरणों की तरह बिजली की खपत महत्वपूर्ण है, इंटरप्ट भी कम-शक्ति वाली नींद की स्थिति से एक माइक्रोकंट्रोलर को जगा सकता है जहां प्रोसेसर को तब तक रोका जाता है जब तक कि एक परिधीय घटना द्वारा कुछ करने की आवश्यकता न हो।

कार्यक्रम
आमतौर पर माइक्रो-कंट्रोलर प्रोग्राम को उपलब्ध ऑन-चिप मेमोरी में फिट होना चाहिए क्योंकि बाहरी, विस्तार योग्य मेमोरी के साथ सिस्टम को प्रदान करना महंगा होगा। माइक्रोकंट्रोलर की मेमोरी में स्टोरेज के लिए हाई-लेवल और असेंबली लैंग्वेज कोड दोनों को एक कॉम्पैक्ट मशीन कोड में बदलने के लिए कंपाइलर्स और असेंबलर का इस्तेमाल किया जाता है। डिवाइस के आधार पर, प्रोग्राम मेमोरी स्थायी, रीड-ओनली मेमोरी हो सकती है जिसे केवल फैक्ट्री में प्रोग्राम किया जा सकता है, या यह फील्ड-वेरिएबल फ्लैश या इरेज़ेबल रीड-ओनली मेमोरी हो सकती है।

लक्ष्य प्रणाली के हार्डवेयर और सॉफ़्टवेयर विकास में सहायता के लिए निर्माताओं ने अक्सर अपने माइक्रोकंट्रोलर के विशेष संस्करण तैयार किए। मूल रूप से इनमें EPROM संस्करण शामिल थे, जिसमें डिवाइस के शीर्ष पर एक "विंडो" थी, जिसके माध्यम से प्रोग्राम मेमोरी को पराबैंगनी प्रकाश द्वारा मिटाया जा सकता था, प्रोग्रामिंग ("बर्न") के लिए तैयार और एक परीक्षण चक्र के बाद पुन: प्रोग्रामिंग है। 1998 के बाद से, EPROM संस्करण दुर्लभ हैं और EEPROM और Flash द्वारा प्रतिस्थापित किए गए हैं, जो उपयोग में आसान (इलेक्ट्रॉनिक रूप से मिटाए जा सकते हैं) और निर्माण के लिए सस्ते हैं।

अन्य संस्करण उपलब्ध हो सकते हैं जहां ROM को आंतरिक मेमोरी के बजाय बाहरी उपकरण के रूप में एक्सेस किया जाता है, हालांकि, सस्ते माइक्रोकंट्रोलर प्रोग्रामर की व्यापक उपलब्धता के कारण ये तेजी से दुर्लभ होते जा रहे हैं।

माइक्रोकंट्रोलर पर फ़ील्ड-प्रोग्राम करने योग्य उपकरणों का उपयोग फ़र्मवेयर के फ़ील्ड अपडेट या उन उत्पादों के लिए देर से फ़ैक्टरी संशोधन की अनुमति दे सकता है जिन्हें इकट्ठा किया गया है लेकिन अभी तक शिप नहीं किया गया है। प्रोग्राम करने योग्य मेमोरी एक नए उत्पाद के परिनियोजन के लिए आवश्यक लीड समय को भी कम करती है।

जहां सैकड़ों हजारों समान उपकरणों की आवश्यकता होती है, निर्माण के समय प्रोग्राम किए गए भागों का उपयोग करना किफायती हो सकता है। इन "मास्क क्रमादेशित" भागों में चिप के तर्क के समान ही प्रोग्राम सेट होता है।

एक अनुकूलित माइक्रोकंट्रोलर में डिजिटल तर्क का एक ब्लॉक शामिल होता है जिसे अतिरिक्त प्रसंस्करण क्षमता, बाह्य उपकरणों और इंटरफेस के लिए वैयक्तिकृत किया जा सकता है जो कि एप्लिकेशन की आवश्यकताओं के लिए सर्वोत्तम रूप से अनुकूलित होते हैं। एक उदाहरण Atmel से AT91CAP है।

अन्य माइक्रोकंट्रोलर विशेषताएं
माइक्रोकंट्रोलर में आम तौर पर कई से दर्जनों सामान्य प्रयोजन इनपुट/आउटपुट पिन (जीपीआईओ) होते हैं। GPIO पिन एक इनपुट या आउटपुट स्थिति के लिए सॉफ्टवेयर विन्यास योग्य हैं। जब GPIO पिन को एक इनपुट स्थिति में कॉन्फ़िगर किया जाता है, तो वे अक्सर सेंसर या बाहरी संकेतों को पढ़ने के लिए उपयोग किए जाते हैं। आउटपुट स्थिति के लिए कॉन्फ़िगर किया गया, GPIO पिन बाहरी उपकरणों जैसे कि LED या मोटर्स को चला सकता है, अक्सर अप्रत्यक्ष रूप से बाहरी पावर इलेक्ट्रॉनिक्स के माध्यम से।

कई अंतर्निहित प्रणाली को ऐसे नियंत्रक पढ़ने की आवश्यकता होती है जो एनालॉग सिग्नल उत्पन्न करते हैं। एनालॉग-टू-डिजिटल कनवर्टर (एडीसी) का यही उद्देश्य है। चूंकि प्रोसेसर डिजिटल डेटा, यानी 1s और 0s को समझने और संसाधित करने के लिए बनाए गए हैं, इसलिए वे एनालॉग सिग्नल के साथ कुछ भी करने में सक्षम नहीं हैं जो इसे एक डिवाइस द्वारा भेजा जा सकता है। इसलिए एक एनालॉग-टू-डिजिटल कनवर्टर का उपयोग आने वाले डेटा को एक ऐसे रूप में परिवर्तित करने के लिए किया जाता है जिसे प्रोसेसर पहचान सकता है। कुछ माइक्रोकंट्रोलर्स पर एक कम आम विशेषता एक डिजिटल-से-एनालॉग कनवर्टर (डीएसी) है जो प्रोसेसर को एनालॉग सिग्नल या वोल्टेज स्तर को आउटपुट करने की अनुमति देता है।

कन्वर्टर्स के अलावा, कई एम्बेडेड माइक्रोप्रोसेसर में विभिन्न प्रकार के टाइमर भी शामिल हैं। सबसे सामान्य प्रकार के टाइमर में से एक प्रोग्रामेबल इंटरवल टाइमर (पीआईटी) है। एक पीआईटी या तो शून्य से अतिप्रवाह तक उलटी गिनती कर सकता है, कुछ मान से शून्य तक या गिनती रजिस्टर की क्षमता तक। एक बार जब यह शून्य पर पहुंच जाता है, तो यह प्रोसेसर को एक व्यवधान भेजता है जो दर्शाता है कि उसने गिनती पूरी कर ली है। यह थर्मोस्टैट्स जैसे उपकरणों के लिए उपयोगी है, जो समय-समय पर अपने आस-पास के तापमान का परीक्षण यह देखने के लिए करते हैं कि क्या उन्हें एयर कंडीशनर को चालू/बंद करने, हीटर को चालू/बंद करने की आवश्यकता है, आदि।

एक पल्स-चौड़ाई मॉडुलन (पीडब्लूएम) ब्लॉक सीपीयू के लिए एक तंग टाइमर लूप में कई सीपीयू (CPU) संसाधनों का उपयोग किए बिना बिजली कन्वर्टर्स, प्रतिरोधी भार, मोटर्स इत्यादि को नियंत्रित करना संभव बनाता है।

एक यूनिवर्सल एसिंक्रोनस रिसीवर/ट्रांसमीटर (यूएआरटी) ब्लॉक सीपीयू पर बहुत कम लोड के साथ एक सीरियल लाइन पर डेटा प्राप्त करना और प्रसारित करना संभव बनाता है। समर्पित ऑन-चिप हार्डवेयर में अक्सर अंतर-एकीकृत सर्किट (I²C), सीरियल पेरिफेरल इंटरफ़ेस (SPI), यूनिवर्सल सीरियल बस (USB), और ईथरनेट जैसे डिजिटल प्रारूपों में अन्य उपकरणों (चिप्स) के साथ संचार करने की क्षमता शामिल होती है।

उच्च एकीकरण
माइक्रो-कंट्रोलर बाहरी एड्रेस या डेटा बस को लागू नहीं कर सकते क्योंकि वे सीपीयू के समान चिप पर रैम और गैर-वाष्पशील मेमोरी को एकीकृत करते हैं। कम पिनों का प्रयोग करके, चिप को बहुत छोटे, सस्ते पैकेज में रखा जा सकता है।

स्मृति और अन्य बाह्य उपकरणों को एक चिप पर एकीकृत करना और उन्हें एक इकाई के रूप में परीक्षण करना उस चिप की लागत को बढ़ाता है, लेकिन अक्सर समग्र रूप से एम्बेडेड सिस्टम की शुद्ध लागत में कमी आती है। भले ही एकीकृत बाह्य उपकरणों वाले सीपीयू की लागत सीपीयू और बाहरी बाह्य उपकरणों की लागत से थोड़ी अधिक हो, कम चिप्स होने से आमतौर पर एक छोटा और सस्ता सर्किट बोर्ड मिलता है और सर्किट बोर्ड को इकट्ठा करने और परीक्षण करने के लिए आवश्यक श्रम को कम करता है, इसके अलावा तैयार असेंबली के लिए दोष दर को कम करने के लिए।

एक माइक्रोकंट्रोलर एक एकल एकीकृत परिपथ होता है, जिसमें सामान्यतः निम्नलिखित विशेषताएं होती हैं: यह एकीकरण चिप्स की संख्या और तारों और सर्किट बोर्ड स्थान की मात्रा को काफी कम कर देता है जो अलग चिप्स का उपयोग करके समकक्ष सिस्टम बनाने के लिए आवश्यक होंगे। इसके अलावा, विशेष रूप से कम पिन संख्या वाले उपकरणों पर, प्रत्येक पिन सॉफ्टवेयर द्वारा चुने गए पिन फ़ंक्शन के साथ कई आंतरिक बाह्य उपकरणों के साथ इंटरफेस कर सकता है। यह एक हिस्से को विभिन्न प्रकार के अनुप्रयोगों में उपयोग करने की अनुमति देता है, अगर पिन में समर्पित कार्य हैं।
 * केंद्रीय प्रसंस्करण इकाई - छोटे और साधारण 4-बिट प्रोसेसर से लेकर जटिल 32-बिट या 64-बिट प्रोसेसर तक।
 * डेटा भंडारण के लिए अस्थिर मेमोरी (RAM)।
 * ROM, EPROM, EEPROM या प्रोग्राम और ऑपरेटिंग पैरामीटर स्टोरेज के लिए फ्लैश मेमोरी।
 * असतत इनपुट और आउटपुट बिट्स, एक व्यक्तिगत पैकेज पिन की तर्क स्थिति को नियंत्रित या पता लगाने की अनुमति देता है।
 * सीरियल इनपुट/आउटपुट जैसे सीरियल पोर्ट (यूएआरटी)।
 * सिस्टम इंटरकनेक्ट के लिए आई²सी, सीरियल पेरिफेरल इंटरफेस और कंट्रोलर एरिया नेटवर्क जैसे अन्य सीरियल संचार इंटरफेस।
 * टाइमर, इवेंट काउंटर, पीडब्लूएम जेनरेटर और वॉचडॉग जैसे बाह्य उपकरणों।
 * घड़ी जनरेटर - क्वार्ट्ज समय क्रिस्टल, अनुनादक यंत्र या अक्सर आरसी सर्किट के लिए एक कांपनेवाला।
 * कई में एनालॉग-टू-डिजिटल कन्वर्टर्स शामिल हैं, कुछ में डिजिटल-से-एनालॉग कन्वर्टर्स शामिल हैं।
 * इन-सर्किट प्रोग्रामिंग और इन-सर्किट डीबगिंग सहयोग।

माइक्रो-नियंत्रक 1970 के दशक में अपनी शुरूआत के बाद से अन्तर्निहित प्रणाली में बेहद लोकप्रिय साबित हुए हैं।

कुछ माइक्रोकंट्रोलर हार्वर्ड आर्किटेक्चर का उपयोग करते हैं: निर्देशों और डेटा के लिए अलग मेमोरी बसें, एक्सेस को समवर्ती रूप से करने की अनुमति देती हैं। जहां हार्वर्ड आर्किटेक्चर का उपयोग किया जाता है, प्रोसेसर के लिए निर्देश शब्द आंतरिक मेमोरी और रजिस्टरों की लंबाई की तुलना में भिन्न बिट आकार के हो सकते हैं; उदाहरण के लिए: 12-बिट निर्देश 8-बिट डेटा रजिस्टरों के साथ प्रयोग किए जाते हैं।

किस परिधीय को एकीकृत करने का निर्णय अक्सर मुश्किल होता है। माइक्रोकंट्रोलर विक्रेता अक्सर समय-दर-बाजार आवश्यकताओं और समग्र कम सिस्टम लागत के खिलाफ अपने ग्राहकों से ऑपरेटिंग आवृत्तियों और सिस्टम डिज़ाइन लचीलेपन का व्यापार करते हैं। निर्माताओं को अतिरिक्त कार्यक्षमता के मुकाबले चिप के आकार को कम करने की आवश्यकता को संतुलित करना होगा।

माइक्रोकंट्रोलर आर्किटेक्चर व्यापक रूप से भिन्न है। कुछ डिज़ाइनों में सामान्य-उद्देश्य वाले माइक्रोप्रोसेसर कोर शामिल हैं, जिसमें एक या अधिक ROM, RAM, या I/O फ़ंक्शन पैकेज में एकीकृत होते हैं। अन्य डिजाइन उद्देश्य नियंत्रण अनुप्रयोगों के लिए बनाए गए हैं। एक माइक्रो-कंट्रोलर निर्देश सेट में आमतौर पर नियंत्रण कार्यक्रमों को अधिक कॉम्पैक्ट बनाने के लिए बिट मैनिपुलेशन (बिट-वार संचालन) के लिए कई निर्देश होते हैं। उदाहरण के लिए, एक सामान्य-उद्देश्य वाले प्रोसेसर को बिट सेट होने पर एक रजिस्टर और शाखा में थोड़ा परीक्षण करने के लिए कई निर्देशों की आवश्यकता हो सकती है, जबकि एक माइक्रोकंट्रोलर के पास सामान्य रूप से आवश्यक फ़ंक्शन प्रदान करने के लिए एक ही निर्देश हो सकता है।

माइक्रोकंट्रोलर्स में परंपरागत रूप से गणित का सहसंसाधक नहीं होता है, इसलिए फ्लोटिंग-पॉइंट अंकगणित सॉफ्टवेयर द्वारा किया जाता है। हालांकि, कुछ हालिया डिजाइनों में एफपीयू और डीएसपी-अनुकूलित विशेषताएं शामिल हैं। एक उदाहरण माइक्रोचिप का PIC32 MIPS- आधारित लाइन होगा।

प्रोग्रामिंग परिवेश
माइक्रोकंट्रोलर्स को मूल रूप से केवल असेंबली भाषा में प्रोग्राम किया गया था, लेकिन विभिन्न उच्च-स्तरीय प्रोग्रामिंग भाषाएं, जैसे कि सी, पायथन और जावास्क्रिप्ट, अब सामान्य उपयोग में हैं, माइक्रोकंट्रोलर और एम्बेडेड सिस्टम को लक्षित करते हैं। सामान्य-उद्देश्य वाली भाषाओं के लिए कंपाइलरों में आमतौर पर कुछ प्रतिबंध और साथ ही माइक्रोकंट्रोलर की अनूठी विशेषताओं का बेहतर समर्थन करने के लिए एन्हांसमेंट भी होंगे। कुछ माइक्रोकंट्रोलर में कुछ प्रकार के अनुप्रयोगों के विकास में सहायता के लिए वातावरण होते हैं। माइक्रोकंट्रोलर विक्रेता अक्सर अपने हार्डवेयर को अपनाना आसान बनाने के लिए टूल को स्वतंत्र रूप से उपलब्ध कराते हैं।

विशेष हार्डवेयर वाले माइक्रोकंट्रोलर्स को सी की अपनी गैर-मानक बोलियों की आवश्यकता हो सकती है, जैसे कि 8051 के लिए एसडीसीसी, जो मानक उपकरण (जैसे कोड लाइब्रेरी या स्थिर विश्लेषण उपकरण) को हार्डवेयर सुविधाओं से असंबंधित कोड के लिए भी उपयोग करने से रोकता है। है। दुभाषियों में गैर-मानक विशेषताएं भी हो सकती हैं, जैसे कि माइक्रोपायथन, हालांकि एक कांटा, सर्किटपाइथन, ने हार्डवेयर निर्भरता को पुस्तकालयों में ले जाते हुए देखा है और भाषा को अधिक C पाइथन (CPython) मानक का पालन करते हैं।

दुभाषिया फर्मवेयर कुछ माइक्रोकंट्रोलर के लिए भी उपलब्ध है। उदाहरण के लिए, प्रारंभिक माइक्रोकंट्रोलर Intel 8052 पर BASIC; ज़िलोग जेड 8 के साथ-साथ कुछ आधुनिक उपकरणों पर मूल और आगे। ये दुभाषिए आमतौर पर इंटरेक्टिव प्रोग्रामिंग का समर्थन करते हैं।

कुछ माइक्रोकंट्रोलर्स के लिए सिमुलेटर उपलब्ध हैं। ये एक डेवलपर को यह विश्लेषण करने की अनुमति देते हैं कि यदि वे वास्तविक भाग का उपयोग कर रहे थे तो माइक्रोकंट्रोलर और उनके कार्यक्रम का व्यवहार क्या होना चाहिए। एक सिम्युलेटर आंतरिक प्रोसेसर स्थिति और आउटपुट की स्थिति दिखाएगा, साथ ही इनपुट सिग्नल उत्पन्न करने की अनुमति देगा। जबकि एक ओर अधिकांश सिमुलेटर सिस्टम में अन्य हार्डवेयर का अनुकरण करने में असमर्थ होने से सीमित होंगे, वे ऐसी परिस्थितियों का प्रयोग कर सकते हैं जो भौतिक कार्यान्वयन में इच्छा पर पुन: उत्पन्न करना मुश्किल हो सकता है और समस्याओं को डीबग और विश्लेषण करने का सबसे तेज़ तरीका हो सकता है।

हाल के माइक्रोकंट्रोलर को अक्सर ऑन-चिप डिबग सर्किटरी के साथ एकीकृत किया जाता है, जब JTAG के माध्यम से एक इन-सर्किट एमुलेटर (ICE) द्वारा एक्सेस किया जाता है, तो फर्मवेयर को डीबगर के साथ डीबग करने की अनुमति देता है। एक रीयल-टाइम ICE चलने के दौरान आंतरिक स्थिति को देखने और/या उनमें हेरफेर करने की अनुमति दे सकता है। एक ट्रेसिंग ICE एक ट्रिगर पॉइंट से पहले/बाद में निष्पादित प्रोग्राम और MCU राज्यों को रिकॉर्ड कर सकता है।

प्रकार
2008 तक, कई दर्जन माइक्रोकंट्रोलर आर्किटेक्चर और विक्रेता शामिल हैं:


 * एआरएम (ARM) कोर प्रोसेसर (कई विक्रेता)।
 * एआरएम कॉर्टेक्स-एम (ARM Cortex-M ) कोर विशेष रूप से माइक्रोकंट्रोलर अनुप्रयोगों की ओर लक्षित होते हैं।
 * माइक्रोचिप प्रौद्योगिकी (Microchip Technology) Atmel AVR (8-बिट), AVR32 (32-बिट), और AT91SAM (32-बिट)।
 * सरू सेमीकंडक्टर का M8C कोर उनके PSoC (Programmable System-on-Chip) में उपयोग किया जाता है।
 * फ्रीस्केल कोल्डफायर (Freescale ColdFire) (32-बिट) और S08 (8-बिट)।
 * फ्रीस्केल 68HC11 (8-बिट), और मोटोरोला 6800 परिवार पर आधारित अन्य।
 * Intel 8051, NXP सेमीकंडक्टर्स, Infineon और कई अन्य लोगों द्वारा भी निर्मित किया गया है।
 * Infineon: 8-बिट XC800, 16-बिट XE166, 32-बिट XMC4000 (ARM आधारित कोर्टेक्स M4F), 32-बिट ट्राईकोर और, 32-बिट ऑरिक्स ट्राइकोर बिट माइक्रोकंट्रोलर [30]।
 * मैक्सिम इंटीग्रेटेड (Maxim Integrated) MAX32600, MAX32620, MAX32625, MAX32630, MAX32650, MAX32640।
 * एमआईपीएस (MIPS)।
 * माइक्रोचिप प्रौद्योगिकी PIC, (8-बिट PIC16, PIC18, 16-बिट dsPIC33 / PIC24), (32-बिट PIC32)।
 * NXP सेमीकंडक्टर्स LPC1000, LPC2000, LPC3000, LPC4000 (32-बिट), LPC900, LPC700 (8-बिट)।
 * लंबन प्रोपेलर (Parallax Propeller)।
 * पावरपीसी आईएसई (PowerPC ISE)।
 * रैबिट (Rabbit) 2000 (8-बिट)।
 * रेनेसा इलेक्ट्रॉनिक्स (Renesas Electronics): RL78 16-बिट MCU; आरएक्स 32-बिट एमसीयू; सुपरएच; V850 32-बिट एमसीयू; एच8; R8C 16-बिट MCU।
 * सिलिकॉन प्रयोगशाला पाइपलाइन किए गए 8-बिट 8051 माइक्रोकंट्रोलर और मिश्रित-संकेत एआरएम (ARM)-आधारित 32-बिट माइक्रोकंट्रोलर।
 * एसटीएमइक्रोइलेक्ट्रॉनिक्स (STMicroelectronics) STM8 (8-बिट), ST10 (16-बिट), STM32 (32-बिट), SPC5 (ऑटोमोटिव 32-बिट)।
 * टेक्सास इंस्ट्रूमेंट्स (Texas Instruments ) TI MSP430 (16-बिट), MSP432 (32-बिट), C2000 (32-बिट)।
 * तोशिबा (Toshiba) TLCS-870 (8-बिट/16-बिट)।

कई अन्य मौजूद हैं, जिनमें से कुछ अनुप्रयोगों की एक बहुत ही संकीर्ण श्रेणी में उपयोग किए जाते हैं या माइक्रोकंट्रोलर की तुलना में एप्लिकेशन प्रोसेसर की तरह अधिक होते हैं। कई विक्रेताओं, प्रौद्योगिकियों और बाजारों के साथ माइक्रोकंट्रोलर बाजार अत्यधिक खंडित है। ध्यान दें कि कई विक्रेता कई आर्किटेक्चर बेचते हैं या रखते हैं।

रुकावट विलंबता
सामान्य-उद्देश्य वाले कंप्यूटरों के विपरीत, अंतर्निहत प्रणाली में उपयोग किए जाने वाले माइक्रोकंट्रोलर अक्सर निर्देश थ्रूपुट पर इंटरप्ट लेटेंसी को अनुकूलित करने का प्रयास करते हैं। मुद्दों में विलंबता को कम करना, और इसे और अधिक अनुमानित बनाना (वास्तविक समय नियंत्रण का समर्थन करने के लिए) दोनों शामिल हैं।

जब कोई इलेक्ट्रॉनिक उपकरण रुकावट का कारण बनता है, तो संदर्भ स्विच के दौरान व्यवधान को संभालने के लिए जिम्मेदार सॉफ़्टवेयर को चलाने से पहले मध्यवर्ती परिणाम (रजिस्टर) को सहेजना पड़ता है। इंटरप्ट हैंडलर समाप्त होने के बाद उन्हें भी बहाल किया जाना चाहिए। यदि अधिक प्रोसेसर रजिस्टर हैं, तो इस सेव-एंड-रिस्टोर प्रक्रिया में अधिक समय लग सकता है, जिससे विलंबता बढ़ जाती है। (यदि किसी ISR को कुछ रजिस्टरों के उपयोग की आवश्यकता नहीं है, तो यह उन्हें सहेजने और पुनर्स्थापित करने के बजाय उन्हें अकेला छोड़ सकता है, इसलिए उस स्थिति में वे रजिस्टर विलंबता से संबद्ध नहीं हैं।) ऐसे संदर्भ/विलंबता को कम करने के तरीकों में अपेक्षाकृत कम रजिस्टर शामिल हैं। उनकी केंद्रीय प्रसंस्करण इकाइयों में (अवांछनीय है क्योंकि यह अधिकांश गैर-बाधित प्रसंस्करण को धीमा कर देता है), या कम से कम हार्डवेयर उन सभी को नहीं बचाता है (यदि यह विफल हो जाता है यदि सॉफ़्टवेयर को शेष "मैन्युअल रूप से" सहेजकर क्षतिपूर्ति करने की आवश्यकता है)। एक अन्य तकनीक में "शैडो रजिस्टर" पर सिलिकॉन गेट्स खर्च करना शामिल है: एक या एक से अधिक डुप्लिकेट रजिस्टर केवल इंटरप्ट सॉफ़्टवेयर द्वारा उपयोग किए जाते हैं, शायद एक समर्पित स्टैक का समर्थन करते हैं।

रुकावट विलंबता को प्रभावित करने वाले अन्य कारकों में शामिल हैं:
 * वर्तमान सीपीयू (CPU) गतिविधियों को पूरा करने के लिए साइकिलों की आवश्यकता होती है। उन लागतों को कम करने के लिए, माइक्रोकंट्रोलर के पास छोटी पाइपलाइनें (अक्सर तीन निर्देश या उससे कम) होती हैं, और छोटे राइट बफ़र्स होते हैं और यह सुनिश्चित करते हैं कि लंबे निर्देश लगातार या पुनरारंभ करने योग्य हैं। आरआईएससी डिजाइन सिद्धांत यह सुनिश्चित करते हैं कि अधिकांश निर्देश समान संख्या में चक्र लेते हैं, इस तरह की निरंतरता/पुनरारंभ तर्क की आवश्यकता से बचने में मदद करते हैं।
 * किसी भी महत्वपूर्ण सेगमेंट की लंबाई जिसे बाधित करने की आवश्यकता है। महत्वपूर्ण अनुभाग तक पहुंच समवर्ती डेटा संरचना पहुंच को प्रतिबंधित करती है। जब एक डेटा संरचना को एक इंटरप्ट हैंडलर द्वारा एक्सेस किया जाना चाहिए, तो महत्वपूर्ण खंड को उस इंटरप्ट को अवरुद्ध करना होगा। तदनुसार, रुकावट विलंबता तब तक बढ़ जाती है जब तक रुकावट अवरुद्ध है। जब सिस्टम विलंबता पर कठिन बाहरी बाधाएं होती हैं, तो डेवलपर्स को अक्सर इंटरप्ट लेटेंसी को मापने और यह पहचानने के लिए टूल की आवश्यकता होती है कि कौन से महत्वपूर्ण वर्ग मंदी का कारण बनते हैं।
 * एक सामान्य तकनीक महत्वपूर्ण खंड की अवधि के लिए सभी व्यवधानों को रोकना है। इसे लागू करना आसान है, लेकिन कभी-कभी महत्वपूर्ण खंड असुविधाजनक रूप से लंबे हो जाते हैं।
 * एक अधिक जटिल तकनीक केवल उन व्यवधानों को रोकती है जो उस डेटा संरचना तक पहुंच को ट्रिगर कर सकते हैं। यह अक्सर इंटरप्ट प्राथमिकताओं पर आधारित होता है, जो प्रासंगिक सिस्टम डेटा संरचनाओं के अनुरूप नहीं होते हैं। तदनुसार, इस तकनीक का उपयोग ज्यादातर बहुत ही सीमित वातावरण में किया जाता है।
 * प्रोसेसर में कुछ महत्वपूर्ण वर्गों के लिए हार्डवेयर समर्थन हो सकता है। उदाहरणों में एक शब्द के भीतर बिट्स या बाइट्स के लिए परमाणु पहुंच का समर्थन करना, या अन्य परमाणु एक्सेस प्राइमेटिव जैसे कि LDREX/STREX एक्सक्लूसिव एक्सेस प्राइमेटिव्स को ARMv6 आर्किटेक्चर में पेश किया गया है।
 * नेस्टिंग को बाधित करें । कुछ माइक्रोकंट्रोलर उच्च प्राथमिकता वाले इंटरप्ट को कम प्राथमिकता वाले इंटरप्ट द्वारा बाधित होने की अनुमति देते हैं। यह सॉफ़्टवेयर को कम-महत्वपूर्ण लोगों की तुलना में समय-महत्वपूर्ण इंटरप्ट को उच्च प्राथमिकता (और इस प्रकार कम और अधिक अनुमानित विलंबता) देकर विलंबता का प्रबंधन करने की अनुमति देता
 * उत्प्रेरक दर। जब इंटरप्ट बैक-टू-बैक होते हैं, तो माइक्रोकंट्रोलर टेल कॉल ऑप्टिमाइज़ेशन के एक रूप द्वारा एक अतिरिक्त संदर्भ सेव / रिस्टोर साइकल से बच सकते हैं।

निचले सिरे वाले माइक्रोकंट्रोलर उच्च अंत वाले की तुलना में कम इंटरप्ट लेटेंसी नियंत्रणों का समर्थन करते हैं।

मेमोरी प्रौद्योगिकी
आमतौर पर माइक्रोकंट्रोलर के साथ दो अलग-अलग प्रकार की मेमोरी का उपयोग किया जाता है, फर्मवेयर को स्टोर करने के लिए एक गैर-वाष्पशील मेमोरी और अस्थायी डेटा के लिए एक रीड-राइट मेमोरी।

डेटा
सबसे पुराने माइक्रोकंट्रोलर से लेकर आज तक, छह-ट्रांजिस्टर SRAM का उपयोग लगभग हमेशा रीड/राइट वर्किंग मेमोरी के रूप में किया जाता है, रजिस्टर फ़ाइल में प्रति बिट कुछ और ट्रांजिस्टर का उपयोग किया जाता है।

SRAM के अलावा, कुछ माइक्रोकंट्रोलर्स में डेटा संग्रहण के लिए आंतरिक EEPROM भी होता है; और यहां तक कि जिनके पास कोई (या पर्याप्त नहीं) नहीं है, वे अक्सर बाहरी सीरियल EEPROM चिप (जैसे कि बेसिक स्टैम्प) या बाहरी सीरियल फ्लैश मेमोरी चिप से जुड़े होते हैं।

2003 में शुरू होने वाले कुछ माइक्रोकंट्रोलर्स में "सेल्फ-प्रोग्रामेबल" फ्लैश मेमोरी होती है।

फर्मवेयर
फ़र्मवेयर को स्टोर करने के लिए सबसे पुराने माइक्रोकंट्रोलर्स ने मास्क ROM का इस्तेमाल किया। बाद के माइक्रोकंट्रोलर (जैसे कि फ्रीस्केल 68HC11 के शुरुआती संस्करण और शुरुआती PIC माइक्रोकंट्रोलर) में EPROM मेमोरी थी, जो यूवी लाइट के माध्यम से इरेज़र की अनुमति देने के लिए एक पारभासी विंडो का इस्तेमाल करती थी, जबकि प्रोडक्शन वर्जन में ऐसी कोई विंडो नहीं थी, जो OTP (वन-टाइम-प्रोग्रामेबल) हो।. फर्मवेयर अपडेट माइक्रोकंट्रोलर को बदलने के बराबर थे, इस प्रकार कई उत्पाद अपग्रेड करने योग्य नहीं थे।

मोटोरोला MC68HC805[6] फर्मवेयर को स्टोर करने के लिए EEPROM का उपयोग करने वाला पहला माइक्रोकंट्रोलर था। EEPROM माइक्रोकंट्रोलर 1993 में अधिक लोकप्रिय हो गए जब माइक्रोचिप ने PIC16C84 पेश किया और एटमेल ने एक 8051-कोर माइक्रोकंट्रोलर पेश किया जो फर्मवेयर को स्टोर करने के लिए NOR फ्लैश मेमोरी का उपयोग करने वाला पहला था। आज के माइक्रोकंट्रोलर लगभग सभी फ्लैश मेमोरी का उपयोग करते हैं, कुछ मॉडल FRAM का उपयोग करते हैं और कुछ अल्ट्रा-कम लागत वाले हिस्से अभी भी OTP या मास्क ROM का उपयोग करते हैं।

यह भी देखें

 * सामान्य माइक्रोकंट्रोलर्स की सूची
 * वाई-फाई माइक्रोकंट्रोलर्स की सूची
 * ओपन-सोर्स हार्डवेयर प्रोजेक्ट्स की सूची
 * माइक्रोबोटिक्स
 * निर्देशयोग्य तर्क नियंत्रक
 * सिंगल-बोर्ड माइक्रोकंट्रोलर