C# MonthCalendar Control

Hello Everyone! I'm back to give you daily dose of information that resonates with your needs and requirements. Today, I'm going to uncover the details on the introduction to C# MonthCalendar Control. It is referred as a graphical interface that is widely used to modify and set date information based on your requirements. It is slightly different than DateTimePicker control in which you can select range of dates. DateTimePicker allows you to set both date and time, however, MonthCalendar control gives you a permission to select date only, but it gives you flexibility of selecting range of dates. Let's dive in and explore what this control does and what are its main applications.

C# MonthCalendar Control

  • C# MonthCalendar Control is known as graphical interface that is used to modify and select range of date information for required application.
  • In order to create C# MonthCalendar control, open the windows form application and go to Toolbar appearing on the left side.
  • Find the MonthCalendar control, drag and drop it over the Form.
  • You can play with it and move it around over the Form with the help of mouse.
  • There is another way of creating the MonthCalendar control. Just double click on the MonthCalendar control, it will automatically place the MonthCalendar control on the Form.

MonthCalendar Control Properties

  • In order to set the MonthCalendar control properties, just right click on the MonthCalendar control and go to properties.
  • Properties window will appear on the right side of the windows form application.
  • MonthCalendar control comes with different useful properties including, name, location, font, forecolor, back color, margin, MaximumDate, MaximumSize etc. Let’s discuss them one by one. Following window will appear as click on the properties.
Name
  • Name property defines the specific name of the control that is used to access it in the code. In the figure above, MonthCalendar control name is monthCalendar1.
BackColor and ForeColor
  • BackColor property is used to change the background color of the MonthCalendar control.
  • ForeColor is used to display text within a month.
SelectionRange and SelectionStart
  • SelectionRange is widely used property which defines the selected range of dates in the control.
  • SelectionStart property specifies the start date of the selected range of dates.
FirstDayOfWeek and ShowTodayCircle
  • FirstDayOfWeek property gives you an option to start week in the application with your preferred day. By default Sunday is selected as the start of the week and Saturday is considered as the last day of the week.
  • ShowTodayCircle property is used to set the circle around current date. By default the value of this property is set as true. You can set it to false if you want to remove the circle around the current date.
ShowDate, MinDate and MaxDate
  • ShowDate property displays the current date at the bottom of the calendar if its value is set as true. Setting the value to false will disappear the date at the bottom of the calendar.
  • The maximum and minimum time period in the control is set by using two properties MaxDate and MinDate. MaxDate determines the maximum valid date for the control.
  • MinDate determines the minimum valid date for the control.
  • The Visual Basic version we are using shows MaxDate as 12/31/9998 and MinDate as 1/1/1753
CalendarDimensions and TodayDate
  • CalendarDimensions determines the number of months in a single grid. Default dimension is set as (1,1) which will only display one month range in the grid.
  • Maximum 12 month can be displayed in a single grid. And maximum dimension you can set is (4,3) which shows 12 months in four columns and three rows.
  • Following figure shows two columns and two rows in the calendar grid because dimensions are set as (2,2)
  • Following code can be used to set the number of months vertically and horizontally.
monthCalendar1.CalendarDimensions = new System.Drawing.Size (3,2);
  • TodayDate is very useful property that determines the current date it captures from the system. Great thing is that you can select any date explicitly using TodayDate property and set it as current date.
ShowWeekNumbers
  • ShowWeekNumbers property allows you to display week number on the calendar. By default this property value is set as false.
  • Set this value as true if you want to display number of weeks in the current month of the calendar.
  • In the following figure, 9,10,11,12,13,14 are the week numbers of the calendar year.
BoldedDates and Dock
  • BoldedDates is an important property that is used to highlight some dates on the calendar.
  • In order to create bold dates, right click on the calendar and go to properties.
  • Find the BoldedDates property and click the ellipsis of its field.
  • This will allow you to open DateTime Collection Editor from where you can bold the dates of your own choice.
  • You can click add in order to create date member.
  • As you click add, DateTime field would appear under which you can select any date value.
  • Repeat the same process again if you want to bold more dates on the calendar. Following figure shows how you can bold some dates.
  • In order to create bolded dates in the code, you must create DateTime object. Add following code if you want to create specific dates in bold numbers.
            DateTime myVacation1 = new DateTime(2018, 3, 16);
            DateTime myVacation2 = new DateTime(2018, 3, 17);

            monthCalendar1.AddBoldedDate(myVacation1);
            monthCalendar1.AddBoldedDate(myVacation2);
 
  • Dock property determines the location on the calendar on the main Form. It comes with different values including top, bottom, right, left, fill and none.
Example 1
  • Following example shows two month of the calendar year in the MonthCalendar Control.
  • This example shows how you can bold some specific dates of your own choice and how you can make use of properties like MaxDate, MinDate, MaxSelectionCount, ShowToday, ShowTodayCircle etc.
  • The DateSelected event is also used and its output is displayed on the form.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication26
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e)
        {
            DateTime myVacation1 = new DateTime(2018, 3, 16);
            DateTime myVacation2 = new DateTime(2018, 3, 17);

            monthCalendar1.AddBoldedDate(myVacation1);
            monthCalendar1.AddBoldedDate(myVacation2);
            this.monthCalendar1.CalendarDimensions = new System.Drawing.Size(2, 1);
            this.monthCalendar1.FirstDayOfWeek = System.Windows.Forms.Day.Tuesday;
            this.monthCalendar1.MaxDate = new System.DateTime(2028, 12, 31, 0, 0, 0, 0);
            this.monthCalendar1.MinDate = new System.DateTime(1990, 1, 1, 0, 0, 0, 0);
            this.monthCalendar1.MaxSelectionCount = 20;
            this.monthCalendar1.ShowToday = true;
            this.monthCalendar1.ShowTodayCircle = true;
            this.monthCalendar1.ShowWeekNumbers = true;

            this.monthCalendar1.DateSelected += new System.Windows.Forms.DateRangeEventHandler(this.monthCalendar1_DateSelected);
            

        }
        private void monthCalendar1_DateSelected(object sender, System.Windows.Forms.DateRangeEventArgs e)
        {
            // Show the start and end dates in the text box.
            this.txtLabel.Text = "Date Selected: Start = " +
                e.Start.ToShortDateString() + " : End = " + e.End.ToShortDateString();
        }
  • And in Visual Studio Windows Form Application code will appear like below.
