# OpenLabpro > Embedded system learning ## Posts - [OpenLab Seven Segment Display Board Hookup Guide](https://openlabpro.com/openlab-seven-segment-display-board-hookup-guide/): Introduction Seven segment displays are the simple form of displays used to display decimal numbers. They come into picture when there is a need for counting like applications in the projects. Seven segment board contains 4 displays and it can be interfaced to any port using the FRC cable provided with the OpenLab. It needs... - [OpenLab I/O Board Hookup Guide](https://openlabpro.com/openlab-io-board-hookup-guide/): IO board is the acronym for input/output board. As the name hints, the IO board can be configured into input or output modes by turning the corresponding switches on and off. During the input mode, the push buttons can be used as inputs. There are 8 switches which can be connected to a port using... - [OpenLab Breadboard Hookup Guide](https://openlabpro.com/openlab-breadboard-hookup-guide/): Breadboards are the solderless electronic platform for wiring prototype electronics circuits for testing initial models and ideas. OpenLab includes a 170 point breadboard for wiring up directly. The breadboard is useful for wiring and connecting small circuits, ICs and sensors to the OpenLab. All port pins are available around the breadboard, so it is easy... - [How to Test and Debug Connections in Openlab PIC](https://openlabpro.com/how-to-test-and-debug-connections-in-openlab-pic/): OpenLab makes the testing and debugging process easier. It has support for official and third party debuggers including PICkit3 and ICD3. Using these in-circuit debuggers, you can debug the board from within MPLABX IDE. In addition to debugging support, each section has some unique features built-in especially for the ease of testing and debugging. Test... - [OpenLab Motor Relay Board Hookup Guide](https://openlabpro.com/openlab-motor-relay-board-hookup-guide/): Microcontrollers cannot drive motors and relays because of their high current requirements. In order to drive them, we need special current drivers. Motor relay board comes into the picture because of these requirements. Motor relay board drives motors and relays by supplying sufficient current. It can drive one relay and four DC motors or one... - [OpenLab Keypad Hookup Guide](https://openlabpro.com/openlab-keypad-hookup-guide/): Keypad Keypads are a set of buttons arranged in a block usually embedded with alphabets, symbols, and numerals. It can be otherwise regarded as an assembly of digits and symbols which allow the user to enter numeric values, symbols or alphabets. The keypad is a widely used, efficient input method. Keypads are mainly used for... - [SPI in PIC Microcontrolletr](https://openlabpro.com/spi-module-in-pic18f4550/): SPI which is the abbreviation for the serial peripheral interface is an interface bus that transmits data between microcontrollers and small peripherals including sensors, SD cards, and shift registers. It was Motorola which introduced SPI in the year 1979 This is also referred to as four wire serial bus. There are similar protocols available such... - [OpenLab GLCD Hookup Guide](https://openlabpro.com/openlab-glcd-hookup-guide/): Graphical LCD Unlike a character LCD which can only display alphanumeric characters, a graphical LCD can display any type of element provided by the user. It means a graphical LCD can display images, fonts, and other structures. With the help of a graphical LCD, one can display 8192 pixels on the screen. OpenLab uses KS0108... - [OpenLab LCD Hookup Guide](https://openlabpro.com/openlab-lcd-hookup-guide/): A character LCD is the most basic form of an electronic display device which is widely used. An LCD module is the most basic form of an electronic display unit which consists of 2 rows each with 16 columns. Normally an LCD module can display 16 characters. LCD modules which can display up to 20... - [KS0108 Generic Library for PIC18F4550](https://openlabpro.com/ks0108-generic-library-for-pic18f4550/): Samsung KS0108/KS0107 is one of the most popular dot matrix LCD controllers available in the market. They are commonly seen in the graphics LCDs. In this article, we are going to use a universal library available for KS0108 based GLCDs. It supports displays with 128×64 and 192×64 resolutions and can be used with different microcontroller... - [OpenLab SD Card Hookup Guide](https://openlabpro.com/openlab-sd-card-hookup-guide/): SD Card The secure digital memory card is the de facto standard memory card for mobile devices. The SD card has a microcontroller in it.The data is transferred from the memory card and the host controller as data block units of 512 bytes. SD card can be interfaced easily with embedded systems. Basically, an SD... - [OpenLab EEPROM Hookup Guide](https://openlabpro.com/openlab-eeprom-hookup-guide/): EEPROM stands for electrically erasable programmable read-only memory. As the name suggests, it’s content can be programmed and erased with the help of suitable electric pulses. It is a non-volatile memory used in computers and other electronic devices to store a relatively small amount of data but allows individual bytes to be erased and reprogrammed.... - [OpenLab UART RS232 Hook Up Guide](https://openlabpro.com/openlab-uart-hook-up-guide/): UART UART is the abbreviation of Universal Asynchronous Receiver/Transmitter.In a simple sense, it is an integrated circuit for serial transmission based on communication protocols such as RS-232. Serial communication can be either in synchronous mode or in asynchronous mode. UART carries out asynchronous communication and the communication is carried out through two lines, a transmission... - [OpenLab RTC Hookup Guide](https://openlabpro.com/openlab-rtc-hookup-guide/): RTC A real-time clock is a battery powered IC that is usually included in a computer motherboard. A small memory unit in these ICs stores the system description or set up values, including the current time values stored by the real-time clock. The time values are for the year, month, date, hours, minutes and seconds.... - [KS0108 Based Graphic LCD Interfacing with PIC18F4550 - Part 2](https://openlabpro.com/ks0108-graphic-lcd-interfacing-pic18f4550-part-2/): In our previous article, we were discussing features, pin diagrams, internal features of the KS0108 controller based GLCDs and graphic LCD interfacing with a microcontroller. In this article, we are discussing the implementation of different instructions. Instructions in KS0108 Controllers KS0108 controllers have seven instructions, they are given in the following table. The enable pin... - [Basics of SPI](https://openlabpro.com/basics-of-spi/): SPI stands for serial peripheral interface which is an interface bus that transmits data between microcontrollers and small peripherals including sensors, SD cards and shift registers. SPI was introduced by Motorola in the year 1979 and it is also referred to as four wire serial bus. There are similar protocols available such as Microwire developed... - [KS0108 Graphic LCD Interfacing with PIC18F4550-Part 1](https://openlabpro.com/ks0108-graphic-lcd-interfacing-with-pic18f4550-part-1/): A graphical LCD is an electronic display unit which can display any type of elements provided by the user. Unlike a character LCD which can only display alphanumeric characters, a graphical LCD can display images, fonts and other structures. This article gives details of graphic LCD interfacing with a PIC microcontroller. Graphical LCD JHD12864 graphical... - [Interfacing External EEPROM with PIC18f4550 - I2C Based](https://openlabpro.com/interfacing-external-eeprom-with-pic18f4550-i2c-based/): EEPROM stands for electrically erasable programmable read-only memory. EEPROM can be erased and reprogrammed by the user by applying electrical voltages. Its life is limited that it can be reprogrammed only tens, hundreds or thousands of times. Life of EEPROM is a major concern in the design of systems in which memory contents are altered... - [Basics of I2C communication](https://openlabpro.com/basics-of-i2c/): There are two ways in which data is transmitted in a computer system-series and parallel. Devices which make use of serial communication technique transmits data bit by bit. In the parallel communication mode, data is transmitted as blocks. Parallel communication is faster than serial communication. Therefore internal connections in a computer are in parallel mode.... - [Basics of UART](https://openlabpro.com/basics-of-uart/): Parallel Communication vs Serial Communication In a computer system, there are two ways in which data can be transmitted. Series and parallel. In serial communication, data is being transmitted as one bit at a time, while in parallel communication, data is being transmitted as blocks. Since parallel communication is faster than serial communication, the internal... - [Interfacing RTC DS1307 with PIC18F4550](https://openlabpro.com/interfacing-rtc-ds1307-with-pic18f4550/): Real time clocks(RTC) are chips which store and keep track of time. Because of it’s precise functioning, RTCs are are incorporated in personal computers, consumer electronic and embedded devices.This chapter particularly deals with details of interfacing RTC DS1307 with PIC18F4550. RTC A real time clock has registers which store the system description or setup values including... - [RealTerm - Serial Terminal for embedded debugging: Guide](https://openlabpro.com/realterm-guide/): We need monitoring software for capturing and debugging data streams in serial communication, they are called serial terminals. To be a little more precise, serial terminals are software tools used for development purposes, debugging and reverse engineering. They are useful for sending and receiving data sent by serial communication protocols, most notably RS-232 or UART.... - [Pulse Width Modulation](https://openlabpro.com/pulse-width-modulation/): What is Pulse Width Modulation Pulse width modulation is that technique by which a low-frequency signal is being generated from high-frequency pulses. The main use of pulse width modulation is to let the higher load electrical devices to take over the control of the power supplied to the system. In a simpler sense, pulse width... - [Embedded Systems Design](https://openlabpro.com/embedded-systems-design/): When we look around the world we live in, we find many man-made machines running round-the-clock. Have you ever wondered what makes them run continuously? What is the unique system inside these machines that make these devices so user-friendly and reliable? Sometimes we refer these devices as embedded systems? What is that embedded in these... - [Configuration bits For PIC18F4550](https://openlabpro.com/configuration-bits-for-pic18f4550/): Configuration bits For PIC18F4550 Configuration bits are special bits used for controlling different features in the Microcontroller. These are read during startup/reset and enable or disable different hardware features based on the values of bits. Using these bits, we can essentially control where is the clock source, do the application needs watchdog timer etc. They... - [I2C Module In PIC18F4550](https://openlabpro.com/i2c-module-in-pic18f4550/): I2C or inter-integrated circuit is a widely used serial communication protocol in the electronics world. It is a multi-master multi-slave two-wire bus. In this tutorial, we are discussing about I2C module in PIC18F4550, how it can be implemented using firmware. Serial Communication Serial communication is the most commonly implemented method for transmitting the data between... - [Stepper Motor Basics](https://openlabpro.com/stepper-motor-basics/): Stepper motors are type of DC motors used for precise controlled operations. In this tutorial, we are looking into stepper motor basics. What is a stepper motor As the name implies, the stepper motor or simply step motor which is a brushless, synchronous DC motor, moves in discrete steps to complete its rotation. In general... - [Pulse Width Modulation Using PIC18F4550](https://openlabpro.com/pulse-width-modulation-using-pic18f4550/): Pulse width modulation (PWM) is a widely used modulation technique not only in communication systems but also high current driving applications like motor drivers, LED drivers etc. This tutorial explains how to generate pulse width modulation using PIC18F4550. What is pulse width modulation PWM is a digital modulation technique widely used for coding a digital... - [Timer and Counter with PIC18F4550](https://openlabpro.com/timer-and-counter-with-pic18f4550/): Basically, a timer is a clock that controls an event sequence at a fixed amount of time. Timers are used for the precise delay generation and also used to trigger an activity before and after a predetermined time and to measure the time elapsed between two successive events. Here in this chapter how to use... - [Analog to Digital Converter Using PIC18F4550](https://openlabpro.com/analog-to-digital-converter-using-pic18f4550/): Analog to digital converters are electronic devices widely used in today’s digital world as most of the real-time signals are analog ones while the day-to-day devices of the contemporary world are mostly digital devices which can process only digital signals. This chapter describes the functioning of an analog to digital converter using PIC18F4550. Analog to... - [Interfacing stepper motor with PIC microcontroller](https://openlabpro.com/interfacing-stepper-motor-with-pic-microcontroller/): Operation of a stepper motor is similar to that of a dc motor. The myriad applications of a stepper motor include precise motion control systems such as those found in industrial automation, a wide variety of robotic applications like arm movement controllers and systems like 3D printers etc. Interfacing a stepper motor with a microcontroller... - [Speed Control of DC Motor Using PWM](https://openlabpro.com/speed-control-of-dc-motor-using-pwm/): A DC motor is an electro-mechanical device that converts direct current into mechanical energy by means of rotation of a shaft. It works on the principle of Lorentz force by which the current carrying conductor in a magnetic field experiences a force hence the conductor moves on the direction of force called Lorentz force. In... - [RTC DS 1307 Interfacing with PIC Microcontroller](https://openlabpro.com/interfacing-rtc-ds-1307-with-pic-microcontroller/): A real-time clock (RTC ) works like a watch. They are usually included in a computer motherboard. RTC has registers which store the system description or setup values including the current time values stored by the real-time clock. A user can write into these registers for configuring the RTC. This chapter deals with the of... - [4 bit LCD Interfacing with PIC Microcontroller](https://openlabpro.com/4-bit-lcd-interfacing-with-pic-microcontroller/): In the previous chapter, we discussed how a character LCD is interfaced with a PIC microcontroller in 8-bit mode. A character LCD can be configured in 8 bit or 4-bit mode in which 8 data pins and 4 data pins are used respectively this feature allows efficient use of the digital I/0 pins of the... - [16*2 Character LCD Interfacing with PIC Microcontroller in 8-bit Mode](https://openlabpro.com/character-lcd-interfacing-in-8-bit-mode-with-pic-microcontroller/): Here we are discussing various aspects of 16*2 Character LCD Interfacing with PIC Microcontroller in 8-bit Mode. A character LCD is the most basic form of an electronic display device which is widely used. The module will consist of 2 rows each with 16 columns which can display 16 characters. Already discuss LCD in4-bit mode... - [UART Interfacing with PIC Microcontroller](https://openlabpro.com/uart-interfacing-with-pic-microcontroller/): UART is the abbreviation for Universal Asynchronous Receiver/Transmitter and is a commonly used hardware module for serial communication based on communication protocols like RS 232. This chapter discusses how such a device is appropriately interfaced with a PIC microcontroller. The detailed technical process is given below. USART and UART UART is a commonly used hardware... - [DC motor Interfacing with PIC Microcontroller](https://openlabpro.com/dc-motor-interfacing-with-pic-microcontroller/): As the name implies DC motors are electrical machines which work under DC power. It converts electrical energy to mechanical energy. Because of several of its advantages including the high-speed control facilities, DC motors were universally used in myriad applications. Advancement in electronics has recently caused a shift from DC motors to AC powered motors.... - [LED interfacing with PIC Microcontroller](https://openlabpro.com/led-interfacing-with-pic-microcontroller/): The world of electronics has always been vibrant as many exciting new devices and circuits getting added to the overflowing number of devices. Many devices are getting replaced often with the advancement of technology. There are several devices which have proven themselves to be irreplaceable as they have been found quite convenient for different applications.... - [Push button interfacing with PIC Microcontroller](https://openlabpro.com/push-button-interfacing-with-pic-microcontroller/): Push button switches Push buttons are basic input device in an embedded system seen in very simple to highly complex systems. They are the basic mechanical on-off buttons which act as control devices. It short circuits the line when it is pressed and opens when it is not pressed. This chapter deals with the technicalities... - [Matrix keypad interfacing with a PIC Microcontroller](https://openlabpro.com/matrix-keypad-interfacing-pic-microcontroller/): 4×4 matrix keypads are commonly used keypads in embedded applications. Such keypads are seen in telephones and other commonly seen applications. Here in this chapter, we discuss in detail about how a matrix keypad is interfaced to a PIC microcontroller. Matrix Keypad interfacing The advantage of a matrix keypad is that the use of it... - [7 segment display interfacing with pic microcontroller](https://openlabpro.com/7-segment-display-interfacing-with-pic-microcontroller/): This chapter describes how a 7 segment display interfacing with pic microcontroller is being worked out. Seven segment display modules are not a recent invention as it’s first applications were dated back as earlier as in 1910. Seven Segment Display Working A seven segment display module is an electronic device used to display digital numbers... - [Keypad](https://openlabpro.com/keypad/): OpenLab contains a keypad which is 4×4 matrix type and has 8 pins to connect with PIC Microcontroller, so it will use an 8-bit port for interfacing. The keypad can be used in both pull up and pull down mode. J18 is the Keypad Port connector and it should be connected to any one of... - [Special Port](https://openlabpro.com/special-port/): This is a bunch of most used port pins of PIC microcontroller. These ports ease the process of interfacing external modules. Modules available through special ports are SPI (J45), I2C (J19), UART (J35), Analog (AN0), PWM and External Interrupt (INT) pins with power & ground.  UART J35 1 2 3 Pin Name TX RX GND... - [Breadboard](https://openlabpro.com/breadboard/): [fusion_builder_container hundred_percent=”no” equal_height_columns=”no” menu_anchor=”” hide_on_mobile=”small-visibility,medium-visibility,large-visibility” class=”” id=”” background_color=”” background_image=”” background_position=”center center” background_repeat=”no-repeat” fade=”no” background_parallax=”none” parallax_speed=”0.3″ video_mp4=”” video_webm=”” video_ogv=”” video_url=”” video_aspect_ratio=”16:9″ video_loop=”yes” video_mute=”yes” overlay_color=”” video_preview_image=”” border_size=”” border_color=”” border_style=”solid” padding_top=”” padding_bottom=”” padding_left=”” padding_right=””][fusion_builder_row][fusion_builder_column type=”1_1″ layout=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” border_position=”all” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding_top=”” padding_right=”” padding_bottom=”” padding_left=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”small-visibility,medium-visibility,large-visibility”... - [Graphical LCD](https://openlabpro.com/graphical-lcd/): The graphical LCD has a 128×64 resolution and can be used to display monochrome images, custom texts in different fonts etc. Graphical LCD uses two ports, J41 and J42. By default, we can connect it to J43 (Port D) and J44 (Port A). The switch SW2 should be turned ON to use the Graphical LCD.... - [Programmer support](https://openlabpro.com/programmer-support/): OpenLab supports all programmers including serial, USB, and bootloader. Most of the programmers are using ICSP port for connecting to the microcontroller. OpenLab is compatible with all the official debuggers, programmers, and third-party tools. Below are some methods of programming. Serial Programmer The serial programmer uses a serial port to interface with the PC and... - [PICkit 3 as a Programmer](https://openlabpro.com/pickit-3-as-a-programmer/): PICkit3 is an In-Circuit Programmer/Debugger from Microchip which doesn’t need external hardware or extra ports. The main advantage of the PICkit3 is it can be connected to the ICSP port in the board without any additional ports. - [ICD3 as a Programmer](https://openlabpro.com/icd3-as-a-programmer/): Microchip ICD3 is the in-circuit debugger which supports real-time debugging and high-speed programming. It can be operated as a high-speed programmer. To use it with MPLABX, you need follow below steps. Put the PICKIT board in programming mode Take File->Project Properties, under Hardware tools select ICD3 and Apply From the sidebar, select ICD3 From Options... - [Using macros](https://openlabpro.com/using-macros/): Macros are a part of code which is named and replaces the name with the code when invoked. The advantages of macros are It makes the code short and more readable Easy to edit the code Macros can be used for declaring constants such as strings (as objects or constants) and integers and defining reused... - [Keypad interfacing](https://openlabpro.com/keypad-interfacing/): To learn more about interfacing keypad, visit the section about keypad. Download example codes for Keypad interfacing from below or browse the code on GitHub. - [Graphical LCD interfacing with pic microcontroller](https://openlabpro.com/graphical-lcd-interfacing-with-pic-microcontroller/): Here are two examples of Graphic LCD. One is displaying text and graphics and the latter one is displaying image logo. Interfacing For interfacing Graphical LCD with PIC Microcontroller, PIC needs one 8 bit port (data port) and a 6 bit port (control port). Refer this guide for bit description of the GLCD. DB0-DB7 are... - [LCD interfacing](https://openlabpro.com/lcd-interfacing/): A 16×2 character LCD can display 16 characters and have two lines, a total of 32 characters can be displayed at a time. LCD is controlled by display controller which determines its features. Most common display controller is Hitachi HD44780. To know more about pin layout, read this article. Download sample codes There are three... - [UART interfacing with PIC microcontroller](https://openlabpro.com/uart-interfacing/): One of the most commonly used and easy to use the protocol in serial communication is USART. It is the abbreviation for Universal Synchronous Asynchronous Receiver Transmitter. It is the commonly used asynchronous communication protocol and available in a vast variety of devices. For example, GSM modems, GPS modems, sensors etc. The advantage of asynchronous... - [ifdef usage in C and General applications](https://openlabpro.com/ifdef-usage-in-c/): ifdef can be used in many ways. Code compatibility with multiple compilers Writing debug routine inside the program without commenting Turning ON advanced features Code compatibility with multiple compilers   The same code can be made compatible with multiple compilers including XC8 and C18. In different compilers, function names and PIC register name definition may... - [Bootloader for PIC18F4550](https://openlabpro.com/bootloader-for-pic18f4550/): Bootloading is a way of burning code into the Microcontroller without removing it from the application circuitry. This is achieved by running a program called Bootloader whenever it is necessary. The bootloader is like an OS which starts by enabling a port pin during reset. PIC18F4550 is a Microcontroller from Microchip with onboard USB module.... - [How to burn code using Serial Programmer](https://openlabpro.com/how-to-burn-code-using-serial-programmer/): There are many ICSP compatible serial programmers available for PIC Microcontroller. Read more about serial Programmers. For using serial programmers, OpenLab should be in programming mode. Connect the 6 pin connector to the ICSP port of the board Open PICPgm programmer software Click on Autodetect Programmer button Programmer status will be shown on status bar.... - [Serial Programmer](https://openlabpro.com/serial-programmer/): Serial Programmers for PIC use In Circuit Serial Programming (ICSP) for the burning purposes. They can be used to burn the hex code without removing the Microcontroller from the application circuitry. Serial programmer uses computer’s serial port for interfacing to the circuit. Because of circuit simplicity, its cost is very low. Various serial programmers compatible... - [Working with OpenLab](https://openlabpro.com/working-with-openlab/): Connecting the power supply PICKIT supports external DC adapter and USB power. For using the DC adapter, use the power switch (SW2) to select the power. USB power can be directly connected to the board and it doesn’t need any switch for turning ON the power. Programmer support Board supports all programming options including Serial... - [About In Circuit Debugger](https://openlabpro.com/about-in-circuit-debugger/): MPLAB® ICD 3 In-Circuit Debugger System is Microchip’s most cost effective high-speed hardware debugger/programmer for Microchip Flash Digital Signal Controller (DSC) and microcontroller (MCU) devices. It debugs and programs PIC® Flash microcontrollers and dsPIC® DSCs with the powerful, yet easy-to-use graphical user interface of MPLAB Integrated Development Environment (IDE). The MPLAB ICD 3 In-Circuit Debugger... - [Choose right compiler](https://openlabpro.com/choose-right-compiler/): Selection of compiler depends on various factors. Programming Language length of registers (8bit, 16bit, and 32bit) Programming Language There are many compilers for different languages. Most notable programming languages are Assembly language and C language. Length of internal registers PIC Microcontroller family contains several types and it also categorized using length of registers. There are... - [MPLABX tutorials](https://openlabpro.com/mplabx/): Tutorials for kick-starting the development in MPLABX is available in Microchip developer Help website. Visit http://microchip.wikidot.com/mplabx:start There is a self-paced training course for MPLABX is available at: http://microchip.wikidot.com/tls0101:start And useful videos are available at : http://microchip.wikidot.com/tls0101:videos If you’ve installed MPLABX and XC8, use this tutorial to create your first project: http://microchip.wikidot.com/tls0101:lab1 Beginners’ guide to MPLAB... - [About MPLAB](https://openlabpro.com/about-mplab/): MPLAB is a free, integrated toolset for the development of embedded applications on Microchip’s PIC and dsPIC microcontrollers. There are two different versions you can use. MPLAB X Experimental version, currently on development but includes many advanced features which ease the development process. The MPLAB X IDE is the new graphical, integrated debugging toolset for... - [LCD Display](https://openlabpro.com/lcd-display/): Character Liquid Crystal Display is a display module used in embedded applications due to its ability to display characters and custom made characters compared to the seven segment displays which only displays limited characters and numbers. A 16×2 character LCD can display 16 characters and have two lines, a total of 32 characters can be... - [Base board](https://openlabpro.com/base-board/): [fusion_builder_container hundred_percent=”no” equal_height_columns=”no” menu_anchor=”” hide_on_mobile=”small-visibility,medium-visibility,large-visibility” class=”” id=”” background_color=”” background_image=”” background_position=”center center” background_repeat=”no-repeat” fade=”no” background_parallax=”none” parallax_speed=”0.3″ video_mp4=”” video_webm=”” video_ogv=”” video_url=”” video_aspect_ratio=”16:9″ video_loop=”yes” video_mute=”yes” overlay_color=”” video_preview_image=”” border_size=”” border_color=”” border_style=”solid” padding_top=”” padding_bottom=”” padding_left=”” padding_right=””][fusion_builder_row][fusion_builder_column type=”1_1″ layout=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” border_position=”all” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding_top=”” padding_right=”” padding_bottom=”” padding_left=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”small-visibility,medium-visibility,large-visibility”... - [I/O Board](https://openlabpro.com/io-board/): The IO (Input Output) Board can be configured as Input or output by turning the corresponding Switches ON and OFF. During Input mode, the push buttons can be used as inputs. There are 8 switches and can be connected to a port using the given connector. In Output mode, the state is displayed by 8... - [Seven Segment Display board](https://openlabpro.com/seven-segment-display-board/): Introduction 7 segment displays are used for displaying numbers; they are useful when there is a need for counting like applications in the projects. 7 Segment board contains 4 displays and it can be interfaced to any port using the FRC cable provided with the kit. It needs two ports for operating the board, one... - [Motor Relay Board](https://openlabpro.com/motor-relay-board/): Microcontrollers cannot drive motor and relays because of its high current requirements. In order to drive them, we need special current drivers and Motor relay board comes into the picture because of these requirements. The Motor Relay Board drives motors and relays by supplying sufficient current. It can drive one Relay and four DC Motor... - [PIC Board](https://openlabpro.com/pic-board/): This is the heart of the OpenLab. A microcontroller is placed in this board and all other boards have a connection with this board.  Introduction PIC Board is the brain of the OpenLab. It contains PIC microcontroller, SD Card interface, RTC, EEPROM and other external connectors. Following interfaces are available in PIC Board. DC Jack... - [Introduction to PIC Microcontroller](https://openlabpro.com/introduction-to-pic-microcontroller/): PIC is a Microcontroller family from Microchip. The family contains low cost, simple Microcontrollers to the high-end complex Microcontrollers. Microcontroller In simple terms, it is a microprocessor with some add-on components like flash memory, RAM, EEPROM, ADC etc. in a single chip. Microcontrollers use low-speed processors and are easy to embed in an application. It... - [ESP8266 Web Server](https://openlabpro.com/esp8266-web-server/): What is a web server? A web server is a place that stores, processes and delivers web pages to clients(i.e. simple web browsers). Communication herein takes place via HTTP(HyperText Transfer Protocol). In this protocol, the client initiates communication by making a request for a specific web page using HTTP and the server responds with the... - [Cayenne Raspberry pi Getting Started Guide](https://openlabpro.com/cayenne-raspberry-pi-getting-started-guide/): The Internet of things is a system of interconnected things that communicate with each other. It’s a buzz word presently. It allows data transfer without the involvement of human-human or human-machine interactions. There’s been an upsurge of many IoT platforms that bring our ideas and thoughts into existence. Cayenne is one of such platforms that... - [GSM Interfacing with 8051](https://openlabpro.com/gsm-interfacing-with-8051/): In this tutorial, you will learn the GSM module Interfacing with 8051. With the GSM module, we can connect our microcontroller with the GSM network. By connecting to the GSM network, Our microcontroller will be able to make calls, send SMS, etc. In this tutorial, we will be using the GSM module, SIM900A. The microcontroller... - [ADC USING PIC16F877A](https://openlabpro.com/adc-using-pic16f877a/): In this tutorial, we will learn how to use the Analog to Digital converter peripheral of the PIC16F877A controller. Basically we use this kind of peripherals in the modem. It is a 10 bit ADC module. ADC module of the PIC16F877A controller has a 10-bit resolution output. That means an analog input converted into a... - [Servo Motor Interfacing with PIC16F877A](https://openlabpro.com/servo-motor-interfacing-with-pic16f877a/): Servo motor is an electrical device that is a part of a closed-loop system and it usually drives a final control element. In servo motor, the term “servo” stands for the motor operates in a closed-loop system that uses feedback from an encoder or resolver. This should compare the motor’s actual position, velocity, or torque... - [Interrupts in 8051](https://openlabpro.com/interrupts-in-8051/): Interrupts are the events that temporarily suspend the main program, pass the control to other functions or sources and execute their task. It then passes the control to the main program where it had left off. As code size increases and your application handles multiple modules, sequential coding would be too long and too complex.... - [PWM IN PIC16F877A](https://openlabpro.com/pwm-in-pic16f877a/): Pulse-width modulation (PWM) is a modulation process or technique used in most communication systems. The PWM signal we can use to control the speed of DC motor or to control the intensity. It is also used to control the Analog Devices. And mainly the power which is delivered to the Analog device is controlled using... - [ADC Interfacing with 8051](https://openlabpro.com/adc-interfacing-with-8051/): The data we process in a microcontroller normally deals with digital signals. But there may a situation where we have to deal with external inputs such as analog signals. All most all the input signals from physical sensors are of analog signals. In such cases, we can interface the microcontroller with an external device such... - [PIC16F877A timer](https://openlabpro.com/pic16f877a-timer/): The Timer is used to measure the time or generate an accurate time delay. It is an important application in an embedded system. It maintains the timing of operation in sync with a system clock or an external clock. The timer is used to count cycles and perform a particular action at a specified moment... - [MQTT Packet Format](https://openlabpro.com/mqtt-packet-format/): In this article, we are looking into the MQTT packet format with relevant example packets. MQTT is a binary-based protocol and has command and command acknowledgement format. So every time a client sends a command to the broker, the broker sends an acknowledgement. This communication protocol is actually based on the TCP/IP protocol. So first... - [UART in PIC16F877A](https://openlabpro.com/uart-in-pic16f877a/): A universal asynchronous receiver-transmitter is a hardware module for asynchronous serial communication in which the data format and transmission speeds are configurable. Serial communication using a Microcontroller is one of the easiest operations to learn on a microcontroller and it comes into use in almost every application. In this tutorial, we learn to Enable the... - [Relay Interfacing with 8051](https://openlabpro.com/relay-interfacing-with-8051/): Relay is one of the most interesting and important components. Relays are switches that open and close circuits when actuated when an electrical signal. Because relays are the link between the low power digital electronics and high power devices. It allows digital circuits and digital microcontrollers to high power devices on and off. Simply, it... - [How MQTT works?](https://openlabpro.com/how-mqtt-works/): MQTT Operation In an MQTT protocol, there is a broker which acts as a server and clients are sitting at both ends. The act of sending data to the broker is called publish. Like a variable in a C Program, the data is identified by a namespace. For example, to store a temperature sensor data from... - [Stepper motor interfacing with 8051](https://openlabpro.com/stepper-motor-interfacing-with-8051/): Stepper motor Stepper motor is a Brushless DC electric motor that divides the complete rotation into very small angles called steps. Usually, each step moves 1.8 degrees and therefore a total of 200 steps for a rotor to finish a single rotation. Unlike normal dc motors, it contains multiple Stator magnets used to trigger each... - [PIC16F877A Configuration Bits](https://openlabpro.com/pic16f877a-configuration-bits/): Configuration Bits are used to enable or disable different hardware features of the microcontroller. These are read during startup/reset and enable or disable different hardware features based on the values of bits. Configuration bits in pic16f877a can be used to control the hardware features of pic such as clock source, Power-up Timer, Watchdog Timer, Memory... - [Introduction to MQTT Protocol](https://openlabpro.com/introduction-to-mqtt-protocol/): MQTT is a lightweight message transport protocol developed in 1999. Since this protocol is very lightweight and bandwidth-efficient, it is best suitable for IoT applications with different wireless sensor network communications that are involved. It follows the PubSub model which is a publisher-subscriber model that is entirely different from the HTTP protocol’s Request/Response model. One... - [Push Button Interfacing with PIC16F877A](https://openlabpro.com/push-button-interfacing-with-pic16f877a/): Push-button or simply button is a switch used mainly as a control device in many of the Embedded applications. Push-button switches are mechanical switches. Push-button switches are of two types push to on and push to off switches. Push-button switches open and closes the contact between two ends of a line and returns two to... - [Keypad Interfacing with PIC16F877A](https://openlabpro.com/keypad-interfacing-with-pic16f877a/): keypad is an input device and it is a vital part of the user interface in many consumer devices and instruments such as telephones, remotes calculators, etc. A 4*4 matrix keypad consists of 16 keys which are arranged into rows and columns such that it leaves only 8 pins for interfacing with the devices. The... - [LED Interfacing with PIC16F877A](https://openlabpro.com/led-interfacing-with-pic16f877a/): The light-emitting diode is a semiconductor device capable of emitting light when the current flow occurs through it. Led is a common component In many devices and it finds various applications in the day to day life. The factors such as reduced power consumption, small size, switching speed, Longer lifespan and durability make them a... - [LCD interfacing with pic16f877a](https://openlabpro.com/lcd-interfacing-with-pic16f877a/): Character LCD The 16×2 character Liquid Crystal Display (LCD)  is a basic display module and it can display 16 characters each in two rows. The individual characters are displayed using a 5×7 dot matrix. The character LCD Module is used to display Alphanumeric Characters and it supports all the ASCII characters. The HD44780 LCD controller... - [Difference between C and embedded C](https://openlabpro.com/difference-between-c-and-embedded-c/): Whoever is starting their journey through the embedded system comes across a confusion. C or embedded c? What should you learn? Are they same? What is the difference between them? And it’s a much-debated topic. Embedded C Embedded c is an extension over c language released by the C Standards committee that finds its application... - [Basic AT Commands for GSM Module](https://openlabpro.com/basic-at-commands-for-gsm-module/): The global system for mobile communication (GSM) is a popular wireless network used worldwide. Various GSM modems are available in the market that can be interfaced with microcontrollers to learn and understand the general architecture of this network as well as apply it in various projects to communicate with a mobile.AT commands are the instructions... - [FreeRTOS Firmware guide for ARM - LPC1768](https://openlabpro.com/freertos-firmware-guide-for-arm-lpc1768/): Introduction OpenLab ARM utilizes the LPC1768 Cortex M3 microcontroller which is suited for Embedded real-time application. These kinds of application typically consists of both hard and soft real-time application. FreeRTOS is a real-time kernel or real-time scheduler that can be used to meet the hard real-time requirements. It allows all applications to be organized as... - [Real Time Operating System(RTOS)](https://openlabpro.com/real-time-operating-system-rtos/): Introduction Real Time Operating System (RTOS) is an operating system that supports real-time applications and embedded systems by providing a logically correct result within the deadline required. Such capabilities define its deterministic timing behaviour and limited resource utilization nature. Real Time Operating System are broadly classified into three types, namely, Hard Real-Time RTOS, Firm Real-Time RTOS... - [ESP-IDF for Programming ESP32 Development Board](https://openlabpro.com/esp-idf-for-programming-esp32-development-board/): Introduction Express if provides the necessary tools for the development of esp32 series hardware. ESP-IDF is the IOT Development Framework from Express if for ESP32 chip. The software development framework by Espressif is intended for rapidly developing Internet-of-Things (IoT) applications, with Wi-Fi, Bluetooth, power management and several other system features. ESP32 integrates Wi-Fi (2.4 GHz band) and... - [Plant humidity monitoring with ESP32 and Cayenne](https://openlabpro.com/plant-humidity-monitoring-with-esp32-and-cayenne/): A Plant humidity monitoring with ESP32 project demonstrates processing & remote access to real-time data and how the data is used for monitoring the real-time environment of the plant. In this IoT project, we will be using the DHTxx (DHT11/DHT22) board along with the IoT gateway board to set up the plant monitoring system accessible... - [Temperature and humidity reading by ESP32](https://openlabpro.com/temperature-and-humidity-reading-by-esp32/): In this project, you can read temperature and humidity in the air with an ESP32 and DHT11 or DHT22 that displays the temperature and humidity using the Arduino IDE programming environment. A DHTxx sensor is a digital temperature, humidity sensor and it provides fully calibrated digital outputs for the two measurements. These sensors are based... - [DC motor control using ESP32](https://openlabpro.com/dc-motor-control-using-esp32/): This project showing how to control the DC motor by using an ESP32 development board with Arduino IDE. Here using a motor driver L293D. This module allows us to control the speed and direction of the motors. The PWM signals controlling the speed of DC motor. In general, the speed of a DC motor is... - [PIR motion sensor and Buzzer with ESP32](https://openlabpro.com/pir-motion-sensor-and-buzzer-with-esp32/): This project “PIR motion sensor and Buzzer with ESP32” showing how to interface the PIR sensor and buzzer with ESP32. This project is very useful to make our homes a “Smart home”. The PIR motion sensor detects the motion and the buzzer beeps according to the motion detects. So it is very helpful to prevent... - [LED PWM fading on ESP32](https://openlabpro.com/led-pwm-fading-on-esp32/): Pulse Width Modulation, or PWM, is a technique for getting analog results with digital means. Digital control is used to create a square wave, a signal switched between on and off. This on-off pattern can simulate voltages in between full on (5 Volts) and off (0 Volts). The duration of “on time” is called the... - [ADC on ESP32](https://openlabpro.com/adc-on-esp32/): ADC is an analog-to-digital converter is a system that converts an analog signal like a light signal entering a digital camera into a digital signal. An ADC may also provide an isolated measurement such as an electronic device that converts an input analog voltage or current to a digital number representing the magnitude of the... - [SD Card operations on ESP32](https://openlabpro.com/sd-card-operations-on-esp32/): SD card or Secure Digital card can store and retrieve data locally. An SD card is a non-volatile memory card used widely in portable devices, such as mobile phones, digital cameras, GPS navigation devices, and tablet computers. Micro-SD cards are also available now. It can store gigabytes of data in a small size. The SD... - [RTC interface with ESP32 controller](https://openlabpro.com/rtc-interface-with-esp32-controller/): RTC is a computer clock that maintains a track of current time.RTC present in most electronic devices which are needed to keep an accurate time. The notable merit of RTC is it has an arrangement of battery backup SRAM. The RTC counts seconds, minutes, hour, dates, month and year with leap year of absolute data.... - [Timer on ESP32](https://openlabpro.com/timer-on-esp32/): Basically, a timer is a clock, which is used to measure and controls time events. providing a precise time delay. Most of the microcontroller have inbuilt timers. The timers in microcontrollers not only used to generate time delays but also is used as a counter. This characteristic of the timer is used for many applications.... - [SimpleBLE on ESP32](https://openlabpro.com/simpleble-on-esp32/): ESP32 integrates Bluetooth link controller and Bluetooth baseband, which carry out the baseband protocols and other low-level link routines, such as modulation/demodulation, packets processing, bitstream processing, frequency hopping, etc. This tutorial “SimpleBLE on ESP32” shows how to use SimpleBLE to advertise the name of the device and change it on the press of a button.... - [BLE notify on ESP32 controller](https://openlabpro.com/ble-notify-on-esp32-controller/): BLE standard defines two ways to transfer data for the server to the client: notification and indication. Notifications and indications are initiated by the Server but enabled by the Client. Notification doesn’t need to be acknowledged, so they are faster and an efficient way to read data continuously. Hence, a server does not know if... - [BLE Write operation in ESP32 controller](https://openlabpro.com/ble-write-operation-in-esp32-controller/): Bluetooth Low Energy is a slightly different protocol than traditional Bluetooth. BLE “servers” (like the ESP32 reading sensor data) can “notify” clients (like your smartphone) periodically to send them bits of data. Therefore, BLE is more suitable for low-power IoT applications where large amounts of data aren’t required. The BLE devices are detected through a... - [BLE Server on ESP32 controller](https://openlabpro.com/ble-server-on-esp32-controller/): The ESP32 controller with Bluetooth Low Energy can act as either server and client. The server advertises its existence. And it can be found by other devices and it contains the data that the client can read. The BLE supports two types of modes such as Broadcast mode and Mesh network mode. In broadcast mode,... - [BLE UART on ESP32 Controller](https://openlabpro.com/ble-uart-on-esp32-controller/): UART is a Universal Asynchronous Receiver/Transmitter, The main purpose is to transmit and receive serial data. The serial communication stands for sequential transmission or reception of data of one bit at a time through the bus or communication channel. And in ESP32 microcontroller, there are some UART controllers are exist and which are compatible with... - [Scanning of WiFi on ESP32 controller](https://openlabpro.com/scanning-of-wifi-on-esp32-controller/): Wi-Fi is a wireless radio local area network technology based on IEEE 802.11 standards and it is used for connecting to the network. The WiFi works at 2.4GHz or 5GHz frequencies. Basically, Wi-Fi is a radio wave that broadcast from a Wi-Fi router. The devices such as desktop and laptop, video game consoles, smartphones, tablets,... - [Simple WiFi server Program on ESP32](https://openlabpro.com/simplewifiserver/): A Web server is a program that uses HTTP (Hypertext Transfer Protocol) to serve the files that form Web pages to users, in response to their requests, which are forwarded by their computer’s HTTP clients. This tutorial “Simple WiFi server Program on ESP32” shows how to blink an LED via the web. Here we create... - [WiFi Client mode of ESP32 controller](https://openlabpro.com/wifi-client-mode-of-esp32-controller/): A simple client program is used to access a webpage and displays it on the serial monitor. Retrieving a web page contents sent by a server, to demonstrate basic client’s functionality. Once you are able to retrieve information from a server, you should be able to phrase it and extract specific data you need. by... - [Wi-Fi Smart Configuration on ESP32 controller](https://openlabpro.com/wi-fi-smart-configuration-on-esp32-controller/): Previously in “Scanning of WiFi on ESP32 controller”, we used WiFi class to connect to a WiFi network “WiFi.begin(ssid, password)”. Here we use “hard-coded” ssid and password. It is really inconvenient when we bring our ESP32 to another WiFi network, we have to modify ssid and password according to the new network, recompile and flash new... - [WiFi controlled Light using ESP32](https://openlabpro.com/wifi-controlled-light-using-esp32/): ESP32 is a low power WiFi enabled microcontroller created and developed by Espressif Systems. The ESP32 is an advanced IoT microcontroller board possessing WiFi and Bluetooth Low Energy capabilities, as well as limited compatibility with the Arduino Core. This project demonstrating how to control light in our room remotely. So here we controlling led with... - [Bluetooth controlled Relay using ESP32](https://openlabpro.com/bluetooth-controlled-relay-using-esp32/): Bluetooth Low Energy also referred to as Bluetooth LE is a new communication protocol similar to Bluetooth except that it is designed to consume less power while maintaining comparable functionality. For this reason, Bluetooth LE is the preferred choice of communication with IoT devices that have limited power resources. In this project, we will be... - [LED blinking on ESP32](https://openlabpro.com/led-blinking-on-esp32/): The ‘Blinking of an LED on ESP32’ project “LED blinking on ESP32” uses the ESP32 Development Board will be used to blink an LED at a specific timed interval, continuously.ESP32 is a low power WiFi enabled microcontroller created and developed by Espressif Systems. The ESP32 is an advanced IoT microcontroller board possessing WiFi and Bluetooth... - [CCP module in PIC18F4550](https://openlabpro.com/ccpcapture-compare-pwm-module-in-pic18f4550/): Capture and compare features allow the user to time and control different events. PIC18F4550 has a built-in peripheral module called the CCP (Capture/Compare/PWM) module for this purpose. The CCP module in PIC18F4550 supports two independent instances of Capture, Compare and PWM feature. An in-depth description of generating PWM signal in PIC18F4550 can be found in... - [MG995 Servo Motor interfacing with PIC18F4550](https://openlabpro.com/mg995-servo-motor-interfacing-with-pic18f4550/): A servo motor is a rotary actuator that allows precise control of the angular position. Along with the positive and negative terminals, servo motor also has a control terminal which is used to control the angular position of the servo motor. The control signal sends through the control terminal is a PWM signal which generally... - [PCA9685 interfacing with PIC18F4550](https://openlabpro.com/pca9685-interfacing-with-pic18f4550/): The PCA9685 is interfacing with PIC18F4550 controller to operate multiple servo motors by using the PWM signal generated by the PCA9685 controller. PCA9685 is 16 Channel LED controller device which is optimized to drive Red, Blue, Green, and Amber (RBGA) LEDs. The RBGA LEDs could be operated at a required brightness with the help of... - [DC Motor Interfacing using L293D with PIC18F4550](https://openlabpro.com/dc-motor-interfacing-using-l293d-with-pic18f4550/): DC Motor A DC motor is a rotary electrical machine used to convert electrical energy into mechanical energy. It works on the principle of electromagnetism. It contains a stator and rotor with field windings. DC current carrying windings when passed through a magnetic field experiences a perpendicular mechanical force according to Flemings Left-Hand rule, producing... - [Timer Interrupt in PIC18F4550](https://openlabpro.com/timer-interrupt-in-pic18f4550/): A Timer is generally used for delay purposes or to trigger a particular event after a defined time interval as discussed in our previous chapter Timer and Counter with PIC18F4550. A timer used as an interrupt enhances this feature by freeing precious processor time used to poll for the timer overflow flag. Here we will... - [UART Interrupt in PIC18F4550](https://openlabpro.com/uart-interrupt-in-pic18f4550/): UART Communication Universal Asynchronous Receiver/Transmitter or UART is a simple and common serial communication protocol. It uses separate transmission and reception lines making it a full duplex communication. A simple full-duplex UART communication requires the following registers as explained in our previous chapter UART Interfacing with PIC Microcontroller. We will focus only on the bits... - [External Interrupt in PIC18F4550](https://openlabpro.com/external-interrupt-in-pic18f4550/): An interrupt is a signal to the processor of the occurrence of an event by hardware or software. The processor may choose to accept or ignore this signal. The response of the processor to an interrupt is configured with the help of registers such as INTCON, PIR, PIE and IPR registers as specified in our... - [Interrupt Handling in PIC18F4550](https://openlabpro.com/interrupt-handling-in-pic18f4550/):   An interrupt is a signal to a processor, generated by hardware or software, of the occurrence of a particular event. The processor receiving the interrupt signal and requested to stop the current execution sequence and attend to a different code sequence called the interrupt vector or Interrupt Service Routine( ISR ). After executing the... - [Timer Delay Implementation in PIC18F4550](https://openlabpro.com/timer-delay-implementation-in-pic18f4550/): In PIC18F4550 delay is implemented with general counting loops or with timers. Looping delays have their downsides such as inaccurate delay duration and blocking precious processor time. Thus delays of the order of milliseconds are preferred to be implemented with timers. PIC18F4550 has 4 timers, each of which could be used to provide delays of... - [Graphical Display of Keypad on GLCD using PIC microcontroller](https://openlabpro.com/graphical-display-keypad-glcd-pic/): A graphical LCD is an electronic display unit which can display any type of elements provided by the user. Unlike a character LCD which can only display alphanumeric characters, a graphical LCD can display images, fonts and other structures. This article gives details of graphic LCD interfacing with a PIC microcontroller. Previously we learned how... - [Displaying Images and Icons on GLCD using PIC microcontroller](https://openlabpro.com/displaying-images-icons-glcd-pic/): The GLCD that we use has a monochrome display with a resolution of 128*64. With the help of the GLCD, we can display custom images, icon and other characters. In this article, we will be covering how to display an image on the GLCD. So to display an image we need to configure the image accordingly.... - [Display Custom Character on 16X2 LCD using PIC Microcontroller](https://openlabpro.com/custom-character-lcd-pic/): In the previous chapter, we have discussed how a character LCD is interfaced with a PIC microcontroller in 8-bit mode, where we used predefined characters stored in the LCD to display our data. In this article, we will learn more about the LCD and how we can create and use custom characters. LCD Storage Memory The... - [UART in 8051 microcontroller](https://openlabpro.com/uart-8051/): UART is the abbreviation for Universal Asynchronous Receiver/Transmitter and is a commonly used hardware module for serial communication based on communication protocols like RS232. This chapter discusses how such a device is appropriately interfaced with an 8051 microcontroller. UART Interfacing with 8051 Microcontroller [fusion_imageframe image_id=”2883″ style_type=”none” stylecolor=”” hover_type=”none” bordersize=”” bordercolor=”” borderradius=”” align=”center” lightbox=”no” gallery_id=”” lightbox_image=””... - [Timers in 8051 microcontroller](https://openlabpro.com/timers-8051/): The timer is an important application in Embedded systems, it maintains the timing of an operation in sync with a system clock or an external clock. The timer has so many applications such as measure time generating delays, they can also be used for generating baud rates. A normal delay function might be used for... - [External Interrupt in 8051 microcontroller](https://openlabpro.com/external-interrupt-8051/): The interrupt mechanism is one of the most important features of a microcontroller. An interrupt is a signal to the processor emitted by hardware or software indicating an event that needs immediate attention. As code size increases and your application handles multiple modules, sequential coding would be too long and too complex. The interrupt mechanism... - [Interfacing Seven Segment Display with 8051](https://openlabpro.com/interfacing-seven-segment-display-8051/): A seven segment display module is an electronic device used to display digital numbers and it is made up of seven LED segments. Because of the small size of the LEDs, it is really easy for a number of them to be connected together to make a unit like seven segment display. In the seven... - [OpenLab Relay Hook Up Guide](https://openlabpro.com/relay-hook-up-guide/): Basically, a relay is like a switch for controlling high voltage devices like fan, light etc. They are available in many shapes, sizes and power ratings. It works on the principle of electromagnetic induction and it is easy to use with a microcontroller with the help of some active devices. The relay consists of five... - [Introduction to Microprocessors](https://openlabpro.com/introduction-to-microprocessors/): A microprocessor is an electronic device commonly regarded as the brain of a computer system. This is the most important part of almost every modern electronic equipment. It was in 1971 Intel developed world’s first microprocessor. It was a 4-bit, single-chip device. The serial number given was 4004. An enhanced version Intel 4040 was also... - [Interfacing 128x64 GLCD with ARM LPC1768](https://openlabpro.com/interfacing-128x64-glcd-lpc1768/): Introduction The 128×64 GLCD can be used to display text, logos, graphs, shapes and other useful bit images. To interface the GLCD with the LPC1768, we need 8 data pins and 6 control pins. In this tutorial, we will be using the KS0108 GLCD library from http://en.radzio.dxp.pl/ks0108/. We will be discussing how to develop a... - [Interfacing 4x4 matrix keypad using ARM LPC1768](https://openlabpro.com/interfacing-4x4-matrix-keypad-using-lpc1768/): Introduction There are various methods to provide an input for the GPIO pins of a microcontroller which can be software controlled or hardware controlled. We have seen a hardware controlled method by taking an input from a switch or a press button. Push Button Interfacing with LPC1768 The keypad is another external input device which... - [16x2 Character LCD Interfacing using LPC1768](https://openlabpro.com/16x2-character-lcd-interfacing-using-lpc1768/): Introduction In this tutorial, we will be learning how to interface a 16 x 2 character LCD display (HD44780U )with the LPC 1768 micro-controller. The 16 x 2 character LCD display is one of the most basic display module used by beginners while learning embedded systems. 16 characters can be displayed on the screen at... - [ADC module in LPC1768](https://openlabpro.com/adc-module-lpc1768/): Introduction The data that we use for programming a microcontroller normally deals with digital signals. But there are situations where a microcontroller has to deal with inputs from external devices that gives an analog output. In such cases, we can interface the microcontroller with an external device such as an ADC0808 to convert the analog... - [Pulse Width Modulator operation in LPC1768](https://openlabpro.com/pulse-width-modulator-operation-lpc1768/): Introduction. The LPC 1768 micro-controller has a motor control PWM and 6-output general-purpose PWM. In this tutorial, we will be learning how to use the 6-output general-purpose PWM. Features The PWM module operates using a timer or a counter. There are seven-match registers that allow 6-single edge controlled or 3 double-edged controlled PWM outputs.A match... - [Timer control in ARM LPC1768](https://openlabpro.com/timer-control-arm-lpc1768/): Introduction Using delays in a software code is usual to embedded programmers. A normal delay function might be used to create a period of no operation through a for loop iterating for a few 1000 cycles. But these types of delays need not be accurate and fundamentally, it is not a good programming practice. So,... - [External Interrupt Control in ARM LPC1768](https://openlabpro.com/external-interrupt-control-arm-lpc1768/): Introduction The external interrupt input of the LPC1768 is a very important functionality of a software. It is one of the many functions of the system control block that are not related to a specific peripheral device. There are four pins that can be set to function as an external interrupt input (EINTn where n... - [UART communication protocol using ARM LPC1768](https://openlabpro.com/uart-interfacing-lpc1768/): Introduction: UART in LPC1768 The LPC 1768 micro-controller consists of 4 UART peripherals. (UART0, UART1, UART2, and UART3). Few of the striking features of these peripherals are: Like any other UART peripheral, they can handle data sizes of 5 to 8 bits. They support 16 bytes receive and transmit FIFOs. Which means that they can... - [Push Button Interfacing with LPC1768](https://openlabpro.com/push-button-interfacing-with-lpc1768/): Introduction Interfacing a push button with the LPC1768 is another simple application like the LED blinking that makes use of the GPIO functionality of the LPC1768. An introduction to the basic functionalities and the GPIO register configuration in the LPC1768 were provided in the tutorial for LED Blinking along with useful tables. Click To Learn... - [LED Blinking Using LPC1768](https://openlabpro.com/led-blinking-using-lpc1768/): Introduction LPC1768 is a Cortex-M3 based microcontroller. It features a high level of integration and minimal power consumption. The ARM-based microcontrollers also feature advanced debug features as well as support block integration. The operating frequency of LPC1768 would go up to 100 MHz. They are pin compatible to the 100 pins LPC236x ARM7-based microcontroller series.... - [EEPROM Hookup Guide-AT89S8253](https://openlabpro.com/eeprom-hookup-guide-at89s8253/): EEPROM (Electrically Erasable Programmable Read Only Memory) is the abbreviation for electrically erasable programmable read-only memory. As suggested by the name, it’s content can be programmed and erased with the help of suitable electric pulses. A non-volatile memory used to store a relatively small amount of data in computers and other electronic devices but allows... - [UART Hookup Guide-AT89S8253](https://openlabpro.com/uart-hookup-guide-at89s8253/): UART UART which stands for universal asynchronous receiver/transmitter is an integrated circuit for serial transmission based on communication protocols such as RS-232. There are two modes of serial communication. They are synchronous and asynchronous. UART is an asynchronous transmission protocol and is carried out through two lines-a transmission line(Tx) and a reception line(Rx). In the... - [LCD Hookup Guide-AT89S8253](https://openlabpro.com/lcd-hookup-guide-at89s8253/): Character LCD A character LCD is the most basic form of electronic display device widely in use. It consists of 2 rows of 16 columns in each. Normally an LCD module can display 16 characters. LCD modules which can display up to 20 characters are also available. It is the requirement which determines the choice... - [GLCD Hookup Guide-AT89S8253](https://openlabpro.com/glcd-hookup-guide-at89s8253/): Graphical LCD Unlike a character LCD which can only display alphanumeric characters, a graphical LCD can display any type of element provided by the user. It means a graphical LCD can display images, fonts, and other structures. With the help of a graphical LCD, one can display 8192 pixels on the screen. OpenLab uses KS0108... - [RTC Hookup Guide-AT89S8253](https://openlabpro.com/rtc-hookup-guide-at89s8253/): RTC (Real Time Clock) A real-time clock is basically a battery powered IC found on a computer motherboard. The system description or set up values are stored in a small memory unit in these ICs. The time values are for the year, month, date, hours, minutes and seconds. A small memory unit in these ICs... - [Keypad Hookup Guide-AT89S8253](https://openlabpro.com/keypad-hookup-guide-at89s8253/): Keypad Keypad, which is quite a familiar term nowadays, is nothing but a block of buttons with symbols, alphabets and numerals labeled. Or else, it can be regarded as an assembly of digits and symbols allowing the user to enter the numeric values, symbols or alphabets. They are normally used for user-friendly applications including calculators,... - [Motor Relay Board Hookup Guide-AT89S8253](https://openlabpro.com/motor-relay-board-hookup-guide-8051/): As equipment like motors and relays require high current, microcontrollers cannot drive them. In order to drive them, we need special current drivers. Motor relay board comes into the picture because of these requirements. Motor relay board drives motors and relays by supplying sufficient current. It can drive one relay and four DC motors or... - [SD Card Hookup Guide-ATmega32](https://openlabpro.com/sd-card-hookup-guide-atmega32/): SD Card The secure digital memory card or SD card is the de facto standard memory card for mobile devices. The SDC has a microcontroller in it. The data is transferred from the memory card and the host controller as data block units of 512 bytes. SD card can be interfaced easily with embedded systems.... - [LCD Hookup Guide-ATmega32](https://openlabpro.com/lcd-hookup-guide-atmega32/): A character LCD is the most basic form of electronic display device widely in use. It consists of 2 rows of 16 columns in each. Normally an LCD module can display 16 characters. LCD modules which can display up to 20 characters are also available. It is the requirement which determines the choice of the... - [GLCD Hookup Guide-ATmega32](https://openlabpro.com/glcd-hookup-guide-atmega32/): Graphical LCD Unlike a character LCD which can only display alphanumeric characters, a graphical LCD can display any type of element provided by the user. It means a graphical LCD can display images, fonts, and other structures. With the help of a graphical LCD, one can display 8192 pixels on the screen. OpenLab uses KS0108... - [Keypad Hookup Guide-ATmega 32](https://openlabpro.com/keypad-hookup-guide-atmega-32/): Keypad The keypad is a familiar term for computer users. It is nothing but a block with a set of buttons arranged on it with symbols, alphabets and numerals labeled. Otherwise, a keypad can be regarded as an assembly of digits and symbols allowing the user to enter the numeric values, symbols or alphabets. They... - [Motor Relay Board Hookup Guide-ATmega32](https://openlabpro.com/motor-relay-board-hookup-guide-atmega32/): As equipment like motors and relays require high current, microcontrollers cannot drive them. In order to drive them, we need special current drivers. Motor relay board comes into the picture because of these requirements. Motor relay board drives motors and relays by supplying sufficient current. It can drive one relay and four DC motors or... - [RTC Hookup Guide-ATmega32](https://openlabpro.com/rtc-hookup-guide-atmega32/): RTC A real-time clock is basically a battery powered IC found on a computer motherboard. The system description or set up values are stored in a small memory unit in these ICs. The time values are for the year, month, date, hours, minutes and seconds. A small memory unit in these ICs store the system... - [Keypad Interfacing with 8051 microcontroller](https://openlabpro.com/keypad-interfacing-at89s51/): AT89S51 is an electronic device falling under the category of a microcomputer. It is basically an 8-bit CMOS device capable of performing high at low-power and comes with flash programmable and erasable read only memory (PEROM) of 4K byte size. AT89S51 is compatible with the industry-standard MCS-51 instruction set as well as pinout and the... - [Push Button Interfacing with 8051 microcontrollers](https://openlabpro.com/push-button-interfacing-at89s51/): A microcontroller, being an integrated circuit with a processor, contains support devices like program memory, data memory, I/O ports and serial communication interface integrated together. Since all the required support devices are available with the microcontroller, external interfacing of devices is not required. One of the most popular microcontrollers is Intel 8051. It belongs to... - [LCD Interfacing with 8051 microcontroller](https://openlabpro.com/lcd-interfacing-at89s51/): AT89S51 is an electronic device falling under the category of the microcomputer. It is basically an 8-bit CMOS device capable of performing high at low-power and comes with flash programmable and erasable read-only memory (PEROM) of 4K byte size. AT89S51 is compatible with the industry-standard MCS-51 instruction set as well as pinout and the device... - [LED interfacing with 8051 microcontroller](https://openlabpro.com/led-blinking-at89s51/): A microcontroller, being an integrated circuit with a processor, contains support devices like program memory, data memory, I/O ports and serial communication interface integrated together. Since all the required support devices are available with the microcontroller, external interfacing of devices is not required. One of the most popular microcontrollers is Intel 8051. It belongs to... - [SD Card Using Petit File System](https://openlabpro.com/sd-card-using-petit-file-system/): SD Card File System Interfacing When we come across smaller microcontrollers, where the memory is limited and the RAM size is pretty small when compared to the size of a sector, creating a file system to operate an SD card becomes inconvenient. In order to overcome this issue in smaller microcontrollers, the FatFs (FAT FS)... - [Relays and Actuators](https://openlabpro.com/relays-and-actuators/): Relays and actuators are important hardware parts of an embedded system. While an actuator acts as a device which helps to bring about necessary mechanical movements a relay basically works as a switch. Relays are used instead of switches because of several of their advantages over the mechanical switches which will be discussed here in... - [SD card read/write Using PIC18F4550](https://openlabpro.com/raw-sd-readwrite-using-pic-18f4550/): In this tutorial, we will be learning how to program the PIC18F4550 to perform the raw SD read/write functions on an SD card. To implement this hobby project, we will be using the popular SPI protocol and the software UART to display the output. Microchip’s PIC18F4550 is a small microcontroller in terms of its functionalities... - [Character Liquid Crystal Display Module](https://openlabpro.com/character-liquid-crystal-display-module/): A liquid crystal display is a mode of display used in digital equipment replacing many other modes of displays such as cathode ray tube, LED displays and plasma displays. Often abbreviated as LCD, liquid crystal displays are a thin flat panel which is made up of several blocks filled with liquid crystals. LCD works either... - [Introduction to Microcontroller](https://openlabpro.com/basics-of-microcontroller/): A microcontroller is an electronic device belonging to the microcomputer family. These are fabricated using the VLSI technology on a single chip. There are microcontrollers available in the present market with different word length starting from 4 bit, 8 bit, 64 bit to 128 bit. This chapter is about microcontrollers, their architecture, and various features.... - [Interfacing Microcontrollers with SD Card](https://openlabpro.com/interfacing-microcontrollers-with-sd-card/): The secure digital card (SD) is a low cost, non-volatile memory card format developed by the SD Card Association. Since its inception back at the start of the century, the demand for this medium-sized, energy and space-efficient, the memory storage device has been growing at a fast rate. Therefore, to meet the market requirements, the... - [Microprocessor](https://openlabpro.com/microprocessor/): A microprocessor is an electronic device commonly regarded as the brain of a computer system. This is the most important part of almost every modern electronic equipment. It was in 1971 Intel developed world’s first microprocessor. It was a 4-bit, single chip device. The serial number given was 4004. An enhanced version Intel 4040 was... - [OpenLab DC Motor Hookup Guide](https://openlabpro.com/openlab-dc-motor-hookup-guide/): A DC motor is a device which converts the electrical energy in direct current form to mechanical energy. These devices are ubiquitous as almost every electro-mechanical movement in today’s world is caused by a DC motor. Though the DC motors usually cause rotational motion, there are linear motors available which produce motion in a straight... - [OpenLab Stepper Motor Hookup Guide](https://openlabpro.com/openlab-stepper-motor-hookup-guide/): What is a Stepper Motor As the name implies, the stepper motor or simply step motor is a brushless, synchronous DC motor, moves in discrete steps to complete its rotation. In general case, each step in a stepper motor moves 1.8 degree and hence it takes 200 steps for a rotor to finish a single... ## Pages - [Shop](https://openlabpro.com/shop/) - [Courses](https://openlabpro.com/our-courses/) - [Blog](https://openlabpro.com/blog/) - [Reset Password](https://openlabpro.com/reset-password/) - [Registration](https://openlabpro.com/registration/) - [Registration Success](https://openlabpro.com/registration-success/) - [Gallery](https://openlabpro.com/gallery/): Our Portfolio Featured Projects Innovative projects in Edtech. Add A Title For Your Form Briefly describe what the form is for or provide additional context if required. Use inviting language. - [Reviews](https://openlabpro.com/reviews/): Reviews Elevate Your Skills Hear From Our Satisfied Learners Add an overline Contact Us Our mission is to deliver high-quality online training tailored for engineering students and professionals mastering bare-metal firmware programming. Socials: - [Our Mission](https://openlabpro.com/our-mission/): Our Mission at OpenLabpro Mission, Vision, and Values Mission, Vision, and Values Empowering through innovative online training solutions Our goal is to enhance learning in microcontroller programming. Industries We Serve Industries Served Expert Team Members Our Team of Experts in Edtech - [Pricing](https://openlabpro.com/pricing-2/): Pricing Elevate Your Skills Learn from Industry Experts Gain insights from top professionals. Practical Experience Guaranteed Engage in real-world projects. Why Choose OpenLabpro? Discover the Unique Advantages of Our Training Solutions Embedded Systems Development Kit See all plans and pricing Hear From Our Satisfied Learners - [Services](https://openlabpro.com/services/): Services Elevate Your Skills Products & Services Our Offerings Use a clear and attention-grabbing short paragraph to engage your audience and draw them into reading the rest of your content. How to Acquire Our Services Notable Recognitions text Your future starts here. Join OpenLabpro Today! - [Contact](https://openlabpro.com/contact/): Contact Us Add an overline text Add an overline Contact Us Our mission is to deliver high-quality online training tailored for engineering students and professionals mastering bare-metal firmware programming. Socials: Transform your skills with cutting-edge online training courses. Featured Projects View More - [About](https://openlabpro.com/about/): About Leading Edtech Company in Bengaluru. Expert Team Members Our Team of Experts in Edtech Notable Recognitions text Your future starts here. Join OpenLabpro Today! - [Home](https://openlabpro.com/): Master Embedded Systems and IoT Why Choose OpenLabpro? Bridging the Gap Between Theory and Industry Unlike standard online courses, OpenLabpro is crafted by our R&D engineers who design industrial hardware platforms. We equip you with the rigorous, production-ready coding standards required for real-world product development. Our Offerings Your future starts here. Join OpenLabpro Today! - [](https://openlabpro.com/115710-2/) - [](https://openlabpro.com/115708-2/) ## Optional - [Agent (MCP protocol)](websites-agents.hostinger.com/openlabpro.com/mcp) [comment]: # (Generated by Hostinger Tools Plugin)