High Frequency PCB

Hi Guys! I hope you are enjoying life and getting most out of it. In terms of ease of use and availability, some components and devices become the integral part of electronics, PCB is one of them. PCB not only removes the need of end to end wiring, but it also covers less space and weight and turns out to be less costly. Today, I am going to add High Frequency PCB in our descriptive list of articles related to PCB and its types. High Frequency PCB is a type of PCB which is widely used in applications involving special signal transmission between objects. It is available in frequency range of 500MHz to 2GHz and is an ideal choice for mobile, microwave, radio frequency and high speed design applications. If you are interested in embedded system, then you can use Proteus Ares to design your PCB. I'll try to cover whole topic related to High Frequency PCB from every aspect so you can grab the main concept very easily. Let's dive in and explore what is High Frequency PCB and how it has affected electronic industry?

High Frequency PCB

  • We are familiar with the word PCB, some of you who are not, it is an acronym of Printed Circuit Board which uses conductive tracks and paths to electronically connect different components on the board.
  • Copper is used to provide conductive path on the board which is laminated on the substrate material which is mostly made up of epoxy resin.
  • Signal communication plays a vital role in electronic projects specially when it comes to WiFi and satellite system.
  • Where there is a need of signal communication between two objects, there is a need of high frequency boards.
  • High Frequency PCB is a type of PCB used for signal transmission  in the variety of applications including mobile, microwave, radio frequency and high speed design applications.
  • High Frequency boards come with high frequency laminates are difficult to fabricate because they need to maintain thermal heat transfer of the application, in view of the sensitivity of the signal.
  • Special materials are used to attain the high frequency given by the High Frequency PCB.
  • Characteristics of the high frequency board can effect the overall performance of the signal, similarly any change in the Er value of the materials used can widely impact the impedance of the board.
  • Most of the professionals prefer rogers dielectric material because it turns out to be less expensive, have low DK and DF value, reduced signal loss and appears to be suitable for fabrication and prototyping applications.
  • Teflon is another common material used in the manufacturing process of the high frequency PCB, which comes with frequency of 5GHz.
  • Some people are concerned about if FR4 can be used for RF applications? FR4 can be used in many applications requiring 1GHz to 10GHz frequency. But these FR4 based products come with their own drawbacks and limitations, they fail badly when high frequency is required for the signal transmission.
  • In terms of DK, DF and water absorption factor, Teflon is the best, but more expensive than FR4.
  • If your projects requires frequency more than 10GHz with higher quality and stable signal, then Teflon is the best choice.
  • High frequency signals are vulnerable to noise and come with much tighter impedance tolerance as compared to conventional circuit boards.
  • However, proper bend radius and accurate ground plans on impedance traces can help you design a product that can work in an effective way.
  • By considering the certain parameters like coefficient of thermal expansion, dielectric constant, dissipation factor, temperature coefficient, thermal coefficient and quality of the material used can help the manufacturer design a final product that resonates with the client's needs and expectations.
  • Ground plane is an important part in high speed design applications, because it not only retains the quality of the signal but also helps in reducing EMI emissions. It works nicely by providing controlled impedance traces that resonate with load and electrical source. It plays an important role in keep the signal connected with their return path.
  • If you are interested to make PCB design by yourself, you can choose any of these top 10 PCB designing software. 
Prior Considerations
  • The development of layout design is the most crucial part in making high speed products.
  • If you are not expert in designing a layout design, you must have few words with the person who is going to make your layout design.
  • Simple measures taken in the early stage can save you bunch of time in the later stage in case any remaking of the layout design is required.
  • Give proper instructions and guidance to the layout designer so he can incorporate your idea in real time.
  • Your instructions must include the sketch of the board, number of layers and signal layers on the board, thickness of the board, location of critical components on the board, location of bypassing components and the nature of critical traces, and the distance between the traces and the components, infact each and every thing you must keep in handy before you look for layout designer.
How to Pick a PCB Material
  • Before you pick High Frequency PCB and suitable material for your project, you must take few things into considerations:
  • Dielectric constant is the ability of material to store energy in the electric field. It is dependent on the direction of the material i.e. it will change as the axis of the material changes. It must be small enough so it delivers stable input in order to avoid any delay in the transmission signal.
  • Similarly, Dissipation Factor must be small, because high DF can severely effect the quality of the transmission signal. So less DF will pertain to less signal wastage.
  • Loss Tangent is another factor based on the moleculer structure of the material that can effect the RF material containing high frequencies. However, it is not of much concern for the low frequency signals.
  • Proper spacing is very important in terms of cross talk and skineffect. Crosstalk happens when board starts interacting with itself and pertains to undesired coupling with their own components. In order to avoid crosstalk, distance between trace and plane must be minimum.
  • Skineffect is directly connected with the resistance of the traces. It starts increasing when resistance increases which ultimately results in warming the board.So trace width and length must be selected in a way that it can not effect the board at higher frequencies.
  • Smaller diameter vias come with low conductance and are most suitable as frequency go higher.
  • Higher the value of Peel off resistance, impact endurance, and heat resistance, the better the quality of the signal.
  • Coefficient of thermal expansion defines the effect of temperature on the size of the material. It widely effects on the drilling and assembly process of the PCB, because slight change in temperature can severely alter the size of the material. The thermal expansion of the copper foil must be same, because difference in thermal expansion may result in the separation of copper foil, in case material is subjected to changing temperature.
  • Environment is a big concern in which your device is operating. If your device is going to be used in Lab or indoor environment then moisture won't be a big issue. Problem arises when your device exposes in wet environment. So, water absorption of the material should be low, because high absorption factor may alter the DF and DK value in the moisture.
Following are some materials that can be used for high frequency:
  • Rogers 4350B HF
  • Rogers RO3001
  • Rogers RO3003
  • Taconic RF-35 Ceramic
  • Taconic TLX
  • ISOLA IS620 E-fibre glass
  • ARLON 85N
Once the design and material selection have been completed, designers strive to start a manufacturing process while keeping the key process variables in consideration such as maintaining the line width and dielectric spacing to ensure the robust design that resonates with the design requirements and delivers consistent performance in most effective and reliable way. You can also get benefit of online PCB design services, here are top online PCB design services. 
How to Create Controlled Impedance Transmission Lines
  • Development of controlled impedance transmission lines is very important in order to avoid any signal loss.
  • There are two common ways to make controlled impedance transmission lines named as Microstrip and Stripline methods.
  • Microstrip is the existence of the trace on the top layer that comes with a ground plane below.
  • Calculating the impedance of a mircostrip is little bit tricky and complex though and depends on various factors including relative permitivity of the board material, thickness and width of the trace and its height above the plane. In order to achieve better result, ground plane must be closer to the top layer.
  • Stripline is another addition to control impedance which is quite identical to microstirp with one exception i.e.it comes with an extra group plane on the top of the trace.
  • In this case, trace must be placed between the layers of two planes.
  • Stripline is better as compared to microstrip because it has an ability to contain EMI radiation within the two planes.
Applications
  • High Frequency Products can be observed in number of applications including advanced communications systems, and industrial and medical applications.
  • Similarly cell phones, GPS receiver, RF remote control, ZigBee make use of high speed products for better signal transmission.
  • High speed test equipments are comprised of high speed products that provide better performance throughout the life span of the application.
  • Airborne and Ground based radar systems are a true example of high speed circuits.
The demand of high speed products is on the rise in electronic industry. They meet the requirements of the customers where regular circuit boards fail to deliver efficiently. However, you can choose any of these different types of PCBs based on your needs and requirements. If you feel skeptical or have any question you can approach me in the comment section below. We go extra mile to help resolve the queries of the visitors. Feel feel to keep us updated with your valuable feedback and suggestions, they allow us to give your quality work so you keep coming back for what we have to offer. Stay Tuned!

Rigid Flex PCB

Hey Friends! I hope you all are doing great and having fun with your lives. Today, I am going to give a detailed Introduction to Rigid Flex PCB. It is a type of PCB that comes with a combination of Flexible PCB and Rigid PCB, providing both flexibility and strength to the board.

It makes use of flexible layers of substrate material which are connected together using a pre-preg film which is then attached to a rigid board, keeping the precision and accuracy intact. I'll try to cover each and every aspect related to rigid-flex PCB so you find all information in one place. Let's dive in and explore what is it about and what are its main applications?

What is Rigid Flex PCB?

  • Before we explore what is Rigid-Flex PCB, we must have a clear idea of what is PCB?
  • PCB is an acronym of Printed Circuit Board which uses conductive traces and paths incorporated on a single board to electrically connect different components on the board.
  • Copper foil is used to provide a conductive path which is laminated on a substrate material that is often composted of epoxy resin.
  • Rigid Flex PCB is a combination of rigid and flex circuits which provide both flexibility and strength to the board.
  • It is mainly composed of a flexible layer of substrate material which is joined together with the help of pre-preg bonding film and then attached to a rigid circuit board.
  • This unified circuit is connected with the help of through holes and it ideally manipulates the advantages of both rigid and flex circuits where rigid portion provides a reasonable area for component density and a flexible portion is used for maintaining a connection with the rigid portion.
  • The main reasons for creating rigid flex circuit are improved flexibility, reduced flex thickness and lower part cost.
  • In the past, most professionals developed a rigid-flex design by joining two rigid boards with the flex cable.
  • This idea was acceptable for short-run designs, also this approach involved the cost of connectors and the cost of assembling connectors on the board.
  • Also joining the rigid board with flexible connectors result in the formation of electrically cold joints, which leads to malfunction. This resulted in the development of rigid-flex boards.
  • Rigid-Flex circuits come with high component density, and are prerequisites for the applications where using flex and rigid circuits separately are unable to fulfill the requirement of the project.
  • Rigid and Flex PCB are joined together to shape multiple designs, where rigid part provides extra support and flex circuit provides a mix of softness and delicacy.
  • In Rigid-Flex PCB, the Flexible PCB is normally a Single-Sided PCB while the Rigid PCB could be MultiLayer PCB.