That's all for today. I hope you have enjoyed the article. However, if you need help, you can ask me in the comment section below. I'd love to help you in this regard according to best of my expertise. Stay Tuned!

4 Reasons Why you Need Nero Platinum

Who doesn’t love movies and music? Being able to burn your favorites forms of media onto discs is a great way to take them with your wherever you go. There are a number of programs out there that will allow you to do this type of burning, but none of them is as reputable and easy to use as Nero Platinum. For years, people have used this brand of software to help them with their media creation needs. The new addition of Nero Platinum has just about everything you need to bring the digital media you love to life. Are you ready to Get Nero Platinum? If so, be sure to visit the Coupon Buffer website for a great discount. Here are some of the reasons why investing in Nero Platinum is a great idea.

A Great Video Editing Program

Are you a video creator that needs more tools to bring your visions to life? With the Nero Platinum video editing program, you will be able to enjoy an endless array of tools to use on your creations. This program features over 800 effects and a number of templates you can use right away. Nero understands just how important it is to have an easy to use program when editing videos, which is why they have made the Nero Platinum so easy to handle. If you have problems removing the black bars from your videos when showing them on larger televisions, the one click bar remover included with the Nero Platinum program is a great option. You will also be able to flip the orientation of the video with the click of a button. The main goal the team at Nero Platinum have for their users is providing them with all of the tools they need to take their creations to the next level.

Speed up the Burning Process

One of the biggest complaints most people have about disc burning software is that it takes a long time to complete. The last thing anyone wants is to be waiting around their computer all day for a single disc to burn. The best way to avoid this issue is by invested in the Nero Platinum software. Not only does this program allow you to burn discs quickly, it helps you keep your data safe as well. Each of the discs you burn can be password protected and encrypted. This means no one will be able to get access to the sensitive information you have on your discs without your permission.

Manage Your Media With Ease

If you are like most people, you have a lot of duplicate photos and videos on your computer. This will online lead to your memory being depleted over time. The more memory you have tied up in these duplicate pieces of media, the slower your computer will ultimately run. The duplicate manager tool built into the Nero Platinum will allow you to detect duplicate media and get rid of it in a hurry. All of the media on your computer will be contained within the Nero Platinum Media Home spot. This means you will be able to easily find what you need in a timely manner. By having everything so accessible, you will be able to save more of your valuable time.

Easy to Operate

The main benefit that comes with investing in Nero Platinum is that it is very easy to use and powerful. Regardless of if you are a hobbyist or a professional photographer, you will have plenty of tools to work with on this program. If you are tired of using outdated and hard to operate pieces of media burning software, then now is the time to make the switch toNero Platinum. You can get the tools you need without paying too much with the Nero Platinum software program. What are you waiting for? Download the Nero Platinum program today!

Introduction to 4n25

Hey Fellas! We always strive to give you useful information that resonates with your needs and requirements. Today, I'm going to unlock the details on the Introduction to 4n25. It is a standard single channel 6 pin optocoupler that contains silicon NPN phototransistor and gallium arsenide infrared LED. It is widely used in motor drive and control, communication and networking, and power management. I'll try to cover every aspect related to this optocoupler so you don't need to go anywhere else and find all information in one place. Let's dive in and explore what it does and what are its main features.

Introduction to 4n25

  • 4n25 is a standard single channel 6 pin industry standard phototransistor coupler that contains silicon NPN phototransistor and gallium arsenide infrared LED.
  • It is also known as an optocoupler, photocoupler, or optoisolator.
  • The main purpose of this device is to transfer an electrical signal between two electrically isolated circuits by using light.
  • Simply put, the input signal is transformed into light, which then sends to the dielectric channel, the light is extracted at the output and then it is transformed back to the electric signal.
  • Optoisolator is very useful when Electronic power transmission lines are encountered with high voltage surges that can be induced by radio frequency transmissions and lighting.
  • Remote lighting strikes are able to produce surges up to 10kV, which is much larger than voltage limits of any electronic device.
  • Optocoupler prevents the high voltages surges from entering the system which ultimately keeps the system from permanent damage.
  • Reinforced protection capability makes this device an ideal choice for applications where voltage surge happens and it protects both the equipment and user who is operating the equipment.
  • The LED used in this device converts input electrical signal into light.
  • A photosensor that can be phototransistor, photodiode, or photoresistor is incorporated in the device to directly produce electric energy by detecting the incoming light.
  • This device also comes in lead formed configuration which makes it suitable for surface mounting.
  • Phototransistor output with base connection makes it an ideal choice for most of the applications including reed relay driving, AC mains detection, logic ground isolation, telephone ring detection, switch mode power supply feedback.
  • It comes with an input-output coupling capacitance of less than 0.5 pF, has interfaces with common logic families, industrial standard dual-in-line 6-pin package. and isolation test voltage of 5000 Vrms.
