Educational Engineering

Educational Engineering

Educational Engineering is seeking to develop the content on the internet through the dissemination of educational videos in various technical, technological and engineering fields. Follow us get new Tutorials and Lessons



Monday, November 5, 2018

Introducing the Internet of Smells

11:09 PM 0
Introducing the Internet of Smells
You may recall Smell-O-Vision from jokes on shows like Futurama and Family Matters. The idea is that you can watch movies and television shows, and smell the things that are onscreen. Strangely enough, Smell-O-Vision was a real — albeit experimental — system that made its only appearance in the 1960 film Scent of Mystery. Now, researchers are trying to bring the same concept to the internet with an Electric Smell Machine.
The lead researcher on the project is Kasun Karunanayaka, who is a senior research fellow at Malaysia’s Imagineering Institute. When the project started, Karunanayaka was working with Adrian Cheok, whose student created the electric flavor-creating chopsticks that we covered a couple of months ago. Those work by using electrical stimulation on your tongue to create a salty taste. The new Electric Smell Machine works in a similar way, except that it stimulates your olfactory senses.
The main drawback here is that it’s not enough to stimulate an area near your nose, and the Electric Smell Machine has to actually provide electrical impulses deep inside your nose. An operator shoves a tube deep inside the user’s nose, and the tube is equipped with a small camera so the operator can direct it towards the user’s olfactory cells. Electrodes on the tip of the tube to stimulate those cells with small amounts of electricity, causing the user to perceive smells. Right now, the researchers aren’t able to control the exact smells the electrodes stimulate, but further development may make that possible.

Monday, October 29, 2018

What are possible methods to communicate two microcontrollers?

1:35 AM 0
What are possible methods to communicate two microcontrollers?

What are possible methods to communicate two microcontrollers?

Two microcontrollers can exchange information using either wired or wireless protocols.
Wired include:
  • Parallel port
  • I²C (Inter-Integrated Circuit)
  • SPI (Serial Peripheral Interface)
  • UART (Universal Asynchronous Receiver-Transmitter)
  • USB (Universal Serial Bus)
  • CAN (Controller Area Network), often used in automobiles
  • LIN (Local Interconnect Network), a replacement for CAN
  • Ethernet
Of these choices, Ethernet is the fastest, with USB 3.0 next. However, most microcontrollers only support USB 2.0 high-speed, if that.
In addition to the wired protocols, there are also lots of wireless options:
Of the wireless choices, Wi-Fi is the highest speed.

By Tom Crosley, Embedded systems programmer for over 40 years

Sunday, October 28, 2018

[Certificate] Did you Get Your Certificate Yet? Come take it

9:40 PM 0
[Certificate] Did you Get Your Certificate Yet? Come take it

Certificate of Completion

[Certificate] Did you Get Your Certificate Yet? Come take it

Thanks again for taking this course. I'm sure it will help you.

Can I take 5 Minutes of Your Time?
Just a quick tip about how to get your Certificate of Completion after finishing this course.

Why would you need it you ask?
  1. You can use it to make your CV look more professional since everyone is accepting online courses as a proof of professionality nowadays (Check with the employer before).
  2. You can print it out and brag among your friends :D 
  3. It can help motivate you to finish all of my course lectures which means more knowledge to you and a reward which is a certificate to certify that you did cross the finish line.

When you complete our Udemy course, you will receive a certificate of completion, which you can share with your friends, relatives, co-workers and potential employers. Certificates of Completion help demonstrate your accomplishments.
When all the curriculum items of a course have been completed, a red or white trophy will appear on the course dashboard, signifying that the certificate of completion is ready. Click on the trophy to view the certificate.
Certificates can be saved as a .pdf or .jpg file so that you can easily share your accomplishment. In addition, certificates can be shared on Facebook, Twitter, and LinkedIn directly from Udemy. The certificate will look something like this:
Certificates of completion can be accessed at and the mobile site, but not through the mobile apps or Apple TV. If you've completed a course on the mobile app or Apple TV, please log into through a browser to access your certificate.
Please note: In Brazil, we do not offer certificates for free courses, however, all paid courses still offer a certificate of completion.