Rigid-Flex PCB Manufacturing Process

  • Manufacturing rigid flex design is more complex than that of a simple rigid design because 3D space is required in order to develop a rigid-flex design.
  • The base material of the rigid portion is composed of FR4 and the flex portion is made up of polyimide and after that copper foil and coverlay bonding film are applied.
  • In the first step of manufacturing rigid flex PCB, available adhesives are applied on a copper layer.
  • After that thin layer of copper foil is laminated on the adhesives. Copper plating can also be used in place of the lamination process.
  • The next step involves the drilling of a small hole on the flex substrate. Laser drilling is most suitable for creating precise and accurate holes.
  • Copper is deposited into the holes when they are drilled into the flex pattern. This process is called through-hole plating in which copper is chemically plated.
  • In the next step, Photosensitive etch resist coating is applied on the flex surface. The curtain coat method is ideal for this process.
  • The copper film is properly etched once the coating is applied. After that, etch resist is removed from the circuit board.
  • In the next step, coverlay protection is applied on the top and bottom layers of the flex substrate. Polyimide material is an ideal choice for use as a coverlay protection.
  • Blanking is the next step in which flex substrate is cut based on the design requirements. Die set and Hydraulic punch are the most commonly used processes for cutting the flex. These methods involve the cutting of multiple flexes with high precision and accuracy.
  • In the final step, a flex board, made from the blanking process, is laminated between the rigid layers which result in the final product that can be electrically tested to make it available for the electronic purpose.
  • These rigid flex designs are made in 3D space which provides them an ability to twist, turn and fold into any shape like flexible circuits based on design requirements.
  • These 3D requirements are prerequisites for creating an accurate design because the final product enclosure comes with a rigid flex design that is attached to a number of surfaces.
  • This attachment may be the result of the product assembly process. It is better to create a mechanical mock-up that covers the final product within the enclosure.
The following figure shows the 2 layers rigid with 1 flex layer circuit board:
  • Following figure shows the 3 layers rigid with 1 flex layer board:
  • This process of covering the finished product must be precise and accurate, so the finished assembly can be analyzed carefully.
  • In rigid flex design, the layers are not uniformly distributed over the whole design, the layers used in a rigid portion of the board are not identical to the layers used in the flex portion of the board.
  • Proper measurements taken in the early stage of rigid flex design result in significant advantages. Because final rigid flex product involves the bending of flex portions which results in the damage of flex lamination.
  • In order to create a flawless design, the fabrications process and design process must resonate with each other so the final product is produced without much hassle, covering the main issues like quality control and material handling.
  • Rigid-flex processing is more challenging and demanding than fabricating rigid boards because it involves delicate soldering and etching processes than rigid boards.
  • You should also have a look at PCB Designing in Proteus ARES if interested in PCB Designing.

Advantages of Rigid-Flex PCB

  • Rigid flex design is prone to test conditions. A simple test is enough to check the quality of the board before installing it on the project.
  • Rigid Flex boards come with less assembly and logistical cost.
  • Using rigid flex boards, the complexity of designs can be altered or modified which gives the freedom for providing better housing solutions.
  • Space issues are removed by applying 3D space.
  • Less weight is another important feature of rigid flex design that ultimately results in less overall project weight because no connectors and cables are required to join the rigid parts of the board.
  • Fewer solder joints provide higher connection efficiency.
  • Here's a list of Top 10 PCB Designing Software.

Applications

  • These PCBs are widely used in many electronic products ranging from intermediate to complex circuitry including aerospace systems, military weapons, digital cameras and cell phones.
  • Less weight and space requirement makes these rigid flex circuits an ideal choice for medical applications such as pacemakers.
  • Rigid Flex PCBs are extensively used in IoT Projects, Embedded Projects etc.

That's all for today. I hope you have enjoyed the article. I have tried my best to give you the most relevant information related to rigid flex PCB. However, if still you feel skeptical or have any questions, you can ask me in the comment section below. I'd love to help you according to the best of my expertise. Feel free to keep us updated with your valuable feedback and suggestions, they allow us to give you quality work that resonates with your needs and requirements. Thanks for reading the article. Stay Tuned!

Rigid PCB

Hello Friends! We always strive to give you quality work that matches with your expectations and helps you stand out from others. Today, I am going to unlock the details on the Introduction to Rigid PCB. It is a type of regular PCB which can not be twisted or folded like Flexible PCB because it comes with FR4 stiffener which is very useful for the added amount of stiffness and rigidity. I'll try cover each and everything related to rigid PCB so you can get some valuable information and compare it with other PCBs available in the market. You should also read Different Types of PCB, if you wanna read about other PCB types. Let's dive in and explore what is this about and what are its main applications?

Rigid PCB

  • Rigid PCB is a type of regular PCB which can not be twisted or folded into any shape because it comes with FR4 stiffener which is very useful for added amount of stiffness and rigidity.
  • Rigid PCB is made up of copper trances and paths which are incorporated on a single board in order to connect the different components on the board. The base material of the board is made of rigid substrate which gives rigidity and strength to the board.
  • Computer motherboard is an ideal example of rigid PCB that comes with rigid substrate material.
  • Once the rigid PCBs are manufactured they can not be modified or folded into any other shape.
  • Rigid PCBs are cheap as compared to flexible PCBs. They are traditional forms of PCBs and widely used in many electronics products.
  • In terms of ease of use and availability, both flexible and rigid PCBs come with own limitations and benefits and both are used to connect multiple electronic components on the board.
  • If you are planning to design PCB then you should have a look at these Top Online PCB Design Services.
  • There are also different software available which can be used to design these PCBs, for example:
    • Altium
    • Proteus
    • EasyPC
  • I personally use Proteus software and I have also shared PCB Designing in Proteus ARES.

Composition of Rigid PCB

Rigid PCB is made up of different layers that are joined together using adhesive and heat, providing a solid shape to board material. Following layers are used to develop a rigid PCB.
Substrate Layer
  • Substrate layer, also referred base material, is made of fiber glass.
  • The FR4 is mostly used as a substrate material which a most common fiber glass that provides rigidity and stiffness to the board.
  • Phenilcs and epoxies are also used as a base material but they are not as good as FR4, however, they are less expensive and feature unique bad smell.
  • Decomposition temperature of phenolics is too low that results in delamination of the layer if solder is placed for long duration of time.
Copper Layer
  • On the top of substrate layer, there resides a copper foil which is laminated on the board with the help of added amount heat and adhesive.
  • In common use, both sides of the board are laminated with copper, however, some cheap electronics come with only one layer of copper material on the board.
  • Different boards come with different thickness which is described in ounces per square foot.
Solder Mask Layer
  • Solder Mask Layer houses above the copper layer.
  • This layer is added on the board to add insulation on the copper layer in order to avoid any damage in case any conduction material is touched with the copper layer.
Silkscreen Layer
  • Silkscreen layer is located above solder mask layer.
  • It is used to add characters or symbol on the board that provide better understanding of the board.
  • White color is mostly used for silkscreen however, other colors are also available including grey, red black and yellow.
Comparison between Rigid And Flex PCBs
  • Most of the electronics made use of traditional rigid PCB. However, technology has been evolved and many products abandoned rigid PCBs because of their inability to get folded or twisted. This has erupted the idea of flexible PCB and soon it became the prerequisite for most of the professionals in the market.
  • Manufacturing process of both rigid and flexible PCBs is same with some exceptions in terms of their flexibility, softness and cost.
  • Some extra measures are required for processing flex PCB when it comes to material handling. Also proper specifications are required in order to avoid any cracked solder joints when the board is bent.
  • Flexible PCBs are most costly than rigid PCBs, however, we are referring here individual cost of the flexible PCB, it may happen the overall cost of the project using rigid PCB is higher than the cost of the flexible PCB, but individual cost of flexible PCB will be higher.
  • Many cheap electronics make use of rigid PCBs including audio keyboards, desktop devices, solid state drives, toys and many electronic gadgets. However, flex circuits are observed in ultra high performance device because they don't involve connectors also thinner than rigid boards and can be used in smart phones, cameras, tablets and GPS control system.
  • Both rigid and flexible boards can be incorporated together to construct a unified product that comes with both strength and flexibility.
  • Some flex PCBs follow the same design as rigid circuit design but they are not completely identical to the rigid circuit boards.
  • Flexible PCBs provide flexible and bending solutions and they also require less space and are mostly Single Sided PCB.
Applications
  • A computer motherboard is a perfect example of rigid PCB which is a Multilayer Rigid PCB, used to distribute electricity from power supply, and creates a conducting path between CPU, GPU and RAM.
  • Rigid PCBs are manufactured in volumes and once they are designed, they can not be altered or modified and remain same throughout the entire life span of the project on which they are placed.
  • Some low cost products make use rigid PCBs like toys, ,electronics gadgets, desktop devices and solid state devices.
  • You should also have a look at Double Sided PCB, these are also Rigid PCBs.
That's all for today. I hope you have enjoyed the article. We always strive to give you quality work based on your needs and expectations. Feel free to keep us updated with your feedback and suggestions, they help us to provide you information that resonates with your field of work and keeps you coming back for what we have to offer. If you have any question related to this article, you can ping me a message in the comment section below, I'd love to help you according to best of my expertise. Thanks very much for reading the article. Stay Tuned!

Top Online PCB Design Services