4n25 Pin Configuration
The 4n25 photocoupler mainly consists of 6 pins which are as follow. 1. LED Anode 2. LED Cathode 3. N.C 4. Emitter 5. Collector 6. Base
  • The LED used in this optocoupler is used for transferring electric signal into light. The LED anode is the positive side of the LED and LED cathode is the negative side of the LED.
  • The phototransistor is a photosensor that produces electric energy by detecting input light signal.
Absolute Maximum Ratings
Following figure shows the absolute maximum ratings of 4n25.
  • You can see from the figure, a reverse voltage is 6 V and forward current is 60 mA.
  • Maximum power it can dissipate is 70 mW. Collector-emitter breakdown voltage is 70 V and is denoted by Vceo.
  • Similarly, the emitter-base breakdown voltage is 7 V and is denoted by 7 V.
  • These absolute maximum ratings are obtained at an ambient temperature of 25 C
  • It is important to note that if stresses are exceeded above absolute maximum ratings, they can damage the device permanently.
  • Similarly, if absolute maximum ratings are applied for the extended period of time, they can affect the device reliability.
Electrical Characteristic
Following figure shows the electrical characteristics of the photocoupler 4n25.
  • The maximum and minimum values in the figure above are testing requirements.
  • Typical values are considered as the result of the engineering evolution and are characteristics of the device.
  • Typical values are used for information purpose only and they are not related to any testing requirement.
  • You can see from the figure, isolation test voltage is 5000 V and maximum saturation voltage is 0.5 voltage.
  • You must take one thing into consideration, these electrical values don't define the quality of the product.
Applications
The 4n25 is widely used in many electronic applications because of its advanced features and characteristics. Following are some applications it is used for.
  • Solid State Relays
  • I/O Interfacing
  • General Purpose Switching Circuit
  • Reed Relay Driving
  • AC mains detection
  • Logic Ground Isolation
  • Telephone ring detection
  • Switch mode power supply feedback
  • Motor drive and control
  • Communication and networking
  • Power management
That's all for today. I hope you have enjoyed the article and got useful 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. Your feedback and suggestions are highly appreciated, they allow us to give you quality articles that meet your expectations. 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!

Different Types of PCB(Printed Circuit Board)

Hello Everyone! I hope you all are doing well. Today, I am going to share the 12th chapter in the PCB learning series. In today's lecture, we will have a look at the Different Types of PCB(Printed Circuit Board).

We are familiar with the PCB, it is a printed circuit board that contains traces, lines and paths to electrically connect electronic components. It consists of a substrate on which copper conducting material is laminated for creating an electrical connection between components.

Let's dive in and explore these types of PCB boards:

Types of PCB(Printed Circuit Boards)

Following is the list of available types of PCB types. You can choose any PCB based on your requirements:

  1. Single-Layer PCB
  2. Double Layer PCB
  3. Multilayer PCB
  4. Rigid PCB
  5. Flex PCB
  6. Rigid-Flex PCB
  7. High-Frequency PCB
  8. Aluminium Backed PCB

1. Single Layer PCB

  • A single Layer PCB contains only one layer of conductive copper foil.
  • One side of the base material(substrate) is laminated with metal(normally copper) that is used to build an electrical connection between the components soldered on the board.
  • Copper is mostly used for creating a conducting path because it acts as a good conductor and comes with low resistance.
  • A solder mask is used on top of the copper layer which provides solid protection.
  • On the top of the solder mask, there exists a silkscreen coating that is used for marking the elements on the board.
  • Single-layer PCB is an ideal choice for beginners, as mostly used in simple electronics which don't involve complex circuitry.
  • They are easy to manufacture and less time-consuming.
  • Cheap cost and easy availability make these PCBs an ideal choice for hobbyists.
  • These low-cost boards are widely used in many applications including stereo components, calculators, cameras, power supplies and printers.

2. Double-Layer PCB

  • Double-Layer PCB contains two layers of copper material and substrate material is present in between these copper layers.
  • Both layers are connected to each other using holes(called vias) drilled into the boards.
  • Components on these PCB boards are connected using two technologies i.e. Through Hole Technology and Surface Mount Technology.
  • Double-sided PCB features a moderate level of complexity and is mostly used in applications including automotive dashboards, LED lighting, vending machines, amplifiers, HVAC system, instrumentation etc.

3. Multilayer PCB

  • Multilayer PCB contains multiple layers of copper and is designed with a combination of single-sided and double-sided PCB boards.
  • A layer of insulation(substrate material) is placed between each board in order to provide protection that prevents the components from burning in case of excessive heat.
  • Multiple layers allow the professionals to design complex designs which help in accomplishing complex electrical tasks.
  • The extra layers incorporated in the multilayer design are very helpful and often used for preventing electromagnetic interference emitted by the design itself.
  • Multilayer PCBs are widely used in a number of applications including Satellite systems, GPS technology, Data storage, File servers and Weather analysis systems.

4. Rigid PCB

  • Rigid PCB has a hard base material(substrate), normally of fiberglass/epoxy resin and provides strength to the circuits by making them rigid.
  • A computer motherboard is an ideal example of a rigid PCB that is composed of rigid substrate material.
  • The motherboard is a multilayer PCB that is designed to distribute electricity from the power supply and helps in creating a conducting path between different parts of the computer including CPU, RAM and GPU.

5. Flexible PCB

  • Flexible PCB can flex or transform into any shape based on needs/requirements.
  • Flexible PCBs are also referred to as Flex Circuit and use plastic material in contrast to rigid PCBs, which use fiberglass that provides rigidity and strength to the PCB.
  • The conducting material used in these PCBs is mostly composed of polyester, polyamide or PEEK (Polyether ether ketone).
  • These PCBs pertain to a high level of complexity and come with different layers ranging from single-sided, double-sided or multi-layer flex circuits.
  • The flexible nature sets these PCBs apart from others as they can be folded and wrapped around the corner.
  • In order to avoid environmental hazards, flexible PCBs are composed of materials that are resistant to high-temperature oils, corrosion-resistant, waterproof and shockproof.
  • These flex circuits are used in a wide range of applications including Flex solar cells, LCD fabrication, Cellular telephones, automotive industries, Laptops, cameras, LEDs and many more.