Certificate of Completion: Commonly Asked Questions

I finished my course but I still can’t access my certificate of completion. How come?
In order to receive your certificate of completion, each curriculum item must be marked as complete. Double check the course dashboard to make sure each lecture and course item has a checkmark beside it, and is marked as complete.
For steps on how to manually mark a lecture as complete, please click here.
I’ve completed my course and the trophy has appeared, but when I click on it, I can’t see a certificate. Why?
Occasionally the system may need a few moments to generate a certificate of completion, after a course has been completed. Wait a couple of minutes and then try clicking on the trophy again. You may also need to refresh the page, or clear your cache and cookies, in order to see your certificate.
How can I change the language of my certificate of completion?
Certificates of completion are generated in the same language that is set for your account. If you need to change the language of your certificate, however, you can easily do so by following these steps:
1. When all of curriculum items of a course have been completed, click the white trophy on the course dashboard to access your certificate.
2. Click on Update your certificate at the bottom right.
update_certificate.png3. Select the language you wish to change your certificate to and click Save Changes. A list of the languages we support for accounts can be viewed here.
4. We will send you an email to confirm when your updated certificate is ready. Please note it may take a few minutes to update the certificate’s language. You may need to refresh the page in order to see your updated certificate.
My certificate has my account’s username on it, instead of my real name. How can I change it?
Certificates of Completion are generated using whatever name you entered when you created your Udemy account. If you need to change the certificate’s name, navigate to your certificate and click on Update your certificate as shown above. 
Next, click Update your profile name to proceed to your profile page. Change your name there to what you want included on your certificate, and click Save. Then click Save changes on the certificate page to reset your certificate. 
We will send you an email to confirm when your updated certificate is ready. Please note it may take a few minutes to update the certificate’s name. You may need to refresh the page in order to see your updated certificate.

I'm extremely motivated in helping you grow in your career.

To Your Success,
Ashr | Educational Engineering Team Leader  

Monday, October 8, 2018

Launching Educational Engineering School

8:48 PM 0
Launching Educational Engineering School
You are taking steps to become a better Microcontroller Geek, and I want to thank you for opening this email, joining our mailing list, and being one of my students. You can expect to receive a newsletter update every once in a while when I publish new content to the website or a new Course.
NOW | Giveaway As Promised

Sunday, September 30, 2018

FREE Microcontroller Bundle Worth 645$

8:09 PM 1
FREE Microcontroller Bundle Worth 645$


Thanks for purchasing the Courses and take advantage of this OFFER, if you haven't sent us a name of the course that you want to join for FREE please do SEND it via Udemy Messages System.

Below you will find download Links for the bundle that Includes:

  • Any 1 Course of Your Choice from My Courses worth $199 Course you purchase
  • PIC Microcontroller: Learn By Practicing BOOK worth $49
  • PIC Microcontroller Training Kit (PCB Design + Schematic) worth $99
  • Microcontroller Codes + Simulation Files for 18 Practical Experiment Worth $99

- Use the password that was sent to You via Messages since this bundle is only free for People who took advantage of this special LIMITED TIME OFFER
- Most of the files require PDF Reader, MikroC Software, Proteus Simulation in Free versions to open them

Thursday, September 20, 2018

Microcontrollers and FPGAs

9:33 PM 0
Microcontrollers and FPGAs
Microcontrollers and FPGAs 

In Summary, and if you don't have much time to read details, these two pictures sum it up for you, we know that your time is important.