Hi Guys! I hope you are doing great and having fun with your lives. Our job is to keep you undated with useful information so you keep coming back for what we have to offer. Today, I'm going to unlock the details on the Top Online PCB Design Services. These online services not only help in designing PCB layout design but also come with a remarkable simulation capability. Before we proceed, you can have a look at Rigid and Flexible PCB articles, that I have updated a while ago, so you get clear idea what will be your fabricating material after you complete making PCB design. Let's dive in and explore how these services are beneficial for the people looking for online help for designing PCB.

Top Online PCB Design Services

  • There are lot of online services which help in creating PCB layout design and some are better than others and provide quick and easy solution that resonates with your needs and expectations.
  • Creating PCB design using PCB software is becoming obsolete as it is very difficult to anticipate steps for making PCB layout design, but online PCB design services provide quick solution and instant help long after the project has been completed.
  • Based on your design, you can fabricate single sided, double sided or multilayer PCB.
  • Most of the online PCB layout design services are open source so they provide every thing you need to create your own PCB layout design.
  • Following are the few online services which are quick, user friendly and provide a quick solution to your problem.
1. EasyEDA - Online PCB Design and Circuit Simulator
  • Whenever it comes to top notch customer service and drawing quick schematic, EasyEDA tops the list.
  • It comes with powerful PCB layout and simulation capability that makes it stand out from others.
  • Drawing a schematic using libraries on browser is just one click away, giving you the flexibility to modify your PCB design into any shape.
  • Multiple layers and thousands of pads available, you can work and create layout seamlessly.
  • This online service also gives you the opportunity to import files from various PCB layout designing software including LTspice, Kicad, Eagle and many more.
  • While you are in a process of making layout, you come with an option of communicating and collaborating with other members who are expert in electronic engineering design.
  • Being an open source hardware gives an opportunity to import your own common libraries.
  • Once your schematic and PCB layout is created you can share it with other members, and you can also make private sharing options secure and protected.
  • No matter where are you located, you can approach this online service with windows, Mac, PC, Linux.
  • This service is hosted on multiple servers which feature complete security and come with complete back up files.
  • Project files can be stored on cloud servers which give permission to you and your authorized partners only to browse the private files safely.
  • You can make design of different types of PCBs available in the market.
2. Circuits.io - Design PCBs Online
  • Circuit.io is another online service which gives you permission to create your own PCB schematic diagram and PCB layout design.
  • It comes with growing components library from which you can pick any component or you can create your own component.
  • This service has all tools that are needed to create clean and solid design like copper trace, via and drill hole, copper fill and various silkscreen tools.
  • It also contains various projects you can keep an eye on what others are doing.
  • Being an open source allows you to duplicate projects that have already been created.
  • Steps to deign PCB are very easy and practical that any can do, however, if you feel skeptical or unable to follow steps you can watch introduction video tutorial that helps you create the PCB design without much effort.
3. Altium - PCB Design Software Online
  • Altium is another addition to the PCB designing online services.
  • Effective design technology and flexibility makes it stand out from others.
  • Altium comes with most economical pricing and helps you creating design ranging from simple to complex printed circuit board designs.
  • It has all necessary features incorporated into a single unified environment that allows you to stay focus on one place and prevents you from browsing software to software for required solution.
  • Altium designer helps you to verify your design in real world and makes the design process effective, intelligent and hassle free.
  • Strong track record predicts their excellence and engineering innovation in PCB design.
4. CircuitLab - Online Circuit Simulator and Schematic Editor
  • CircuitLab plays an important role in making your design easy and effective with just few clicks.
  • It gives you an opportunity to develop and simulate complex circuits right into your browser.
  • Great thing is that you don't have to install it, you can use it quickly with just one click.
  • It comes with free electronics text book that provides you tips and tricks to modify and design your layout based on your needs and expectations.
  • It is incorporated with easy-wire-module that helps you develop a connection with different elements available in the design software.
  • Cross-window helps you discover parts of public circuits available in the circuit lab. Mix-mode circuit simulation allows you to simulate and play with analog and digital components.
  • Amazing thing is that circuit lab create unique circuit URL that provides you identity to exhibit your online presence and allows you to share your work safely and freely inside the community using this online service.
5. Upverter - Your Hardware Team Lives Here
  • Upverter is another addition to circuit design that is very effective and allows professional to focus on other things like building a new components instead of being in a constant worry of creating clean and excellent design.
  • PCB layout tools available in the module can easily run in the browser, setting you free from installation or downloading software into your PC.
  • Upverter constantly monitors and keeps an eye on the mistakes you are making during the designing process, helping you get rid of the problems before they become real issue and effect your project.
  • Knowing that you can revert back to the previous state gives you an opportunity to design the circuit without any fear and allows to approach and develop your design in an innovative way.
  • Upverter stores files and keeps a complete track record of what you did in the past, allowing you to take care of other issues instead of being worried about the safety and security of your design files.
That's all for today. These are the online PCB design services, but if you want to work individually without outside interference, you can also make PCB design using Proteus Ares. I hope you have enjoyed the article and got required information. However, if still you feel skeptical or have any doubt you can ask me in the comment section below. I'd love to help you according to best of my expertise. Keep your suggestions and feedback coming so we can provide you quality work and meet your expectations at large. Stay Tuned!

How to make PCB using CNC Milling Machine

Hey Guys! I hope you are enjoying your life and getting most out of it. We always welcome you to our site for getting useful information so you can excel and grow in your relevant field. Today, I am going to discuss How to make PCB using CNC Milling machine. If you are involved in the electronics field you will definitely come across designing your own PCB. Making PCB by old method using film and photosensitive method became obsolete. Professional looked for more robust and quick solution that helped in getting rid of the hassle of end to end wiring and fear of lose connection. This was the start of Printed Circuit Board. Let's discuss each and everything related to making PCB using CNC Milling machine.

How to make PCB using CNC Milling Machine

  • Technology has been evolved in an amazing way and make our lives easy and practical.
  • Now you don't have to depend on the manual methods of making PCB that also involves some risk and doesn't give high precision.
  • Creating a PCB with using milling machine gives you a flexibility to modify your PCB board into any shape based on your needs and requirements.
  • Before you get a hold of making PCB, you must create a schematic diagram and PCB prototype in order to give a clear idea what components you will be using and how they are connected using different paths and traces.
  • If you are electronics hobbyists or some professional, first knowledge you must get is making a PCB on your own. It will make you independent from other manufacturer who can cost heavily and ask for two or three days to deliver the PCB into your address.
  • If you get familiar with making your PCB using milling machine, you can make your PCB right away with little knowledge.
  • Before you starting making PCB using milling machine, you must learn how to use milling machine in proper way in order to create quality end product.
  • First thing you must consider for making PCB using milling machine is that it can be costly than creating PCB using etching method.
  • But it is not as risky as etching method because it involves no chemical reaction what so ever.

PCB Designing

  • Designing your own PCB is very easy and any one can do it. It involves two steps.
1: Schematic Diagram
  • You must start with creating a schematic diagram using Eagle software.
  • Schematic diagram gives clear overview what kind of components you would be using in your design and how they are connected with different paths and traces.
  • This diagram won't indicate the actual path that you would be transferring on the actual copper board, because lines and paths you use creating a schematic diagram can be differently aligned on the PCB board.
  • Schematic is only for giving knowledge that even common man can anticipate how different components are connected on the boards.
2: PCB Layout Designing
  • Next step is making a PCB layout design. This design will define the actual circuit design that will be incorporated on the copper board.
  • There are many software you can use to create PCB layout design including PCBWizard, Cadsoft Eagle, Proteus and many more.
  • PCB layout design covers less space than schematic diagram and it can be easily placed in a tight space based on your requirements.
  • Be careful when you create PCB layout design and avoid the short circuit for the sake of covering the as less space as possible.

Making PCB using Milling Machine

  • Now you are all done with your schematic diagram and PCB layout design.
  • There are two ways to create PCB i.e additive method and subtractive method. In additive method we add copper on the predefined trances on the board and in substractive method we remove unwanted copper from the copper clad, leaving behind the copper traces that electrically connect different components.
  • In milling machine we will  use substractive method where we use copper placed on the predefined lines and will remove unwanted copper.
Milling Process
  • Milling process will take no more than 30 minutes however it depends on the thickness of the bit and the size of the PCB and the number components and their alignment it would carry.
  • PCB milling is the method which involves removing the unwanted copper from the board to create paths, and signal traces according to the layout design.
  • It is totally non chemical process which can be achieved in lab environment and  involves no hazardous chemical and gives a quick turnaround if you intend to make number of PCBs.
  • The quality of PCB depends on the milling accuracy and sharpness of the milling bits you use for milling.
  • The rotational speeds of milling bits have little or no effect in the quality and precision of PCB.
  • You need to practice this process of making PCB using milling machine if you are using milling machine for the first time.
  • You will be able to make high quality product with greater precision if you take few precautions prior to making PCB.
  • Software used for PCB milling is provided by milling machine manufacturer.
  • Software can be divided into two categories i.e. Raster and Vector.
  • Software that utilizes raster calculations comes with lower processing resolution than vector based category because it is dependent on the raster information.
 
Mechanism
  • PCB milling machine makes use of advanced CNC milling technology.
  • The milling machine controller is controlled by software that receives commands and machine control information through serial and parallel port.
  • The controller is able to monitor the positioning features that are capable of moving the milling head and control spindle speed.
  • Spindle speed depends on the type of system you use and it ranges from 30,000 rpm to 100,000 rpm.
  • Higher spindle speed comes with higher accuracy and better precision.
  • The whole positioning system consists of stepper motor for x and y axis and pneumatic piston for z axis and simple DC motor is used to control the spindle speed.
  • In order to control higher speed, RF spindle motor control is used.
  • More advanced drive systems come with monitored stepper motor that provides greater control during milling and drilling process.