6. Rigid-Flex PCB

  • Rigid-Flex PCB is manufactured when a flexible PCB is combined with a rigid PCB.
  • This gives both flexibility and strength to the electronic product.
  • Rigid-Flex PCB is more expensive and difficult to design as compared to Rigid or Flexible PCB.
  • Less space required to construct a whole circuit and minimum weight makes these PCBs an ideal choice for handheld electronic devices including pacemakers, automobiles, cell phones and digital cameras.

7. High-Frequency PCB

  • High-Frequency PCB is slightly different in terms of construction and material used for traditional PCB and is capable of transmitting signals over 1GHz.
  • These PCBs are often composed of materials like polyphenylene oxide, Teflon, and glass-reinforced epoxy laminate.
  • Small dielectric constant makes Teflon, an expensive choice for high-frequency PCB and it also provides low water absorption and small dielectric loss.
  • You must take some things into consideration before choosing high-frequency PCB for your projects like dielectric thickness, dielectric constant and power dissipation.
  • The dielectric constant is the most important feature when it comes to choosing high-frequency PCBs because if the dielectric constant changes too quickly and is unable to maintain a constant state, it leads to corrupting the digital signal which affects the overall performance of the signal.
  • Similarly, dielectric loss is directly proportional to the signal loss and it also affects the signal transmission quality. Smaller dielectric loss leads to smaller signal loss.
  • High-Frequency PCBs, if used in a wet environment can affect the dielectric constant.
  • The material selection for making these PCBs is very important, the material you pick must be resistant to heat and hazardous chemicals and provides strength and durability to the PCB surface.

8. Aluminum-Backed PCBs

  • Aluminum Backed PCBs are similar to copper PCBs with some exceptions i.e. Substrate in aluminum-backed PCBs is made up of aluminum.
  • These PCBs are coupled with insulating material that provides less thermal resistance, avoiding the heat from transferring to its backing.
  • Aluminum is inexpensive, making almost 8.23% of the planet's weight, and leads to the most economical manufacturing process.
  • PCBs made up of aluminum are easily recyclable and non-toxic in nature.
  • Aluminum is very durable than its counterparts like fiberglass or ceramic and pertains to less damage during the installation and manufacturing process.
  • And aluminum is an ideal choice for dissipating heat from the circuit components, allowing the heat to transfer into the atmosphere rather than transferring it to the rest of the board.
  • Aluminum Backed PCBs are widely used in high-output power applications including power supplies, automotive lights, traffic lights, motor controllers etc.
  • Aluminum-baked PCBs also pertain to high mechanical stability and have the capability of bearing high mechanical stress.
  • In contrast to fiberglass boards, aluminum-backed PCBs provide less thermal expansion, allowing the copper foil and insulation to stay placed on the board, hence helping in increasing the overall lifespan of the board.

That's all for today. In the next tutorial, we will have a look at the Single Layer PCB in detail. I hope you have enjoyed these different types of PCB. However, if still you feel any doubt 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. 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.

Introduction to PCB(Printed Circuit Board)

Hello everyone, I hope you all are doing great. Today, I am going to start a new tutorial series on Printed Circuit Boards, abbreviated as PCB. It's going to be a quite lengthy series so I have divided it into multiple chapters. We will start from the basics and will gradually move towards complex concepts. In this series, we will cover everything related to PCB i.e. PCB Types, materials used in PCB designing, online software and tools to design PCB layouts, online PCB Fabrication Houses to manufacture PCB etc. So, stay tuned to this series, if you want to be a PCB expert.

As today's our first chapter in this series, so we will discuss the basics of PCB i.e. What is PCB? History of PCB? How its evolved from simple boards to complex designs? What makes it useful in the latest technology? etc. So, let's hop on the board and dive in the details of PCB:

Introduction to PCB

  • PCB is an acronym for Printed Circuit Board used to connect the electronics components with each other using pads and tracks incorporated on a laminated copper sheet.
  • In simple words, a copper layer is laminated on an insulating sheet/board(developed using epoxy) and we place electronic components on this board.
  • The copper layer has:
    1. Tracks: to allow the current flow from one component to another.
    2. Pads: to connect/solder electronic components to these tracks.
  • A simple PCB board with labels is shown in the below figure.

Why do we need PCB?

  • If you have worked on any electronics projects, you must have the idea of Breadboard and Verboard. Both of them are used to create electronic circuits.
  • Breadboard is used normally for academic purposes i.e. when you want to study the behavior of electronic circuits. We just place our components on the breadboard and get the desired output.
  • In the case of Veroboard, we need to solder these components, in order to make our circuit work and it's normally used in custom-build projects, where you need to design the circuit once.
  • But what if, you are designing a product and you want these circuits in bulk? That's where PCB comes into action.

How to design a PCB?

  • In order to design a PCB, you should have a complete understanding of electronics.
  • Suppose, I want to design a PCB of a DC Motor driver, first of all, I should have a complete understanding of its circuit and that's where we use Breadboard/Veroboard.
  • So, before designing a PCB, you should first create a prototype to test the working of your circuit.
  • Once you are satisfied with your circuit's working/output, then move towards designing its PCB.
  • In the PCB designing process, the first thing we need to do is to create a software image of the PCB circuit.
  • There are different software available for PCB designing i.e. Altium, KiCAD, FreeCAD etc. (We will cover these software in our upcoming chapters)
  • Once your PCB design is ready, you will get its design files and will place an order at any PCB Fabrication House.
  • We can also develop a PCB board from its design on our own(will cover that) but it's always recommended to place the order on some online PCB company.
  • You will get local PCB manufacturing companies as well but I would suggest you to try online PCB companies i.e. JLCPCB, PCBWay, AllPCB, PCBOnline etc.