In my initial attempt at writing on this topic, I used to be wrestling with a way to begin. I originally had it phrased as “FPGA vs. Microcontroller”, however, the more I realized that the title was a problem because it looked as if it would imply that one was higher than the opposite. And whereas there are circumstances wherever one has a bonus, they extremely are a lot of simply totally different instead of one being “better”. thus with that, I’ll be presenting to you some info concerning FPGAs and microcontrollers, their similarities, variations, and maybe a theoretic or 2.
A field programmable gate array (FPGA) is an integrated circuit (IC) that is built with a large number of logical processing resources, or logic blocks. These logic blocks consist of digital logic components such as multiplexers, flip-flops, lookup tables, and adders. These components are not unique to FPGAs by any means, as they are some of the basic pieces required for an IC to take input and process it into some meaningful output. What makes an FPGA unique is that the logic blocks within it are built with interconnections that can be reconfigured by the user using a hardware description language (HDL), allowing for the FPGA to take on variable functionality.

A microcontroller is an IC that is essentially a tiny computer. It contains a dedicated processor core, a small amount of memory, and a specific number of I/O ports and functionality. All of this functionality on the chip is made up of the same basic components you will find in the fabric of an FPGA (multiplexers, adders, flip-flops, etc.), however, the interconnections between all of the elements in a microcontroller are fixed and cannot be reconfigured. The user can use one of a variety of software development tools for microcontrollers (provided they are compatible with the chip) to upload code to it which, similar to when you install something onto your computer, tells the microcontroller what to do.


They seem pretty similar, being made up of pretty much the same pieces. So they should be pretty similar in their usage right? Not so much.

This is an instance where the microcontroller has a decided advantage: ease of use. Anybody who is familiar with writing code, such as C, C++, Java, etc., can fairly easily write some code for a microcontroller board since there are compilers that can convert the high-level code into machine code for the microprocessor to use. Pretty much every microcontroller you can find will have at least one program you can download that will allow you to program your device via some type of high-level code. Another advantage microcontrollers have is that they are relatively cheap. Once a circuit design has been finalized, production runs of a chip benefit from economies of scale and manufacturing processes that have been refined for decades. So if you wanted to create some cool LED lighting for your room, you could just buy one of a number of microcontrollers, find some simple LED code online, plus all the pieces together correctly and voila, you’ve got a nightclub in your living room…..sort of.  To present an analogy for this task with an FPGA, it’s like buying a Caterpillar backhoe to dig a hole in a flower bed as opposed to just using a shovel.

As with most good things, however, the microcontroller has its drawbacks. For instance, the dedicated processor handles everything that you can program the microcontroller to do, meaning that all input processing and output functions go through it, creating an inherent bottleneck. This core may be very fast and may have multiple paths to allow for some parallel processes to happen, but the bottom line is that since everything goes through it, there may be certain processes that have to wait for other things to resolve.

Herein lies one of the biggest advantages of an FPGA: massive parallelism. Writing in an HDL for an FPGA lets you define the behavior of its logic blocks, of which there are many thousands. So if your design only uses a small percentage of the resources, you could create multiple instances of that design that are independent of each other, allowing you to multiply the productivity of the FPGA. For example, you could write a bit of HDL code that toggles an LED based on a combination of input signals, let's say it checks to see if a certain number of switches are on. You can create multiple instances of that module in your design, specifying a different output LED for each set of inputs. This could allow you to simultaneously monitor a handful, tens, hundreds, possibly even thousands of different input signals at the same time, independently, and none of them would have any delay in output due to the others.

Another advantage to using an FPGA is the flexibility afforded to the user to make hardware changes later. This advantage can be seen from two sides in my opinion. From the perspective of an average user (enthusiast, student) it provides you a versatile platform from which you can create all kinds of designs, from audio signal processing to making a video game controller. From the perspective of a company that makes electronic devices, the use of FPGAs can give you the ability to do things like prototyping a hardware design before mass production of an application specific integrated circuit (ASIC). Along similar lines to how car manufacturers make models in clay before any actual production runs. This kind of flexibility is pretty cool, but it’s also rather difficult to implement. The primary languages themselves (Verilog and VHDL), the slight change in mindset from writing software to writing for hardware, the large number of variables that go into designing a circuit are all factors that make someone’s first attempt at writing code for an FPGA difficult.


While this is by no means a complete list, we now have slightly filled out our diagram of differences between the two. Hopefully, this post helped clear some of the obscurity around what the differences are between these two platforms. The main theme to be taken away is that where these two devices are concerned, the question of “Which one?” is actually a matter of selecting the right tool for the job.