Other Processes
  • After completing the milling process, you can solder required components into the board based on your needs and requirements.
  • There are two ways to place and solder the components on the board. One is through hole process and other is surface mount process.
  • Through hole process involves inserting the leads into the PCB hole and then connect to the pins of right components.
  • This process becomes obsolete as it is an older process and occupies more space.
  • Surface mount technology is an advanced method in which components are mount on the board surface and then soldered to the right components.
  • This process occupies lesser space than through hole process and is an ideal choice for most of the professionals.
  • Be sure to take appropriate measure before soldering the components. The solder you use for soldering the components mostly consists of lead that is considered as a toxic material.
  • And the fumes created by the the soldering can be hazardous to health.
  • It is better to clean and extract the fumes before you discharge them into the environment.
  • You must take safety measures before you start milling the board. You should wear safety goggles, use the drill bit carefully and put your hand away from the board when spindle is active.
Advantages
  • PCB milling process comes with a lot of benefits because it involves no hazardous chemical and is an ideal choice for mass production.
  • Best part is that CNC milling can be used for multiple purpose i.e milling, drilling and cutting.
  • You can change the bits based on your needs and requirements.
  • Some PCB boards that are easy to create using PCB milling process are very difficult to create using wet etching process that also involves manual drilling afterwards which costs lot more than regular milling process.
Alternative Methods
  • Laser etching is a great alternative to both chemical etching and milling process.
  • This process is an ideal choice for most of the applications because it involves no direct contact with the board and it removes the material without physically touching it.
  • When it comes to high precision and greater accuracy, laser etching process is preferable and is mostly used for advanced microwave and RF designs.
  • This process involves low power consumption, delivers high accuracy, doesn't make use of lubricants and abrasive material and pertains to low wear and tear and needs less maintenance.
  • However, this process also comes with some limitations and is expensive as compared to other processes.
That's all for today. I hope you have enjoyed the article. However, if you still feel skeptical or have any question you can ask me in the comment section below. I'd love to help you according to best of my expertise. Your suggestions and feedback will be highly appreciated. Keep coming back for useful and relevant information. Stay Tuned.

What is a Microcontroller? Programming, Definition, Types & Examples

Hi Guys! I hope you all are doing great. In today's tutorial, we will have a look at What is a Microcontroller? We will also get an overview of Microcontroller Programming, Definition, Types, Examples etc. Microcontroller bought a revolution in modern electronics. Normally, C and assembly languages are used to program microcontroller (we will discuss in detail shortly). Microcontroller is like a tiny computer  which follows the instructions defined in its programming. I'll try to cover each and every aspect related to microcontroller. So, let's first answer this question: What is a Microcontroller?

What is a Microcontroller?

Microcontroller is considered as the backbone of Embedded Systems(please read it once, before moving forward) & it's most important feature is: "It can think". A Microcontroller looks like a simple electronics chip, but in actual its too powerful (also called Embedded Computer) because its programmable. Using programming code, we can control all I/O pins of a micontroller and can perform multiple functions(We will discuss them later). Before microcontrollers, DLD gates were used to create logics i.e. adding delays, turning signals ON/OFF etc. DLD is still in practice for small projects but if you are working on big industrial projects, then DLD circuits become too messy & thus too difficult to handle. In below figure, I have added two circuits of traffic signal lights:
  • Left Circuit: 555 Timer is used for creating the LED sequences.
  • Right Circuit: Microcontroller is used for controlling LEDs.
As you can see, DLD circuit is quite messy as compared to microcontroller one. Moreover, 555 Timer circuit is controlling 3 LEDs only, if we want to add more LEDs, we have to replicate the circuit, thus more components, so it won't be cost efficient. On the other hand, a single microcontroller can easily control 4 sets of traffic lights, as shown in below image and it can still control a lot more. Moreover, Microcontroller's circuit is too simple, easy to handle/debug. We will discuss Microcontroller advantages in detail later, but for now let's take an example: Suppose you want to increase the ON period of Green LED in traffic signal lights, if you are working on DLD circuit then you have to change hardware components i.e. changing resistances values(may involve soldering). But if you are working on Microcontroller, you just need to make changes in the software & upload the code in your Microcontroller. So, with the invention of Microcontroller, you don't need to design logics using electronics hardware components anymore, instead you can design logics in programming (software). Now let's have a look at what are Microcontrollers' Compilers? & what's the procdure for programming a Microcontroller:

Microcontrollers Compilers

  • Microcontrollers Compilers (i.e. MPLAB, MikroC, Keil etc.) are windows-based software, used to write & compile programming codes for Microcontrollers.
Now, you must be thinking How Microcontroller is controlling all these LEDs and how does it know which LED to turn ON/OFF. As I told earlier, Microcontrollers have the ability to think and this intelligence is fed into them using programming. Programming a Microcontroller is not that easy but its not as difficult as it sounds. Microcontrollers' manufacturers have designed their own compilers(third party compilers are also available), which are used for writing & compiling codes. These compilers generate .HEX file(machine code), which is then uploaded in the ROM of Microcontrollers by another hardware named as Microcontrollers' Programmer/Burner(i.e. PICKit3). Here's a flow diagram for programming a Microcontroller: Now let's have a look at a proper Microcontrollers Definition:

Microcontrollers Definition

  • A Microcontroller(also called Embedded Computer) is a mini(but powerful) computer, embedded in a compact IC(Integrated Circuit) chip, contains on-chip processor(one or more), memory(i.e. RAM, ROM, EEPROM etc.) & programmable I/O Ports(used for multiple functions).
  • Microcontroller is used in embedded projects i.e. security systems, laser printers, automation system, robotics and a lot more.
  • Microcontroller was first designed by Michael Cochran and Gary Boone. (Love these guys :D )
  • C and assembly languages are used for programming a microcontroller but the HEX File is in machine languge which actually gets uploaded in Microcontrollers.
  • There are also other languages available for programming a microcontroller but if you are a beginner, you should start with assembly language as it provides a clear concept about microcontroller's architechture.
  • Below image shows few of the most commonly used Microcontrollers(We will discuss them in detail later):
Now let's have a look at Microcontrollers Architechture i.e. what's inside microcontroller?

Microcontrollers Architecture

  • RISC Architechture is considered the most advanced Microcontrollers Architecture so far & it comes with few standard components, which we will discuss here.
  • Here's a Flow Diagram of Microcontroller's Architecture:
  • As you can see in above figure, Microcontroller's Architechture consists of:
    • CPU(Central Processing Unit).
    • ROM(Read-only memory).
    • RAM(Random-access memory).
    • EEPROM(Electrically-Erasable Programmable Read-only memory).
    • Ports I/O.
    • Timers.
    • Interrupts.

CPU(Central Processing Unit)

  • CPU(Central Processing Unit) is regarded as the brain of the microcontroller, takes instructions in the form of programming & executes them.
  • It acts as a commandant & gives orders to other components & other components have to act accordingly.
  • CPU is incorporated with onboard registers, which are divided into two types:
    • Data registers.
    • Addressing registers.
  • Data registers(also known as accumulators) are used for stroing actual data.
  • Addressing registers are used for holding the addresses for memory data accessing.
  • A microcontroller CPU is capable of executing different types of instructions i.e. data manipulation instructions, logic instructions, shifting instructions etc.

Program ROM(Read-Only Memory)

  • ROM(Read-only memory) is a non-volatile memory where Microcontrollers store their programming code & is also called program ROM or code ROM.
  • When we upload our code in the Microcontroller, the programmer/burner erases the ROM memory first & then uploads the new code.
  • Once code has been upload, now there's no way to erase ROM, unless you want to upload code again.
  • So, when the microcontroller is in operational mode, we can't erase ROM memory using programming code.
  • Program ROM is available in various types, few of them are:
    • Flash Memory.
    • UV-EPROM.
    • OTP Memory.
    • Masked Memory.

Data RAM(Random-Access Memory)

  • RAM(Random-access memory) is a voltile memory, thus easily erasable & used to store data during operations.
  • If you want to erase your Microcontroller's RAM, simply restart it, you can also erase it using programming.
  • RAM is further divided into two types:
    • General-Purpose RAM(GPR).
    • Special Function Registers(SFRs).
 

EEPROM(Electrically-Erasable Programmable Read-only memory)

  • EEPROM(Electrically-Erasable Programmable Read-only memory) is a semi-volatile memory & is norammly used to save permanent data, which doesn't need to change that often i.e. Admin Settings.
  • If you upload code in your microcontroller, it will erase the EEPROM memory same as ROM memory.
  • If you restart your microcontroller, it won't affect the EEPROM memory, EEPROM data will remain intact. (same as ROM memory)
  • But EEPROM data can be updated/deleted using programming(unlike ROM memory).
  • Let me give you an example: People change their desktop wallpaper once in a month, such settings should be saved in EEPROM memory.

Microcontroller Ports I/O

  • In Microcontrollers, multiple pins are dedicated for input/ouput (I/O) purposes & controlled by programming.
  • A Port consists of multiple I/O Pins and there are multiple Ports in Microcontrollers.
  • They are used to interface external devices (i.e. printers, LCD, LED, sensors etc.) to the microcontroller.

Microcontroller Timers

  • Microcontroller comes with multiple built-in timers, used for counting purposes.
  • Timers are very handy in achieving different tasks i.e. pulse generation, frequency generation, clock function, modulation, interrupts etc.
  • Timers are synchronized with microcontroller's clock, used for measuring time intervals between two events and can count up to 255 for 8-bit microcontroller and 65535 for 16-bit microcontroller.

Microcontroller Interupts

  • Microcontroller Interrupts are used for urgent scenerios and whenever interrupt is recevied by the microcontroller, it stops everything & first deals with the interrupt call.
  • So, as their name indicates, they actually interrupt the microcontroller from its regular task & force it to deal with them first.