History of PCB

Before the inception of PCB, professionals used laborious methods of point-to-point wiring, in order to connect the electronic components. This method was costly and led to complicated designs.

  • In 1903, Albert Hanson presented multiple-layer flat foil conductors laminated on an insulator board.
  • In 1904, Thomas Edison provided chemical methods of plating conductors on linen paper.
  • In 1913, the print and etch methods were developed by Arthur Berry.
  • In 1925, Charles Ducas developed electroplating circuit patterns.
  • In 1936, Paul Eisler(an Australian Engineer) developed a printed circuit board as a part of the radio set.
  • In 1941, a multi-layer printed circuit was developed.
  • In 1943, during WW II PCB technology was used at a large scale to make proximity fuses.
  • In 1947, electronic circuit-making equipment(ECME) was developed to produce three radio boards per minute.
  • In 1949, the auto-assembly process is developed by Danko having component leads inserted into the interconnection pattern of copper foil and dip soldered.
  • In 1952, Motorola adopted plated circuit board technology on a commercial level in home radios and announced an investment of $ 1M.
  • In 1960, printed circuit boards with reduced weight, size and cost were introduced and used in radios.
  • In 1980, small surface-mount parts were used instead of hole components to make PCB inexpensive.
  • In 1984, the Institute of Electrical and electronics engineers( IEEE) awarded Harry W. Rubinstein an award for the development of printed components and conductors on a single insulating substrate.
  • In 1990, flexible and rigid PCBs were used in different devices.
  • In 1995, High-Density Interconnect(HDI) PCBs were developed.
  • With the passage of time demands for electronics became prevalent, and this made professionals think they should come up with an ideal solution to make the electronics cheap and incorporated in a lesser space.

Composition of PCB

Now let's have a look at the composition of the PCB board. A simple PCB board is composed of different layers that are joined together with the help of heat and adhesive, giving the board a compact shape into a single object. These PCB board layers are named:

  1. Substrate Layer.
  2. Copper Layer.
  3. Solder Mask Layer.
  4. SilkScreen Layer.

Let's discuss each layer one by one.

Substrate Layer

  • The base material, also known as substrate, is composed of fiber glass.
  • The FR4 is the most common fiber glass used today. It is like a solid core that provides rigidity and thickness to the PCB board.
  • Some PCB boards are composed of phenolics and epoxies which are not as durable as FR4 but they are less expensive and come with a unique bad smell.
  • Low-end consumer electronics mostly use these types of substrates.
  • Phenolics come with low decomposition temperature which allows these substrates to erupt and delaminate if solder is placed on board for a long duration of time.
  • The nature of the substrate material defines whether the board will be a Flexible PCB or a Rigid PCB.

Copper Layer

  • Besides the substrate, there exists a thin layer of copper foil.
  • Heat and adhesive are used to laminate the copper foil on the board.
  • Commonly, both sides of the substrate are laminated with copper especially in double-sided PCB, except in cheap electronics where only one side of the board is laminated with copper.
  • The copper thickness varies from board to board and can be defined in ounces per square foot.
  • The one ounce per square foot is suitable for most of the PCB, but applications, where we require more power, come with 2 or 3 ounces per square foot.
  • Each inch per square encompasses 35 micrometers of thickness.

Solder Mask Layer

  • Above the copper layer foil, there lies a solder mask layer.
  • This layer is applied on the copper layer to insulate the copper layer from surroundings, in order to avoid conduction, if direct contact happens with some metal or conductive material.
  • The most commonly used solder mask comes in green color, however, it's available in other colors as well.

Silkscreen Layer

  • Above the solder mask layer, there exists a silkscreen layer that allows the user to add symbols and number for better understanding of the board.
  • Silkscreen labels provide the clear indication of function of each pin and component soldered in the board.
  • Silkscreen mostly comes in white color but there are also other colors available including red, grey, black, yellow etc.
  • Common practice is using silkscreen in single color, as combination of different colors of silkscreen makes it difficult for the user to read the board properly.

PCB Characteristics

Though we have a lot to cover in this topic, which we will in our upcoming lectures but here I just want to mention two basic characteristics of PCB, as they are directly connected to its composition.

Through Hole Technology

  • In Through-hole technology, electronic components are mounted on the PCB board with leads inserted through holes. These leads are then soldered on the other side of the board and the ends are trimmed off.
  • Through-hole technology is used in simple PCBs normally single-sided PCB and double-sided PCB.
  • Earlier PCBs were designed using through-hole technology.

Surface Mount Technology

  • Surface mount technology came into play in the 1960s and became extensively popular till 1990.
  • In surface mount technology, SMD electronic components are used, which are quite small in size and instead of leads, these components have small pads, which are soldered into the PCB surface.
  • Surface mount components are 10 times smaller than through-hole components, making them an ideal choice for complex and advanced applications.
  • Components placement on both sides of the PCB is a common practice in Surface mount technology, providing a much larger circuit density with a relatively smaller PCB assembly.
  • Surface mount devices have a leg over through-hole devices because of their low cost and simple design.

Types of PCB Boards

PCBs can be divided into different types depending on the nature and number of layers used in the boards. Let's have a quick look at a few of them. We will cover this in detail in our upcoming lectures.