Monday, September 10, 2018

Fix prolific USB to serial driver error code 10 Windows 10

8:35 PM 0
Fix prolific USB to serial driver error code 10 Windows 10

Fix prolific USB to serial driver error code 10 Windows 10

Here is a video Explanation to try before going through the article

When you use the prolific devices in windows 10, there will a common error is that your devices cannot work properly because of the code 10 error. And in device manager, you will see the prolific usb to serial device as a yellow exclamation.
As you can see from your real case, you open the device manager, but to find there is a yellow exclamation next to the Prolific USB TO Serial Comm Port (COMS).
Obviously, if you double-click on it, you will see:
The Device status shows you This device cannot start. (Code 10). Now you will have known well about the troubles with the Prolific USB to the Serial driver on Windows 10.
Or sometimes, you will also see the USB mass storeage with code 10 error Make an Inquiry about this news.
The Prolific USB to serial Issue will also show messages like this:
"This Device cannot start (Code 10)"
"No driver installed for this device"
"Device driver was not successfully installed"
No matter what is the real case for you, it is urgent to solve this error code 10 instantly.
If you are more familiar with the Prolific USB to Serial drivers, maybe you can know exactly why you should take some measures at once.
What is the Prolific USB to Serial on Windows 10?
It is developed by Prolific to offer interface bridge solution to connect your legacy peripherals and application on Windows, Mac, Linux, and Android system.
Now you can know how important it is on your PC.
Why the Prolific USB to Serial error happens to Windows 10?
The Prolific 64-bit drivers that Microsoft supplies via Windows Update, Versions,, and - cannot work with most adapters, thus showing the generic "Code 10" error.
How to Fix the Prolific USB to Serial Driver cannot Start Windows 10?
On the basis of the above analysis, it is apparent that the Prolific USB to Serial Comm Port driver is the main cause of this code error 10 on Windows 10.
Therefore, resolving the Prolific USB to Serial driver issue can be the most effective and efficient methods.
Solution 1: Update Prolific USB to Serial Driver in Device Manager
Device manager is also ready for you to update all the device drivers for Windows 10, here you want to update the Prolific USB to Serial drivers is no exception.
1. Unplug all USB-To-Serial adapters from your computer.
3. Expand Ports (Com & LPT) and then right-click Prolific USB-to-Serial Comm Port (Com5) to Update Driver.
Here in your computer, maybe it is another comm port.
4. Choose to Search automatically for updated driver software.
Windows 10 will search the latest of prolific USB to the Serial driver for your PC. And with it, the code 10 error cannot start will not occurs to your Prolific USB to Serial devices.
While if your computer still cannot be installed with the newest Prolific USB to Serial drivers with this way, you can try to navigate to the Prolific official site Make an Inquiry about this news to download the recently released driver on Windows 10.
Solution 2: Update the Prolific USB to Serial Driver Automatically
Sometimes, the Prolific site will not upload the Prolific USB to USB Serial devices regularly for Windows 10. Or on the other hand, you even cannot find your device model there.
Or simply to enjoy the convenience brought by the tool — Driver Doctor. You can decide to update the prolific USB to Serial drivers in an automatic way.
1. Download and run Driver Doctor Make an Inquiry about this news on Windows 10.
2. Hit the button Scan NowGet Drivers and Download All one by one.
In this process, Driver Doctor will scan for your PC until downloading the outdated or incompatible drivers on Windows 10, including the prolific USB to Serial driver.
It will only take you little time to use Driver Doctor to download the updated Prolific USB to Serial drivers.
At this moment, you are capable of checking if there is also a warning close to the Prolific USB to Serial Comm Port in Windows 10 device manager.
Solution 3: Troubleshoot the Prolific USB to Serial Devices
If the ways above are useless for you, maybe you have to use hardware and devices troubleshooter for Windows 10 to pinpoint the causes for the code error 10 with Prolific USB to Serial Comm Port.
1. Go to Start Settings > Update & Security.
2. Under Troubleshoot, scroll down to find out Hardware and Devices to Run the troubleshooter.
This troubleshooter can let you know whether there are any problems with your Prolific USB to Serial devices.
If there are, Windows 10 can fix some the errors for you automatically.