Types of Microcontrollers

  • There are different types of Microcontrollers available and are classified based on Bus-width, Memory, Insutruction Set, Architecture, & Manufacturer.
  • Here's a flow chart of Microcontrollers types:

Microcontrollers Types based on Bus-Width

  • Microcontrollers come in 8 bit, 16 bit, 32 bit and 64 bit. Some most advanced microcontrollers have bits more than 64 which are capable of executing particular functions in the embedded systems.
  • 8 bit microcontroller is capable of executing smaller arithmetic and logic instructions. Most common 8 bit microcontrollers are atmel 8031 and 8051.
  • In contrast to 8 bit microcontroller, 16 bit microcontroller executes program with higher precision and accuracy. Most common 16 bit microcontroller is 8096.
  • 32 bit microcontroller is applied into automatic control systems and robotics where high durability and reliability is required. Office machines and some power and communication systems use 32 bit controller to execute different instructions.

Microcontrollers Types based on Memory

  • Based on memory, microcontrollers are divided into two types i.e.external memory microcontrollers and embedded memory microcontrollers.
  • When embedded system needs both microcontroller and external functioning block that is not incorporated in microcontroller, then microcontroller is called external memory microcontroller. 8031 is an example of external memory microcontroller.
  • When all functioning blocks are incorporated in a single chip that is connected with embedded system, then microcontroller is called embedded memory microcontrollers. 8051 is an example of embedded memory microcontrollers.

Microcontrollers Types based on Instruction Set

  • Based on instruction set, microcontrollers are classified into two types i.e CISC-CISC and RISC-RISC.
  • CISC is referred as complex instruction set computer. One valid instruction is enough to replace number of instructions.
  • RISC is referred as reduced instruction set computer. RISC helps in reducing the operation time of executing the program. It does it by reducing the clock cycle per instruction.

Types of Microcontrollers based on Manufacturer

There are numerous types of microcontrollers and I am gonna discuss few of them in detail here:

1. 8051 Microcontroller

  • 8051 microcontroller is a 40 pin 8 bit microcontroller invented by Intel in 1981.
  • 8051 comes with 128 bytes of RAM and 4KB of built in ROM.
  • Based on priorities, 64 KB external memory can be incorporated with the microcontroller.
  • A crystalline oscillator is embedded on this microcontroller which comes with a frequency of 12 MHz.
  • Two 16 bit timers are integrated in this microcontroller that can be used as a timer as well as a counter.
  • 8051 consists of 5 interrupts including External interrupt 0, external interrupt 1, Timer interrupt 0, timer interrupt 1 and Serial port interrupt.
  • It also consists of four 8 bits programmable ports.

2. PIC Microcontroller

  • Microchip invented PIC(Peripheral Interface Controller) Microcontroller which supports Harvard architecture.
  • Microchip Technology is very concerned with the needs and requirements of the customers so they constantly keep on upgrading their products, in order to provide top notch service.
  • Low cost, serial programmable ability, and wide availability make this microcontroller stand out of the party.
  • It consists of ROM, CPU, serial communication, timers, interrupts, I/O ports and set of registers that also behave as a RAM.
  • Special purpose registers are also incorporated on chip hardware.
  • Low power consumption makes this controller an ideal choice for an industrial purpose.

3. AVR Microcontroller

  • AVR is referred as Advances Virtual RISC which was produced by Atmel in 1966.
  • It supports Harvard Architecture in which program and data is stored in different spaces of microcontroller and can easily be accessed.
  • It is considered as earlier types of controllers in which on-chip flash is used for storing program.
  • AVR architecture was introduced by Vegard Wollan and Alf-Egil Bogen.
  • AT90S8515 was the first controller that was based on AVR architechture.
  • However, AT90S1200 was the first AVR microcontroller that was commercially available in 1997.
  • The flash, EEPROM and SRAM all are integrated on a single chip, which removes the possibility of joining any external memory with the controller.
  • This controller has a watchdog timer and many power saving sleep modes that make this controller reliable and user-friendly.
Now let's have a look at difference between Microcontroller & Microprocessor:

Microcontroller Vs Microprocessor

  • Microprocessor use external circuity in order to build communication with peripheral environment, but microcontroller doesn't involve any external circuitry to put it in a running condition as it comes with a specified built-in circuity that saves both space and cost to design a device of similar characteristics.
  • As compared to microprocessor which are widely used in PCs, laptops and notepads, microcontrollers are specially made for embedded system.
  • When we talk about embedded system, we actually refer to a devices that come with built in circuitry and need load of proper instructions to control the devices.
  • Great thing about embedded system is that it involves customized programming that is directly connected to internal circuitry which can be modified again and again till you achieve your desired result.
  • Clock speed of microprocessor is much larger than microcontroller and they are capable of doing complex tasks. They can operate at the frequency of 1 GHZ.
  • I have pointed out key differences between Microcontroller and microprocessor in below table:

Comparison with Desktop Computers

  • In contrast to our desktop computer, microcontrollers are tiny computers which contains memory much less than desktop computer.
  • Also the speed of desktop computer is much larger than speed of the simple microcontroller.
  • However, microcontrollers exhibit some features similar to desktop computers like it comes with central processing unit which is brain of the microcontroller.
  • These CPU in microcontrollers come with different word length i.e from 4 bit to 64 bit.
  • They can operate at lower frequencies at 4 kHZ and have an ability to retain functionality before reset button is pressed or some interrupt is called.

Microcontroller Characteristics

  • In modern technologies, some microcontrollers devices constitute a complex design and are capable of having word length more than 64 bit.
  • Microcontroller consists of built in components including EPROM, EEPROM, RAM, ROM, timers, I/O ports and reset button. RAM is used for data storage while ROM is used for program and other parameters storage.
  • Modern microcontroller are designed using CISC (complex instruction set computer) architecture which involves marco-type instructions.
  • Single macro type instruction is used to replace the number of small instructions.
  • Modern microcontrollers operate at much lower power consumption as compared to older ones.
  • They can operate at a lower voltage ranging from 1.8 V to 5.5 V.
  • Flash memory like EPROM and EEPROM are very liable and advanced features in latest microcontrollers which set them apart from older microcontrollers.
  • EPROM is faster and quick than EEPROM memory. It allows to erase and write cycles as many times as you want which makes it user friendly.
Now let's have a look at Microcontrollers applications:

Microcontrollers Applications

Micrcontroller has numerous application, here I have mentioned, few of them:
  • Peripheral controller of a PC
  • Robotics and Embedded systems
  • Bio-medical equipment
  • Communication and power systems
  • Automobiles and security systems
  • Implanted medical equipment
  • Fire detection devices
  • Temperature and light sensing devices
  • Industrial automation devices
  • Process control devices
  • Measuring and Controlling revolving objects
That's all for today. I hope you have enjoyed the article. Our job is to provide you useful information step by step, so you can digest the information without much effort. However, if still you feel skeptical or have any doubt you can ask me in the comment section below. I'd love to help you according to best of my expertise. Stay Tuned.

Embedded Systems Software Development Tools

Hi Friends, I hope you are fine. I have another topic on embedded systems that I am going to share with you. Today, I am gonna tell you about Embedded Systems Software Development Tools. I have already told you about the hardware tools you need for developing embedded systems. You can find them in this article 6 necessary embedded tools.

If you are new to Embedded Systems then you should first have a look at What is Embedded Systems? and then you must read What is Embedded Computer because these two tutorials will give a detailed overview of Embedded Systems. Moreover, if you are interested in Learning Embedded System Programming then today's tutorial will help you in choosing the right tools among Embedded Systems Software Development Tools. I have also shared Examples of embedded systems which will also help you in getting an idea why Embedded system is so important. Before I tell you the details of these Embedded Systems Software Development Tools, let’s first take a look on what is meant by embedded software.

Embedded Software

Embedded Software is the software that controls an embedded system. All embedded systems need some software for their functioning. Embedded software or program is loaded in the microcontroller which then takes care of all the operations that are running. For developing this software, a number of different tools are needed which I will discuss further. These tools include editor, compiler, assembler and debugger. Let’s have a look at them.

1. Editor

  • The first tool you need for Embedded Systems Software Development Tools is a text editor.
  • This is where you write the code for your embedded system.
  • The code is written in some programming language. The most commonly used language is C or C++.
  • The code written in the editor is also referred to as source code.

2. Compiler

  • The second among Embedded Systems Software Development Tools is a compiler.
  • A compiler is used when you are done with the editing part and made a source code.
  • The function of compiler is to convert the source code into object code.
  • Object code is understandable by computers as it is a low level programming language.
  • So we can say that a compiler is used to convert a high level language code into low level programming language.

3. Assembler

  • The third and an important one among Embedded Systems Software Development Tools is an assembler.
  • The function of an assembler is to convert a code written in assembly language into machine language.
  • All the mnemonics and data is converted in to op codes and bits by an assembler.
  • We all know that our computer understands binary and it works on 0 or 1, so it is important to convert the code into machine language.
  • That was the basic function of an assembler, now I am going to tell you about a debugger.

4. Debugger

  • As the name suggests, a debugger is a tool used to debug your code.
  • It is important to test whether the code you have written is free from errors or not. So, a debugger is used for this testing.
  • Debugger goes through the whole code and tests it for errors and bugs.
  • It tests your code for different types of errors for example a run time error or a syntax error and notifies you wherever it occurs.
  • The line number or location of error is shown by debugger so you can go ahead and rectify it.
  • So from the function, you can see how important tool a debugger is in the list of Embedded Systems Software Development Tools.