Single-Sided PCB Boards

  • Single-sided PCB boards came into play in 1950 and became an ideal choice for simple electronic circuits since then.
  • In single-sided PCB boards, copper tracks are found on one side of the PCB board.
  • Pins of electronic components are inserted from one side of the board to the other side that comes with copper tracks and lines.
  • These pins are then soldered on the copper side in order to provide the conducting path to the components.
  • These types of PCBs are commonly used in many electronic devices including printers, coffee machines, basic electronics circuits and calculators.
  • I have posted a tutorial Interfacing of Arduino with 2 Relay Board, in that tutorial 2 Relay Board's PCB is Single Sided PCB and is shown below:

Double-Sided PCB Boards

  • Double-sided PCB boards are served as a basic component for advanced technology applications.
  • In these boards, copper tracks are applied on both sides of the boards.
  • In order to provide a link between two points on both sides of the boards, holes are created on the boards and then laminated with the copper layer.
  • The components on these boards are electrically connected using two techniques i.e. through hole or surface mount technology.
  • Using through-hole technology, leads also known as wires are inserted in the hole and then each lead is connected to the right component and builds a smooth conducting path throughout the board surface.
  • Wires don't behave as connectors in surface mount technology, instead, the whole board provides a wiring surface where small leads are directly connected to the board.
  • Different functions can be accomplished at a much faster rate with less space using surface mount technology which helps in minimizing the cost and makes the whole project light-weight.
  • Double-sided PCB boards are widely used in applications including amplifiers, vending machines, LED lighting, HVAC systems and general power supplies.
  • Here's an image of Double Sided PCB Board:

Multi-layer PCB Boards

  • Multilayer PCB boards are composed of a number of double-sided PCBs.
  • These boards are then glued together with pieces of insulation in order to avoid excessive heat that can damage the components.
  • Multi-layer PCBs come in different forms ranging from four layers to 16 layers or more.
  • The thickest multi-layer PCB ever developed by professionals was 50 layers thick.
  • These boards are more complex than double-layered PCBs, help in initializing faster operations than standard PCB boards and are very similar to microchip composition.
  • Multi-layer boards are used in a wide range of applications including satellite systems, weather equipment, x-ray equipment, data storage, GPS technology and many more.
  • I have discussed types of PCBs based on a number of layers, however, there are other types too like Aluminum PCB and High-Frequency PCB, but they are used for more robust applications where heat dissipation is required.

Applications of PCB

Now let's have a look at the real-life applications of printed circuit boards, to get an idea of their importance. We are literally surrounded by PCB boards, from mobile chargers to mobiles itself, from dentist machines to engineering cranes, every electronic machinery has a PCB board inside it. Let's discuss a few of them:

  • PCBs are widely used in industrial machinery, where thick copper PCBs are installed in motor controllers, industrial load testers, high-current battery chargers, automated machinery etc.
  • Advanced medical equipment uses high-density PCBs that provide a compact and smallest design possible. The small size and light weight of PCB beautifully replace the old traditional equipment and become an ideal choice for the medical field. These devices are useful for a range of applications from small components like pacemakers to large complex machines like X-Ray machines and CAT scanners.
  • Aluminum-backed PCBs are widely used in LED-based lighting systems which encompass low power consumption and high level of efficiency. These PCBs are capable of transferring heat from one point to another and are considered a step ahead of standard PCBs. These PCBs are the backbone of basic lighting solutions and LED applications.
  • Automotive and aerospace industries are widely surrounded by vibration environment, this is where flexible PCBs come into play.  These PCBs can withstand high vibrations and severe environments due to their flexible and compact design. They can house in tight spaces like instrument gauges and instrument panels. Being lightweight makes it an ideal choice for manufacturing parts of transportation industries.
So, that's all for today.  In the next lecture, we will have a look at the Single-sided PCB in detail. I hope you have enjoyed the basics of Printed Circuit Boards. If you still feel skeptical or have any questions regarding PCB, you can ask me in the comment section below. Keep your feedback and suggestions coming. They help us provide you a quality work that resonates with your needs and expectations. 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.

Best Sites to Get Engineering Homework Help

Hello friends, I hope you all are doing great. In today's tutorial, I am going to share Best Sites to Get Engineering Homework done. Within modern society, time is a precious resource, and it seems that with every passing day there is less of it available. It couldn’t be more accurate than for the world of Academia. Many modern students face the dilemma of time management, where they have too much work and too little time to do it in. Within the field of Engineering, students find that they are overwhelmed with the workload. They become stressed, overworked and can even burn out. This, of course, results in lower grades and ultimately affecting their career paths. However, while the world is getting busier, it also invented services that assist students who find themselves in a bind for time. We’re talking about online web services that can help get your engineering homework done for you, with the exchange of money of course. Today, we’ll be covering three of the best sites you can use to get engineering homework help.

School Sover

One of the powerhouses within the homework helper niche is Schoolsolver.com. It has featured in Forbes, Mashable, TechCrunch and a slew of other well-known websites. Schools over is aligned with their slogan; “The Marketplace for School Projects” and provides exceptional services and features that can assist any engineering student with their school projects. They have a section where students can ask questions to be answered by others. It is a crowd-sourcing strategy to help students with their projects. Furthermore, they have an extensive forum where you can also get a bunch of assistance from it. When it comes to having someone do your homework for you, they have reasonable prices (if you request the project with enough time, the shorter the deadline, the higher the rate) and they also include money back guarantee if you’re not satisfied with the work. You’ll have to make an account to gain access to this website, but if you find yourself struggling to get your engineering homework project done. Schools over is a stellar choice.

Tutor

