Figure 1: Graphical User Interface (GUI) for Microcontrollers

A graphical user interface (GUI) is one of the ways to interface between your microcontroller and a personal computer (PC) operated by a human with a mouse or a keyboard.

It is always easy and require less skills to operate a device from a visual representations of the workspace 
(GUI) by simply clicking a mouse or using a keyboard rather than a command line.  
GUI can also be used to interface with other external devices located in different places. 

There are a lot of kinds software which can be use to design a GUI platform, the choice will usually depend on personnel preferences, software capabilities and the operating systems (Windows, Linux, Mac…).  
Among the popular ones we have Microsoft Visual Basic, Microsoft C#, Labview, Matlab etc. 

A microcontroller device can communicate with a PC in various ways, the simplest and among the oldest method being the RS232 protocol commonly known as Serial communication, RS485 usually for long distances communication (up to about 1km), the new USB (tending to replace the RS232), Ethernet ect.

Figure 2 below shows some few communication cables, a Male to Female RS232 cable which could be used for example to connect a Personal Computer to a PIC Microcontroller. There is a CAT5e cable as well for Ethernet Communication and a now common USB cable.

Some Communication Cables

Figure 2: Some Communication Cables

In our next tutorials, we are going to learn how to create a new project in Microsoft C#create a Serial port Interface with C# for a personal computer to receive or send data to a microcontroller and then on the microcontroller side, we will learn different microcontroller communications: RS232, RS485, USB and Ethernet:

1. Creating a new project in Microsoft C#
2. Serial Port Interface with C#
3. PIC Communication with RS232 using XC8
4. PIC Communication with RS232 using mikroC
5. USB Communication with PIC Microcontroller with USB HID Class
6. Ethernet Communication with PIC Microcontroller