This is it > Save 200$ By Learning! Course Completion Contest

7:56 PM 2
This is it > Save 200$ By Learning! Course Completion Contest

Hey, how are you today?
I hope that everything is fine with you, this is Ashr Educational Engineering Team Leader
Today I have a very special offer for you
The Course Completion Contest - Renewed
Last week we launched the Course Completion Contest, and students are on fire, more than 50 Students completed courses with 100% Completion rate and got to join one of our courses for free as a reward, and now it's your turn.

This is a contest that you can easily enter, you have one of my courses in your courses list and you didn't finish viewing it yet, so this is the best time to finish it and win a very huge reward when you do so.

Contest Rules: 
You have to complete watching any of my courses that you already have, watch all lectures, don't miss a single one, from start to finish so that you can get 100% Completion rate for that course.

Once You do this simple step, you will be eligible for the reward, which is
(Choose any of my courses that you don't yet have) and I will send you a Coupon to join that Course for FREE 100% OFF, You won't have to pay anything, just drop me a message with the name of the course and I will reply back with the Link to Join it for Free

That's your chance to save 200$ by just watching and reviewing a course that you already own 

Note: This is a LIMITED TIME OFFER for the FIRST 20 People to Finish the course and contacts me via messages, so Grab the chance while you still can
Happy Learning!

Thursday, September 6, 2018

This is it > Save 200$ By Learning! Course Completion Contest

9:53 PM 0
This is it > Save 200$ By Learning! Course Completion Contest
This is it > Save 200$ By Learning! Course Completion Contest

Hey, how are you today?
I hope that everything is fine with you, this is Ashr Educational Engineering Team Leader
Today I have a very special offer for you

The Course Completion Contest
This is a contest that you can easily enter, you have one of my courses in your courses list and you didn't finish viewing it yet, so this is the best time to finish it and win a very huge reward when you do so.

Contest Rules: 
1- You have to complete watching any of my courses that you already have, watch all lectures, don't miss a single one, from start to finish, so that you can get 100% Completion rate for that course.
2- Leave an honest review when Udemy asks you to do so, Don't leave an early review since I tend to provide the best stuff in the last part of my courses, so watch the whole course then add your honest review.

Once You do these two steps, you will be eligible for the reward, which is
(Choose any of my courses that you don't yet have, from this link where you can see all of my courses list: Link Click Here) and I will send you a Coupon to join that Course for FREE 100% OFF, You won't have to pay anything, just drop me a message with the name of the course and I will reply back with the Link to Join it for Free

That's you chance to save 200$ by just watching and reviewing a course that you already own

Note: This is a LIMITED TIME OFFER for the FIRST 20 People to Finish the course, review it and contact me via messages, so Grab the chance while you still can
Happy Learning!

What is the Difference between AVR, ARM, 8051 and PIC Microcontrollers

9:15 PM 0
What is the Difference between AVR, ARM, 8051 and PIC Microcontrollers

Difference between AVR, ARM, 8051 and PIC Microcontrollers

The differences between the microcontrollers are mainly included what is a microcontroller, difference between AVR, ARM, 8051 and PIC microcontrollers and its applications.

Basically, all of them do mostly the same things. It only depends on how precisely you can use them.
They differ in Memory architecture, power consumption, cost, speed etc.

  • ARM- if u need fast computing, a large number of timer and ADC's then     ARM will be suitable.
  • 8051- if u want a cheap controller with basic functions then 8051 will suffice. It will be of great use in your low-cost college projects.
  • AVR- One of the most popular categories of controller. Cheap, large number of library files, used in many robotic applications. Best for the beginners.
  • PIC- Cheap, used in refrigerators and low budget projects. I  will not advise for this because of its low community support.

8051 Microcontroller

8051 microcontroller is an 8-bit family of the microcontroller is developed by the Intel in the year 1981. This is one of the popular families of the microcontroller is being used all across the world. This microcontroller was moreover referred as “system on a chip” since it has 128 bytes of RAM, 4Kbytes of a ROM, 2 Timers, 1 Serial port, and 4 ports on a single chip. The CPU can also work for 8bits of data at a time since 8051 is an 8-bit processor. In case the data is bigger than 8 bits, then it has to be broken into parts so that the CPU can process easily. Most manufacturers contain put 4Kbytes of ROM even though the number of ROM can be exceeded up to 64 K bytes.
8051 Microcontroller
8051 Microcontroller
The 8051 has been in utilized in a wide number of devices, mostly because it is easy to integrate into a project or make a device approximately. The following are the major areas of focus:
Energy Management: Efficient metering systems facilitate in controlling energy usage in homes and manufacturing applications. These metering systems are prepared capable by incorporating microcontrollers.
Touchscreens: A high number of microcontroller providers incorporate touch-sensing capabilities in their designs. Portable electronics such as cell phones, media players and gaming devices are examples of microcontroller-based touch screens.
Automobiles: The 8051 finds wide taking in providing automobile solutions. They are broadly used in hybrid vehicles to handle engine variants. Furthermore, functions such as cruise control and anti-brake system have been prepared more capable with the use of microcontrollers.
Medical Devices: Moveable medical devices such as blood pressure and glucose monitors use microcontrollers will to show data, thus provided that higher reliability in providing medical results.

PIC Microcontroller

Peripheral Interface Controller (PIC) is microcontroller developed by a Microchip, PIC microcontroller is fast and simple to implement program when we contrast other microcontrollers like 8051. The ease of programming and simple to interfacing with other peripherals PIC become successful microcontroller.
PIC Microcontroller
PIC Microcontroller
We know that the microcontroller is an integrated chip which is consists of RAM, ROM, CPU, TIMER, and COUNTERS. The PIC is a microcontroller which as well consists of RAM, ROM, CPU, timer, counter, ADC (analog to digital converters), DAC (digital to analog converter). PIC Microcontroller also supports the protocols like CAN, SPI, UART for an interfacing with additional peripherals. PIC mostly used to modify Harvard architecture and also supports RISC (Reduced Instruction Set Computer) by the above requirement RISC and Harvard we can simply that PIC is faster than the 8051 based controllers which are prepared up of Von-Newman architecture.

AVR Microcontroller

AVR microcontroller was developed in the year of 1996 by Atmel Corporation. The structural design of AVR was developed by the Alf-Egil Bogen and Vegard Wollan. AVR derives its name from its developers and stands for Alf-Egil Bogen Vegard Wollan RISC microcontroller, also known as Advanced Virtual RISC. The AT90S8515 was the initial microcontroller which was based on the AVR architecture, though the first microcontroller to hit the commercial market was AT90S1200 in the year 1997.
AVR Microocntroller
AVR Microcontroller
AVR Microcontrollers are Available in three Categories
TinyAVR:- Less memory, small size, appropriate just for simpler applications
MegaAVR:- These are the mainly popular ones having a good quantity of memory (up to 256 KB), higher number of inbuilt peripherals and appropriate for modest to complex applications.
XmegaAVR:- Used in a commercial for complex applications, which need large program memory and high speed.

ARM Processor

An ARM processor is also one of a family of CPUs based on the RISC (reduced instruction set computer) architecture developed by Advanced RISC Machines (ARM).
ARM Microcontroller
ARM Microcontroller
An ARM makes at 32-bit and 64-bit RISC multi-core processors. RISC processors are designed to perform a smaller number of types of computer instructions so that they can operate at a higher speed, performing extra millions of instructions per second (MIPS). By stripping out unnecessary instructions and optimizing pathways, RISC processors give an outstanding performance at a part of the power demand of CISC (complex instruction set computing) procedure.
ARM processors are widely used in customer electronic devices such as smartphones, tablets, multimedia players and other mobile devices, such as wearables. Because of their reduced to the instruction set, they need fewer transistors, which enable a smaller die size of the integrated circuitry (IC). The ARM processors, smaller size reduced the difficulty and lower power expenditure makes them suitable for increasingly miniaturized devices.

Main Difference between AVR, ARM, 8051 and PIC Microcontrollers

Bus width
8-bit for standard core8/16/32-bit8/32-bit32-bit mostly also available in 64-bit
Communication Protocols
UART, USART,SPI,I2CPIC, UART, USART, LIN, CAN, Ethernet, SPI, I2SUART, USART, SPI, I2C, (special purpose AVR support CAN, USB, Ethernet)
UART, USART, LIN, I2C, SPI, CAN, USB, Ethernet, I2S, DSP, SAI (serial audio interface), IrDA
12 Clock/instruction cycle4 Clock/instruction cycle1 clock/  instruction cycle1 clock/ instruction cycle
Some feature of RISC
Memory Architecture
Von Neumann architectureHarvard architectureModifiedModified Harvard architecture
Power Consumption
8051 variantsPIC16,PIC17, PIC18, PIC24, PIC32Tiny, Atmega, Xmega, special purpose AVRARMv4,5,6,7 and series
VastVery GoodVery GoodVast
NXP, Atmel, Silicon Labs, Dallas, Cyprus, Infineon, etc.Microchip AverageAtmelApple, Nvidia, Qualcomm, Samsung Electronics, and TI etc.
         Cost (as compared to features provide)Very LowAverageAverageLow
Other Feature
Known for its StandardCheapCheap, effectiveHigh speed operation

Popular Microcontrollers
AT89C51, P89v51, etc.PIC18fXX8, PIC16f88X, PIC32MXXAtmega8, 16, 32, Arduino CommunityLPC2148, ARM Cortex-M0 to ARM Cortex-M7, etc.
Thus, this is all about the difference between AVR, ARM, 8051 and PIC microcontrollers. We hope that you have got a better understanding of this concept. Furthermore, any queries regarding this concept or electronics and electrical projects, please give your valuable suggestions by a comment in the comment section below. Here is a question for you, what are the applications of AVR and ARM?

Let's see now.
  • 8051, PIC and AVR have Harvard architecture (separate memory spaces for RAM and program memory).  ARM has von Neumann architecture (program and RAM in the same space).
  • ARM has a 16 and/or 32 bit architecture. The others are byte (8-bit) architecture.
  • 8051 and PIC have limited stack space - limited to 128 bytes for the 8051, and as little as 8 words or less for PIC. Writing a C compiler for these architectures must have been challenging, and compiler choice is limited.
  • 8051, AVR and ARM can directly address all available RAM. PIC can only directly address 256 bytes and must use bank switching to extend it, though using a C compiler conceals this. You still pay a speed penalty though.
  • 8051 and PIC need multiple clock cycles per instruction. AVR and ARM execute most instructions in a single clock cycle.
  • 8051 and AVR are sufficiently similar that an AVR can usually replace an 8051 in existing products with practically no hardware change. Some AVRs are made with 8051 pinouts to drop right in. The Reset polarity is the main difference.
  • 8051 and AVR instruction sets are different but sufficiently similar that it's possible to translate 8051 assembler to AVR assembler line by line (I have done this). Because an 8051 takes 12 (sometimes six) clocks per instruction and an AVR takes only one, you have to modify timing critical routines.
  • AVR and ARM have the best compiler and application support, including free GCC compilers.

These are just different microcontroller families.

Each family of microcontrollers has :
  • own architecture
  • registers
  • memory arrangement
  • memory addressing methods
    and other things, which results in each family has its own unique instruction set and assembly language.

AVR and ARM are newer processor family. These are likely to be more compiler-friendly, more flexible than the 8051, which is a fairly old design.

The 8051 is an 8-bit processor (it processes an 8 bit data word at a time). Many AVRs are also 8 bit, but some are 32 bit (handling 32 bits of data at a time), and ARMs are 32 bit, and are considerably more powerful than 8 bit processors.