The next site on our list isn’t a “homework helper” in the traditional sense, but rather a platform where you can get an expert to tutor you on any subject you want. With a large group of active industry professionals available to tutor you on any topic, from Math, Engineering, Medical and much more, you can get the insight to your project you deserve. We know that sometimes it just takes longer to understand the principles within our chosen fields of study. Instead of reaching out to other students, with Tutor.com you can reach out to accomplished professionals that will provide you with accurate insight into your current problem. Furthermore, Tutor.com has a wide range of assistance starting from grade 4 and all the way to post-graduate aid. As you can see, this is the place you wish to visit if you’re looking for professional help to prepare you for your chosen field of study better. Unfortunately, this only geolocates to the US, but anyone from across the globe can gain access to these professionals.

Advanced Writers

Our final candidate for the best websites to get help with engineering homework is Advancedwriters.com. Similar to the first website on the list, this is a homework helper regarding getting your homework done for you in exchange for money. What makes this website so spectacular is all the features they have bundled together to ensure that you feel safe and secure in your homework investment. After all, we know students don’t have a lot of expendable cash on hand, and Advancedwriters.com considers that. Not only do they have a “money back guarantee” they also include confidentiality agreements, unlimited free revisions, on-time delivery and much more. For engineering students who find that they have limited time to get their work done, Advancedwriters.com has plenty of writers on hand extremely familiar with a wide range of engineering disciplines. It means that you will always find someone who is learned within your specific subject and will be able to do your work for you with the authority it deserves. It’s always best to provide the website with more time to do the project since the more extended the due date, the lower the cost per task. It for students on a budget is incredibly talented. Nonetheless, if you’re searching for Engineering homework assistance, Advancedwriters.com is an excellent candidate to consider.

Worried about Plagiarism?

Many students are worried that buying homework is unethical or could be considered as plagiarized, however, the truth is that since you’re purchasing the work, you own the rights to the document. In other words, the work becomes yours under intellectual property laws. Thus, there is no fear of plagiarism or doing anything unethical. Use the websites above freely and worry-free and get the help on your engineering homework you deserve.

Auto Post Facebook Status - SMO Tool

Hello friends, I hope you all are doing great. In today's tutorial, I am going to share a new SMO tool named as Auto Post Facebook Status. I'm quite excited while sharing this software because its my first SEO tool. I will work on more such SEO and SMO tools in the near future. Using this software, now you can quite easily post in many groups automatically. It will be like, you make a click and software will start posting your status in different Facebook Pages & Groups. Before going into the details of this software, let me first give you a brief introduction of SMO. Here's the video in which I have shown How to use this SMO tool Auto Post Facebook Status:

What is Social Media Optimization (SMO) ???

  • If you are a blogger and you have done some SEO in your life, then you must be aware of the power of social sharing sites.
  • Increasing the social sharing counts of your blog post / web page is simply called Search Media Optimization (SMO), which is an essential factor in SEO.
  • Google tends to give higher ranks to sites with good social sharing counts.
  • There's a long list of social media sites and few of them are Facebook, Google+, Twitter, Pinterest, StumbleUpon, Digg, Reddit etc.
  • Here's a screenshot of social media counts of my blog's homepage:
  • So, I hope you have now got the basic idea of SMO.
  • Just remember one thing, its always a good approach to have high social sharing counts for your blog posts or web pages.
  • Now, as I am sharing a Facebook tool today, so I am gonna focus on Facebook only. So let's have a look at How Facebook Sharing works:

Facebook Sharing Counts for WebPages

  • When you share your blog post on Facebook, then it gets an increment in its Facebook Like Count.
  • Now when someone likes your shared Facebook post then it also ads up in the same count.
  • Let's have a look at this below image:
  • In the above image, you can see that I have shared one of my blog's post on my Facebook Page.
  • Moreover, I have got 1 Fb Like and 1 Fb Share on this Facebook Post.
  • So, in total I will get an increment of 3 Facebook Likes on my Blog Post.
  • That's the difference between a normal Facebook Like and Blog Post's Facebook Like.
Bottom Line:

So the bottom line for all this discussion is that:

  • Normal Facebook Post: Like and Share counts separately.
  • For Blog Post: Like and Share counts in single variable. So, if you have 5 Like and 8 Shares then in total you have 13 Facebook Likes.
  • If you want to increase Facebook Likes for your Blog Post then share it on Facebook as much as you can.
  • You can create different Facebook Pages and Groups where you can share your Blog Posts.
  • Now I hope you have got the idea off how Facebook Like Count works, so now let's have a look at my SMO Tool Auto Post Facebook Status.

Auto Post Facebook Status - SMO Tool

  • As I have explained earlier, if you want to increase Facebook Likes for your Blog post then share it as much as you can.
  • For example, you can create a single page and you share your blog post 100 times on it.
  • When Google will have a look at it, it will see 100 Facebook Likes. :)
  • Here's the main idea behind this SMO Tool:
Main Idea
  • You have to create a New Facebook account and make sure that its verified completely.
Important Note:
  • You can also use your original Facebook Account with this tool as its totally secured. In my video, I have used my own account, I am so sure because I have designed it. :P
  • But still if you wanna be on safe side then you should use New Facebook Account.
  • Now after creating your Facebook Account, now you have to create as much Facebook Pages as you can. That's a one time effort.
  • You can create 2 or 3 for testing first but I would recommend you to have around 100 Facebook Pages. Because you have to do it once.
  • Now suppose you have a Facebook account and you are admin of 100 Facebook pages.
  • You must have noticed that when you share on any Facebook Page as an admin then it shows the name of the Page instead of your profile name, as in below figure:
  • In the above image, I have posted both of these statuses but one on my personal profile while second on the Facebook Page.
  • That's the reason I have selected Facebook Pages instead of Facebook groups because when you post in groups it comes under your profile name.
  • So, now next thing is Facebook ban policy, which is the main concern.
  • If you post a same status in 100 different groups then Facebook will immediately ban you because it will detect the spamming. But if you post in 100 different Facebook Pages then for Facebook its not spamming because Facebook will think that 100 different Pages are updating their status. That's the real trick here. :P
  • Now the only problem left is continuous posting to these Facebook Pages and for that I have created this SMO tool Auto Post Facebook Status.
  • So, now what you need to do is, you just need to create 100 Facebook Pages (SMO tool works with any number of pages) and then log in your Facebook account using this SMO tool, Give you status which you want to update and click update.
  • This SMO tool will share your status (which has blog Post link) in all of these Pages automatically.
  • You can also increase the rounds like if you wanna post it 5 times in each page then it will do that as well.
  • I hope you have got the Main Idea behind this SMO Tool, so now let's have a look at How to use Auto Post Facebook Status:
Installation
  • First of all download the setup file by clicking below button:

[dt_default_button link="https://www.theengineeringprojects.com/DownloadSoftware/Auto Post Facebook Status.rar" button_alignment="default" animation="fadeIn" size="medium" default_btn_bg_color="" bg_hover_color="" text_color="" text_hover_color="" icon="fa fa-chevron-circle-right" icon_align="left"]Download SMO Tool[/dt_default_button]

  • Unrar the files and you will find three files and one folder in it. You need to focus on these two files:
    • Setup.exe
    • fbPageLinks.txt
  • Click on the Setup.exe file, you will need .NET Framework 4.0 for this software to work.
  • fbPageLinks.txt is the file, which will contain the links of all your Facebook Pages / Groups. ( I would recommend to use Pages only to avoid Facebook ban)
  • So add all your Facebook Page links in the fbPageLinks.txt file and make sure to follow the same syntax.
  • You must have '@' this sign before each Page Link.
  • Moreover, replace 'www' with 'm', as it will open it in mobile form so will load faster.
  • Here's a screenshot of my Facebook Page Links text file:
  • You can follow the format as shown in above image. These are my Facebook Pages on which I share my blog links using this SMO Tool.
  • Now start your SMO Tool Auto Post Facebook Status and here's the first look of SMO Tool:
  • It will first verify that whether you are connected with internet or not and also if you have the latest version.
  • After successful verification, the software will open up as shown in below figure:
  • The other social networks are not yet ready that's why I have disabled them. I am working on Pinterest which is almost complete and I will share it soon. Rite now Facebook is ready to play with. :)
  • So click on this button which says Auto Post Facebook Status and a new window will open up as shown in below figure:
  • Now you can see in the above figure that it has three parts.
  • So First of all, you need to enter below three things:
    • FaceBook Email
    • Facebook Password
    • Browse to the file fbPageLinks.txt (which has all your Facebook Pages Links in it).
  • Now click on the Facebook Login Button and if you have entered everything successfully you will get something as shown in below figure:
  • Now you can see I am logged In with my original Facebook Profile, I have blacked out my email. :P
  • Make sure that your Facebook Profile doesn't have any security checks because it will cause problem in logging in.
  • Sometimes it asks the user to click on some link to verify, in that case you have to do it manually in this small Facebook window.
  • When the above tab says Successfully Logged In then that means you are good. If it doesn't give you that status then you have something wrong. :P
  • Now I hope that you have successfully logged In your Facebook account so now we need to update our Facebook Status and as you can see I have added link of my site.
  • After that select the total Facebook Links which is the number of Facebook Pages on which you wanna share.
  • You can use any number of Facebook Pages or Groups.
  • Now let me explain this Rounds thing. Suppose you have 10 Facebook Links then our software will start from 1 and will stop at 10, this is called 1 round.
  • So if you select 5 rounds then software will start from 1 to 10 and will do it 5 times.
  • Now let's do a little calculation, if you have 100 Facebook Pages and you select 10 as rounds then it will share your link in 100 Pages and for 10 times each.
  • So, in total you will get 10 x 100 = 1000 Facebook Likes with just a single click.
  • I have used it with 100 Pages and 10 as rounds and Facebook had no problem :D and I got 1000 Likes on my blog post which is very good in the sight of Google. ;)
  • Moreover when you share such stuff with 100 Facebook Pages then you get some audience too with time.
  • Its pretty simply once you had it running but the installation is a little difficult. you will get it and if you got into any trouble then you can ask us. :)
  • Here's a screenshot of this software while posting in my Facebook Pages:
  • In the above figure, you can see that it has posted in the Proteus Projects Facebook Page, which is the 9th Page.
  • It will give the link as well as count of the Page.
  • I have shown the working of this SMO Tool in below video in detail which will give you quite clear idea about How to use it.
  • It's a free version that's why it has a small restriction that it will also share one of our Blog Post Link in the Page or Group along with your status.
  • If you want to buy a Full Version then contact us.
  • Here's a video demonstration of its working:
Important Notes about SMO Tool:
  • It's better to use your original account because it will get low chances of being banned by Facebook.
  • Software will work with both Facebook Pages and Groups. I would recommend you to use Facebook pages if you want bulk likes. But if you just want to share stuff with audience then you should use Groups. Maximum Limit of Groups is 30 I guess.
  • Facebook gives warning first so if you get a warning then that means you are using it a lot, reduce your Facebook pages or rounds.
  • If you have any problems in Logging In then solve it manually, have some interaction with this Facebook window and make sure that you got Successfully Logged In at the status bar.
  • It may have some bugs in it because I am still working on it and testing as well so if you got into any trouble then simply restart it.
  • If you still got into any troubles then you can contact us and our team will help you out.
So, that was all about toady. I hope you will enjoy this SMO Tool and will let me know about your suggestions. Have a good day. Take care and have fun !!! :)
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