5. Linker

  • The next one in basic Embedded Systems Software Development Tools is a linker.
  • A linker is a computer program that combines one or more object code files and library files together in to executable program.
  • It is very common practice to write larger programs in to small parts and modules to make job easy and to use libraries in your program.
  • All these parts must be combined into a single file for execution, so this function requires a linker.
  • Now let’s talk about libraries.
 

6. Libraries

[ultimate_spacer height =”10”]
  • A library is a pre written program that is ready to use and provides specific functionality.
  • For Embedded Systems Software Development Tools, libraries are very important and convenient.
  • Library is a file written in C or C++ and can be used by different programs and users.
  • For example, arduino microcontroller comes with a number of different libraries that you can download and use while developing your software.
  • For instance, controlling LED or reading sensor like an encoder can be done with a library.
  • The last one on my list is a simulator.

7. Simulator

  • Among all embedded software tools, simulating software is also needed.
  • A simulator helps you to see how your code will work in real time.
  • You can see how sensors are interacting, you can change the input values from sensors, and you can see how the components are working and how changing certain values can change parameters.
  • These were the basic software tools required for embedded software development.

When I am talking about embedded software tools, it is also important to give you an idea about IDE which is the next section of my article.

Integrated Development Environment (IDE) - Embedded Systems Software Development Tools

  • An Integrated Development Environment is software that contains all the necessary tools required for embedded software development.
  • For creating software for you embedded system, you need all of the above mentioned tools.
  • So it is very helpful to have software that can provide all of the necessary tools from writing to testing of your code, in one package.
  • An IDE normally consists of a code editor, compiler and a debugger.
  • An Integrated Development Environment also provides a user interface.
  • An example of integrated development environment is Microsoft visual studio. It is used for developing computer programs and supports different programming languages.
  • Other examples of IDE that are common are given below.
    • Android Studio
    • Eclipse
    • Code Blocks
    • BlueJ
    • Xcode
    • Adobe Flash Builder etc.
  • Depending on what kind of microcontroller you are using, you can choose from many different software applications. I am going to share a few of these Embedded Systems Software Development Tools here in my article.

1. MPLAB

  • If you are working with PIC Microcontroller, than you definitely need MPLAB.
  • MPLAB is an integrated development environment from Microchip technology.
  • It is a software that runs on your personal computer and is needed to create program for your pic microcontroller.
  • It helps in editing, debugging and programming of microchip microcontroller that you use in your embedded system.
  • The latest edition of MPLAB is MPLAB X. You can download this software free form microchip website.
  • For developing embedded software for your system using MPLAB, you have to go through the following steps:
    • The first step in this design process is to choose the PIC microcontroller that meets the requirements and parameters for your system.
    • Know all the components of your embedded system by making a rough design.
    • Next step is to write code for your embedded software. It is your choice to write code in assembly language or some high level programming language.
    • Now you have to make your code ready to program your microcontroller. So using compiler / assembler convert code into machine code.
    • The fifth step is to debug your code to remover errors.
    • Finally, upload the code in to your microcontroller. And it is ready to be used in the embedded system.
  • There are many important features of MPLAB which are really helpful in software development. I am going to mention some of them:
    • Free C compilers
    • Macros
    • Complex breakpoints
    • Third party tools
    • Change variables in watch window etc.
 

2. Arduino Software

  • Arduino software is used if you are working with arduino microcontroller.
  • It is also open source software just like MPLAB that runs on your personal computer.
  • Arduino software helps you to create program for your microcontroller providing all the necessary embedded software tools.
  • The codes that you write on arduino software are referred to as sketches and have an extension .ino.
  • Integrated development environment of arduino is very user friendly and has a lot of features that make your job easy. For example, you can open multiple files with different extensions in one window.
  • With arduino you can make use of a number of different libraries for your functions and peripherals. Some of them are:
    • LiquidCrystal
    • WiFi
    • Audio
    • RTC
    • LedControl
    • Robot
    • Matrix
    • Capacitive Sensing
  • Now I am moving towards the next one which is Keil.

3. Keil

  • Keil is an integrated development environment for a wide range of microcontrollers including 8051, 251, ARM7, and C16x/ST10 microcontrollers.
  • This software includes compiler, assembler, linker, debugger, simulator etc.
  • This software is also easy to use and learn.
  • The software for 8051 is used by professional embedded system developers and beginners both.
  • Depending on the microcontroller, you are using you can go for the right software.
  • Now let’s move towards the next tool that is MATLAB.

4. MATLAB

  • Matlab is one of the very important tools for software developers.
  • It provides you with an environment where you can solve all of your computational problems.
  • You can work with matrices, graphs, vectors, functions, arrays, plots etc. You can make algorithms. Also you can create user interfaces.
  • With Matlab, you can also interface programs written in other programming languages.
  • Matlab comes with additional software, Simulink that enables you to create simulation.
  • It is really a helpful tool for embedded software developers, as you can work on sensors data, plot it and see response by changing certain variables.

5. LabVIEW

  • LabVIEW stands for Laboratory Virtual Instrument Engineering Workbench. This software is also used for viewing output.
  • The main functions that can be performed using LabVIEW are data acquisition, industrial automation and instrument control.
  • This software is basically for visual programming language.
  • Some of the benefits of LabVIEW are:
    • Libraries
    • Interfacing to devices
    • Parallel programming
    • User community
  • That was all about LabVIEW basics. The next on the list is PSpice.

6. PSpice

  • SPICE stands for Simulation Program for Integrated Circuits Emphasis, and PSpice is its version for personal computers.
  • PSpice is simulation software that is used for simulating circuits.
  • It helps in analyzing electronic circuitry, verifying circuit designs and predicting their behavior.
  • It has a number of libraries for digital and analog components.
  • The components that are available include
    • resistors,
    • capacitors,
    • voltage and current sources,
    • Inductances etc.

7. Proteus

  • Proteus is kind of simulation software where you can create circuits, make model of your embedded system including microcontroller to see how it works, measure circuit parameters, change sensor values and much more.
  • It helps you to create PCB (printed circuit board) design for your embedded system.
  • Microcontroller simulation is an important feature of this software where you can load a hex file to your microcontroller in the design, connect all other components to it and see how it works.
  • This software runs only on Windows operating system.

8. Visual Studio

  • Visual Studio is also an integrated development environment provided by Microsoft.
  • It is used for developing computer programs for Microsoft Windows.
  • It can support different programming languages and basically consists of a code editor and a debugger.
  • With this software you can build different mobile apps, window apps, extensions, games etc. The choice of language is yours.
  • Now I am moving to the next tool which is EasyEDA.

9. EasyEDA

  • EasyEDA is an online tool that you can use to create schematics, PCB designs, and simulations.
  • Since it is an online tool that runs on web, there is no need for you to download and install it in your personal computer. Instead you can run it directly.
  • Also there is no need of updating your software or to remove bugs, as it is online tool and keeps updating itself. New features are added automatically.
  • Another advantage is that it runs on all types of OS (windows, linux etc.) as EasyEDA works on your web browser.

10. Altium

  • The last one on my list of embedded software tools is Altium which is also PCB designing software.
  • PCB designing is very important part of developing an embedded system, so it is good to know all the available resources for PCB design.
  • The PCB designing module of altium has a lot of features including
    • Adding hole tolerance
    • PDF 3D export
    • Live Drill Drawing
    • Supporting Embedded Components etc.

So these are the 10 embedded software tools that should be known by an embedded software developer. I hope you have enjoyed these Embedded Systems Software Development Tools. I have given the introduction and basics of each of them.

6 Necessary Embedded Tools

Hello Friends, I hope you are fine and having fun in your lives. Today I am going to tell you about the 6 necessary Embedded Tools.It's the next episode in the Embedded systems tutorials. So, first of all, we had a look at What is Embedded System? and we have also understood What is Embedded Computer? Then we had a look at 8 things for learning embedded system programming , that can help you for the coding part of your system.  An embedded system design includes both hardware and software. So it is good to know all the tools that are available and necessary for the said purpose.

In an embedded system you have to work with the software along with the hardware. You have to deal with sensors and actuators. Things are happening in real time. An embedded system keeps track of all the processes occurring in it and performs its operation. Embedded System programming is different from general programming. So, now what we need to know about is Embedded Tools. Today, I am gonna discuss the hardware embedded tools and after that I will share the software Embedded tools. That's the beauty of Embedded systems that along with programming as in Software you also have to be expert of hardware like electronics. Because without electronics you can't implement your Embedded Project. You should have a look at these Real Life Examples of Embedded systems and you will get clear about this fact, all these devices includes electronics parts. So, let's have a look at the 6 Necessary Embedded Tools:

Embedded Tools

There is a variety of embedded tools available out there for development of hardware and software for embedded systems. These embedded tools include editors, compilers, assemblers, debuggers, and simulators etc. for software part and soldering iron, desoldering gun, Digital Multimeter, oscilloscope, cutter, laptop etc. as hardware tools. All of the embedded tools are necessary and work together. After a short review of software tools, I am going to write about hardware tools which are the main focus of my article.

Software Embedded Tools

  • The first step of the development process is writing code for your microcontroller.
  • Various editors are available for different languages. Mostly code is written in assemble language or C language.
  • First the code is written then it is compiled and debugged. A file is generated that is ready to be uploaded to your microcontroller.
  • It is always good to use simulation tools during development process before finalizing your final product and converting into hardware.
  • Using simulation tool reduces a lot of errors that you may encounter in your system. Also you can check different parameters of your system using your simulation software.

Hardware Embedded Tools

This is the main section of my article in which I am going to give you an idea of different hardware embedded tools and accessories needed to build an embedded system. Of course, you are going to connect components together to form a system, so you require a variety of tools. The components that you need may include sensors, actuators, microcontroller, converters etc. You can find information on components in my article on What is Embedded System? Now let’s talk about the tools in detail.

1. Soldering Iron

  • The first tool among embedded tools that I am going to discuss here is soldering iron or soldering gun.
  • As the name suggests, it is a tool used for soldering. A soldering iron supplies heat to melt a wire. This molten wire fills the space in the joints between two parts.
  • To connect components together, or to fix components on your circuit board, you need to solder them. So soldering iron serves the purpose.
  • A wire is used with this iron which is provided heat so that it melts down. This wire is called soldering wire.
  • Mostly, these irons are supplied with electric current through cords or through batteries.
  • The supplied current heats up the iron. The temperature of iron can be controlled in some models.
  • This tool comes with a stand to keep the hot iron in a safe position.
  • A wax and a sponge may also be provided with the gun to clean the tip after usage.
  • The tip of a soldering iron can also be changed and removed easily. Tips of different shapes and sizes are used for different types of work pieces.
  • A soldering iron is very light weight and easy to carry around. And really a very necessary tool in embedded system development.
2. Desoldering Gun

  • Desoldering gun is also one of the important embedded tools. It is also named as desoldering pump.
  • Desolder means to remove the solder usually from a joint. It serves the opposite function of a soldering gun.
  • Sometimes we need to separate components from each other or to remove components from a circuit board as PCB (printed circuit board). This is required for repair or disassembling operation. So a desoldering iron is used in such cases.
  • A desoldering iron removes the solder by sucking it. Due to this sucking operation, it is named as pump.
  • A suction pump in this tool sucks the molten solder and makes the joint open again.
  • This device is very useful to correct a wrong connected component.
3. Digital Multimeter

  • A digital multimeter or DMM is a testing device among my list of embedded tools.
  • This device is used to measure values of voltage, current and resistance.
  • It is also used to check connectivity between two points.
  • Digital multimeter is a standard testing tool for engineers and technicians.
  • A DMM serves the function of three devices, ammeter for measuring current, voltmeter for measuring voltage and ohmmeter for measuring resistance. All the three devices come in this single package.
  • It consists of a display that shows the measured value, slots for inserting test leads, few buttons such as power button and a switch to select operation you want to use.
  • The test leads are inserted into DMM and then connected to the item being tested to form a closed circuit to the DMM.
  • Measurement values such as volts, amperes or ohms are selected from the switch and result can be noted from the display.
  • It is a very useful and must-have tool for embedded system developer.
4. Oscilloscope

  • The next item in embedded tools is oscilloscope which is a testing device just like a digital multimeter.
  • An oscilloscope is a device used to view voltage signals with respect to time. The signal is represented as a 2-D plot.
  • It is commonly known as a Cathode Ray Oscilloscope (CRO) or simply a scope.
  • An oscilloscope can be used to show more than one signal at the same time.
  • This device is not just used for voltage signals, instead it can be used for other electric signals as well.
  • The waveform represented by oscilloscope is calibrated and different characteristics of wave such as frequency, amplitude, wavelength, time intervals etc. can be measured through it.
  • Now let’s move towards the next item which is a cutter.
5. Cutter

  • A cutter also known as wire cutter or clipper is used to cut jumper wires.
  • Other than jumper wires, you can also use to cut copper, steel or other wires.
  • Other than wire cutters, wire strippers are also used.
  • A wire stripper is used to remove insulation from wires without cutting them.
  • Now I am moving towards the last item on my embedded tools that is a laptop.
6. Laptop

[ultimate_spacer height = "10"]

  • Laptop is among the most important tools required for embedded system development.
  • You need a laptop from the very initial stage until the complete development of your product.
  • Your laptop should be equipped with all required software tools that I mentioned earlier and an internet connection.
  • You can search for suitable components for your system, write code and produce file for your microcontroller, simulate your system, have data sheets for all your components in it and much more.

All of the tools that I mentioned in this article are essential ones for working on embedded systems. I hope you will find this article informative.

Real Life Examples of Embedded Systems

Hello Friends, I hope you are fine and doing great in your lives. Today I am going to write an article on real life examples of embedded systems. These Embedded Systems Examples belong to real-life appliances and devices, which we normally use in our daily routine. I hope you already have the idea of embedded systems but if you don't, you can find the introduction to embedded systems in my previous article What is Embedded System? And also you can go through What is Embedded Computer? I have also shared few Embedded Systems Examples in this article. My article on 8 things for learning embedded system programming can help you in getting starting with your Embedded Systems Project.

Embedded systems perform specific tasks. They have a Microcontroller as the main part which controls all the operations required through them. This article on examples of embedded systems can help you to get an idea of common systems which we use in our daily lives. These systems are smart and more efficient, which is increasing their use day by day. Almost every device that we use today is an example of embedded systems. Embedded systems examples can be seen at our homes, offices, industries and in automation systems.

So, in simple words, most of the daily routine appliances, devices or automated equipment lies in the circle of Embedded Systems Examples. I have discussed a few of these Examples of Embedded Systems in today's tutorial so that you got to know their importance and believe me if you learn embedded Systems then you can also create something, helpful to society. So, let's get started with Examples of Embedded Systems:

Examples of Embedded Systems

As I told earlier, there's an endless list of Examples of Embedded Systems and we can't cover all of these Embedded Systems examples in detail here so I have discussed a few of these Embedded Systems Examples in detail and have mentioned the rest of them and yes still I have missed a lot. :) One of the most exciting Examples of Embedded Systems is Digital Camera so let's have a look at its features:

Embedded Product: Digital Camera

  • One of the embedded products is a digital camera.
  • Cameras that we use today are smart and have a lot of features that were not present in early cameras all because of the embedded system used in them.
  • A digital camera has basically three functions, to capture an image which we call data, to store image data, and to represent this data.
  • Today images are stored and processed in form of digital data in bits.
  • There is no need for the film for storing images. This feature has increased the storage capacity and made it easy to transfer images.
  • In digital cameras, the first image is captured and converted to digital form.
  • This digital image is stored in internal memory.
  • When the camera is attached to your personal computer for uploading images, it transfers the stored data.
  • If I talk about the smart camera, it has some extra features than digital cameras.
  • Smart cameras are able to capture details of the scene.
  • These cameras analyze the images and are able to detect humans, motion, faces etc. from the whole image.
  • For the detection of objects in the image, some processing is required in cameras.
  • Usually, image processing includes low-level and high-level processing.
  • Various algorithms are available that are employed for this purpose.
  • Components of a smart camera include:
    • Image sensor that may be a CCD (Charge Coupled Device) or a CMOS (Complementary metal-oxide-semiconductor)
    • Analog to digital converter (A2D)
    • Image Processor
    • Memory.
    • Lens.
    • Led or other illuminating devices.
    • Communication Interface etc.

Smart cameras may consist of some more devices depending on features.

 
  • So, we can say that camera is one of the important embedded systems examples. It has its own processor, sensors, actuators and also memory for storage purposes.

Embedded Systems Application: Automotive Embedded Systems

  • Examples of embedded systems include automotive. Today cars use embedded systems to replace old traditional systems.
  • Electronic Control Units are used in automotive embedded systems Examples.
  • This unit contains a Microcontroller, switches, sensors, drivers, etc.
  • All the sensors and actuators are connected to the electronic control unit.
  • Automobiles using embedded systems may consist of hundreds of microprocessors.
  • Each microcontroller (Arduino, PIC Microcontroller, 8051 Microcontroller etc.) performs its own dedicated task. Some of them control engines. Some run dashboard devices.
  • The whole system is actually comprised of several small systems.
  • Using embedded systems in automotive has reduced the cost factor.
  • It has improved the overall performance and increased functionality.
  • It has also reduced weight and made automobiles more safe and reliable.
  • Applications of automotive embedded systems include:
    • Automatic Stability Control
    • Traction Control System
    • Pre-crash Safety System
    • Airbag
    • Car Navigation System
  • So you can see that using embedded systems in automobiles is very useful and has increased the functionality of automobiles.

Embedded Systems Application: Home Security System

  • In embedded systems examples, I have another interesting one on my list that is a home security system.
  • Home security systems are used largely today.
  • These systems have several features just as checking for fire or gas leakages, and detecting if someone suspicious tries to enter the house.
  • A Microcontroller is used for controlling all the operations. Sensors give data and if something wrong happens then safety alarms get activated.
  • Sensors used in such systems include gas sensors, smoke sensors, temperature sensors, IR sensors etc.
  • Also, a keypad is included in such systems for entering passwords at the gate.
  • If the correct password is entered then this embedded system opens the gate and if someone tries to enter the wrong password then an alarm is set on and gates remain closed.
  • The output is received from alarms or some display.
  • Here's a block diagram of the Embedded Systems Circuit Diagram(normally used in home automation projects):
You should also read:
  • The output can also be sent to some distant location.
  • If family members are not present at the home then still they can monitor the activities going on in their house.
  • The home security system is not limited to homes.
  • Such systems can be used at shops, stores and in industries.
  • Almost every industry and office has security systems that can recognize the workers from their faces or identity cards.
  • Home automation system is also one of the examples of embedded systems as the home security system.

Embedded Product: Automatic Washing Machine

  • Daily life examples of embedded systems include automatic washing machines and dryers.
  • Washing clothes is not a difficult task now owing to embedded systems.
  • You just have to add clothes and leave them to the machine. Rest operations are done by your machine itself.
  • Machines have a Microcontroller for controlling all the tasks.
  • Sensors and actuators in this case are level sensors, valves, motors and also a display and keypad to input information.
  • Once you load clothes in machine, the whole process consists of three cycles. Washing, rinsing and spinning.
  • All three cycles are initiated by the machine itself. You just have to enter information for hot or cold water and press the start button.
  • During washing and rinsing cycle, water is added to the drum by pipes.
  • Closing and opening of valves for adding water is checked through level sensors by microcontroller like PIC Microcontroller.
  • Then the rotation of drum starts for pre-set time. After that water is drained out through pipes.
  • During spinning cycle, water is not added and drum rotates for a set time.
  • All the processes are controlled by microcontroller program.
  • The timings for each cycle can be changed through the keypad.
  • So this was another embedded systems examples. Now let’s move towards the next one.

Embedded Operating System

  • Personal digital assistant (PDA) is the next example on my list. It’s an embedded operating system designed for personal use.
  • You can find a lot of personal embedded operating system examples i.e. Mobile Phones, data organizers, PDA etc.
  • Personal Digital Assistant is just like a personal computer in hand. It was used before smartphones came out.
  • This embedded operating system is used as an information manager and has the ability to connect to internet.
  • This embedded operating system has a display mostly touchscreen for the user to interact with the device.
  • The display is used for entering data, memory card is used for storing data and it is provided with Bluetooth or WiFi for connectivity.
  • Some of the personal digital assistants use keypads instead of touchscreen to input information.
  • This device is very handy in managing and sorting personal information. It is very light in weight and serves multiple functions.
  • Small Embedded computers i.e. Rapberry Pi, Beagle Bone etc. have also been introduced in the market.
  • The next example of Embedded Systems that I am going to tell you is Industrial Robots.

Embedded Systems Applications in Industrial Robots

  • Embedded systems have a lot of applications in industries.
  • Today, every process is being taken towards automation.
  • So industrial robots are very important to mention with embedded systems examples.
  • An industrial robot is an embedded system that comes in a variety of forms and each performs a number of different tasks.
  • Some industrial robots are used for moving parts, tools, materials etc.
  • Some are used in assembly operations while some of them are used in manufacturing.
  • These robots have increased the productivity.
  • They are widely used where precise operations are required or at the places which are difficult to access for humans.
  • To understand the working of industrial robot as example of embedded systems, I am going to tell you about automated painting robots.
  • Painting robots have a wide application area.
  • They are replacing humans as they require less time for the whole operation and ensure best result.
  • All of the activities are controlled through the program.
  • Timing for the whole process and amount of paint is preset.
  • Assembly robot is another example of industrial robots.
  • The task of such robot is to create an assembly from all the parts.
  • All parts are collected and assembled in correct sequence to form final product.
  • There are a lot of examples of industrial robots.
  • All are good embedded systems examples.
  • Now let’s talk about another type.

Embedded Product: Automated Teller Machine

  • An automated teller machine (ATM) is also an embedded system.
  • It is a computerized device used in banking.
  • You all are already familiar with its operation and use.
  • A customer can access and perform his transactions without going to the bank and meeting some assistant.
  • This machine consists of a card reader for detecting card and accessing information of the person.
  • Also it has a keypad so the user can enter his commands and password.
  • A screen displays information. A printer prints the receipts and cash is received from cash dispenser.
  • A network is present between the bank computer and ATM machine through a host computer.
  • All the data is verified with the bank computer and all transactions are stored in it.
  • All these input and output operations are carried with the help of microcontroller.
  • So this makes a one of the best examples of Embedded Systems.

Embedded Calculator

  • Calculator is also one of the examples of embedded systems.
  • Actually it is one of very earlier embedded system that is used widely.
  • In this example, the function is to take input from the keypad, perform the required operation and show the results on LCD.
  • Embedded Scientific Calculator has a high performance processor.
  • A number of mathematical complex calculations can be performed by these calculators.
  • You can also program such scientific calculators.
  • With such kind of functionality, these calculators are very advance as compared to simple calculators, all because of embedded systems.

Examples of embedded systems are numerous and it is hard to discuss all of them here. Embedded Systems are used in different fields like:

  • Automobiles
  • Aerospace
  • Telecommunication
  • Consumer Electronics
  • Banking
  • Homes
  • Offices
  • Security Control
  • Academia

Some other examples include:

  • Anti-lock brakes.
  • Auto-focus camera.
  • Teller machines.
  • Automatic toll systems.
  • Automatic transmission.
  • Elevators
  • Power Suppliers
  • Avionic systems etc.
I have just mentioned few of Embedded Products & Applications. Here, I have compiled few examples of Embedded Systems in a single image below and you can see in this image that we are literally slaves of Embedded Systems. :)

That was all from my side, I hope you will enjoy reading these Examples of Embedded Systems and if you don't find any Embedded Systems Examples in above list then you can share it in comments below and I will add it up. So, stay blessed and have fun. Take Care !!! :)

10 Things for Choosing Microcontroller

Hi friends, I hope you are fine and doing great. Previously I have written an article on embedded system programming that you can access here 8 things for learning Embedded System Programming. One of the important parts of an embedded system is a microcontroller, so choosing correct microcontroller for your embedded system is very necessary. Therefore, today I am going to tell you how you can select the best microcontroller for your application. In this article, I will be sharing all the details you need to know before finalizing your product.

So, if you are trying to choose the right Microcontroller for your project then you must be working on Embedded System Project, so you should read What is embedded Systems? and What is Embedded Computer. So, you should have a look at them as they are really interesting and covers the complete basics. After these articles, you should also have a look at Real Life Examples of Embedded Systems. So, before going into the details, let's first have a look at basics of Microcontroller.

Basics of Microcontroller

  • Microcontroller is just like the CPU for your embedded system.
  • It is different from microprocessors which require external peripherals. A microcontroller has all the peripherals on the main chip.
  • counters, input and output ports on the single chip.
  • External devices cannot be added on microcontroller, also extra memory cannot be added.
  • Microcontrollers are suitable for embedded systems, as they are limited in size and cheap.
  • Microcontrollers are suitable for applications which have limits on size and cost.
  • Few examples of Microcontrollers are Arduino, PIC Microcontroller, 8051 Microcontroller etc.
  • There are different families of microcontrollers which have different features. You can choose depending on the specifications you need.
  • Microcontrollers are preferred in embedded systems because they have various advantages. Some of them are:
    • Efficiency
    • Use more logic to carry functions
    • Can perform diverse functions
    • Minimum and controlled power consumption

Now that I have defined a microcontroller, I am moving towards the main section of this article. Here's a screen shot of Arduino board:

 

How to select Microcontroller ?

Selecting right microcontroller for your application is very important. There are several things to consider including technical features, cost and size. It is necessary that you should have an idea of your project details, requirements and constraints. First try making a rough idea of your project and problem statements and then you can follow these 10 steps.

1. Know Hardware Requirements
The first thing to consider while choosing a microcontroller is to consider what hardware devices your project need. You must have an idea what hardware peripherals you need to connect with your microcontroller.
  • Does your embedded system needs communication interfaces like UART?
  • Does it needs Ethernet?
  • How many output and input pins you need to connect?
  • Does it needs USB port or other serial ports?
  • Do you want PWM?
These are some questions to think. You can reduce your choices from a number of microcontrollers by considering the hardware requirements.
2. Know Software Requirements
Just as hardware of the project, you need to know the software required by your project. The software requirement is also important to consider.
  • What processing speed is required?
  • What type of calculations are involved?
  • How much processing power is required?
  • What are the timing constraints?
Once you have all these answers you can look for the microcontroller that can fulfill the purpose.
3. Architecture
The architecture of a microcontroller is the internal structure. When you have the idea about hardware and software requirements of the project, you can look for different type of microcontrollers to find the matching ones. They have a number of families and come in a variety of types that include 4 bit, 8 bit, 16 bit and 32 bit. 32 bit microcontrollers are the ones used in embedded systems.
4. Cost and Power Requirements
Cost factor is very important while developing a project or an embedded system. If you require complex functions and operations from your microcontroller, cost will be higher. If it is for a simple application, than a cheap microcontroller can serve the purpose. Power required in your project should also be considered. If you are going to run your system on battery than consider the rating. Consider if your microcontroller meets the power or not.
5. Memory Requirement
The memory size is very serious issue to consider. How much memory is required by your code and How much RAM you need are worth considering. There should be some extra memory from estimated so you will not run short of space.
6. Search Microcontrollers
Up till this step, you have all the information required to start looking for microcontrollers. You can use online information available for different microcontrollers. Also, you can take help of some professional who can direct you to some family of microcontrollers. You will use your previous steps to filter from a wide variety. Search for new products available in the market so you can make better use of all the features.
7. Part Compatibility
Microcontrollers come in a variety of types. It is important to check whether the type you selected is compatible with other tools or not. If you are developing a system for mass production and use, then make sure that the microcontroller you select would be available for your product. And if you try switching from one type to another, then the new one should be compatible with the older one.  
8. Know Software Tools
Microcontrollers come with some standard software tools with them. These tools are provided by the manufacturers and are very useful. They come with assemblers, compilers, debuggers and simulating tools. So it is good to know about all the products available with the microcontroller.
9. Simulation Tools
It is good to use simulation software to check the working of microcontroller. As I told in the previous point, some of the microcontrollers come with simulation tools that are very useful in the development process.
10. Start with Microcontroller kits
Microcontroller kits are very useful for starting your work. If you are beginner, then experimenting with kit can be very interesting. You can start with mini projects or you can build small circuits for testing purposes. If you already know how to work with microcontrollers then you can skip this step. These are the 10 steps that you can go through while selecting a microcontroller for your project. The more you know about your requirements and different products available, it becomes easier to select the best suited microcontroller.
Syed Zain Nasir

I am Syed Zain Nasir, the founder of <a href=https://www.TheEngineeringProjects.com/>The Engineering Projects</a> (TEP). I am a programmer since 2009 before that I just search things, make small projects and now I am sharing my knowledge through this platform.I also work as a freelancer and did many projects related to programming and electrical circuitry. <a href=https://plus.google.com/+SyedZainNasir/>My Google Profile+</a>

Share
Published by
Syed Zain Nasir