
Learn the basics of the C programming language for microcontrollers and how to use micro C for microcontroller programming, guiding you toward practical applications.
Educational Engineering Team shares practical, step-by-step microcontroller and embedded system knowledge through bite-sized videos, teaching across Arduino, PIC microcontroller, Raspberry Pi, and related fields to empower learners worldwide.
Learn the basics of C for microcontrollers, explore the mikroC pro IDE, and practice compiling, debugging, and interfacing with C using pointers, arrays, and header files.
Explore the micro C IDE workflow by creating a first lab project, writing program.c, and building to generate a hex and assembly file alongside the project file program.mccb.
Learn to increase font size in the programming environment by updating to Microsoft Blue 6.6.3 and adjusting the editor font settings to a larger size for better readability.
Explore how C enables modular programming for microcontrollers, with main function, includes, global constants, function declarations, and a blinking led in an infinite loop.
Declare variables at the top of a C program inside main, specify types like int, char, short, long, bit, and signed or unsigned according to memory ranges.
Learn how statements and assignments use variables, constants, and expressions, and apply arithmetic, relational, logical, and bitwise operators, with if conditions and simple assembly versus C comparisons.
Explore loop statements, including while, for, and do-while, with their structures, conditions, and increments. Learn how initialization, condition testing, and increment drive repeated execution.
Learn how to implement decision making with if statements and switch statements in C, including conditions, cases, default, and the importance of break to avoid fall-through.
Explore decimal, hexadecimal, and binary numbering systems, including how to denote hex and binary with prefixes and convert among representations to control pins on a board.
Learn how functions organize code in C for PIC microcontrollers, including void main, no-input functions, input-taking functions, and how to call and return results.
Explore how to use operators in PIC microcontroller code, including if statements, comparison and logical operators, and correct syntax with brackets and curly braces to control flow.
Learn to read switches as digital inputs using port A and the TRIS register, and use if statements on 0 or 1 with delay loops in ms and us.
Wrap up this course by thanking learners for watching and inviting them to explore related electronics, microcontroller plc, Raspberry Pi, LabVIEW, and micro C and C programming courses on Udemy.
Download and install Microsoft Visual Studio Community 2017 on Windows, select the C# desktop development workload, and create a console application with File New Project.
Learn how to take user input and display output in C# using Console.WriteLine and Console.Write, and explore input methods like ReadLine, Read, and ReadKey within the System namespace.
Open visual studio, create a new console app named first app, and explore the solution, project structure, and references while learning to start and debug for basic input and output.
Learn to set up a C# console project in Visual Studio, write a hello world program, and use main, namespace, class, and console methods like WriteLine and ReadKey.
Master syntax basics in c-sharp, including semicolons, curly braces, and namespaces, classes, and methods, while using Visual Studio's autocomplete and error messages to cut debugging time.
Master primitive and non-primitive data types in c sharp with visual studio, declare and initialize variables, distinguish databases from variables, and print results to the console.
Explore C# operators, including arithmetic, relational, logical, bitwise, and assignment operators, plus miscellaneous operators such as size of, typeof, address of, and the conditional expression.
Define x, y, and z as doubles; read input with console.readline, convert to double, set z = x + y, and print the result with console.writeLine.
Learn to build a date time age calculator: read user input as string, convert to date time, compute age from today, and print results with console write line.
Master conditional logic in C sharp by using if else, else if, and nested if statements, with examples of true and false inputs, case sensitivity, and password checks.
Learn how to implement if statements to control program flow by reading user input, evaluating conditions, and printing a welcome when true or ending the program when false.
Learn to use switch statements in C# to replace if-else chains, with clean syntax, breaks to avoid fall-through, and a default block, plus a vowel-check example.
Learn to implement while and do while loops in C sharp, understand their syntax and the difference between them, and see how test expressions determine execution.
Learn how to use a for loop in C# with initialization, condition, and iterator, and print multiple lines using Console.WriteLine and a final Console.ReadKey.
Begin the 45-day pic microcontroller bootcamp by exploring the history of Microsoft company and mastering basic and advanced programming of big microcontrollers through 14 experiments, with monthly updates.
Empower learners with practical microcontroller knowledge from the Educational Engineering Team, led by Ashraf, through step-by-step Arduino PIC and Raspberry Pi projects in bite-sized videos.
Learn to download and install Proteus eight professional, use the evaluation copy with sample designs, and note demo limits like no saving or simulating your own microcontroller designs.
Install MikroC Pro for PIC programming, write C code in the MikroC interface, compile and run, and generate hex files for simulation or burning to a PIC microcontroller.
Get an overview of the course contents, including C for microcontrollers basics, C extensions and inline assembly, and MikroC Pro IDE installation and setup for PIC microcontrollers.
Shows how the Mikroc IDE creates a C file, a project file, a hex file, and an assembly file when you compile and build lab one.
Update to Microsoft Blue version 6.6.3 and open the options dialog in the editor to increase font size, setting 16–18 for readability.
Discover why C emphasizes modular programming, with programs built around a main function using global variables, constants, and functions; see the basic C structure through a blinking LED example.
Declare variables at the top inside main, then review int, char, short, long, and bit with signed and unsigned ranges for calculator applications.
Explore statements and operators in this course, covering assignment with variables, constants or expressions, arithmetic and relational operators, bitwise shifts and complements, and C versus assembly comparisons.
Explore loop statements in the 45-day PIC microcontroller bootcamp, including while, for, and do-while, with their structures, conditions, initialization, and increments, and learn how infinite loops occur.
Master if and switch statements in C for PIC microcontroller, including else if, case, default and break, plus how execution flows and macro usage with x and y variables.
Explore decimal, hexadecimal, and binary numbering systems, learn how to prefix hex with 0x and binary with 0b, and convert between forms to control PIC microcontroller pins efficiently.
Explore how to use operators in PIC microcontroller code, including if statements, equality, greater or equal, not equal, and, or, with proper braces and syntax.
Learn how to define and call functions in C, including void main, functions that take no inputs or two inputs, and returning integer, float, or string values.
learn to scan switches as digital inputs with if statements, configure port a pins using the trace register, and implement delay loops with ms and us for timing.
Design your first circuit in Proteus, write a simple test code for a PIC16F84A microcontroller, and save the project while learning to turn boards on and off with hex files.
Set up a mikroC project for a PIC with eight megahertz clock. Write in the main C file, then build to produce a hex file and load.
Deal with big boards and learn how port and board registers control input and output on a 14-bit PIC, using board A and eight-bit registers to light LEDs.
Ensure the PIC microcontroller has power, ground, reset, and crystal connections; wire MCLR to a 10k resistor to Vcc and connect 4/8 MHz crystal with 33 pF capacitors to ground.
Shows a simple LED control on a PIC microcontroller by wiring the anode to port A and the cathode to ground, using hex, binary, or decimal values with a delay.
Blink an led for one second using a while loop on the first pin of port a with a 1000 ms delay in a pic microcontroller flasher circuit indefinitely.
learn to build a lighting led grid on a pic microcontroller, lighting leds in sequence with a delay and then reversing direction, using port b as output with a resistor.
Learn to control a LED with a push button on a PIC16F84A, lighting the LED for 10 seconds when pressed, using RB0 input and RB1 output with sinking vs sourcing.
Drive a seven-segment display with a BCD counter from a microcontroller, compare common anode and common cathode wiring, and use a BCD decoder to count 0–9.
Control an LCD with a PIC microcontroller using mikroC, mapping D4–D7 to port B and RS and EN to RB4 and RB5, and use clear, cursor on/off, and shift left/right.
Display and move text on LCD by writing a sentence and shifting it right or left with LCD commands, using delays to reveal the movement.
Learn to control a four-coil stepper motor with a microcontroller using ULN2003, rotating left and right. Understand step sequences and how step angle defines a full rotation for precise positioning.
Learn to control a dot matrix by multiplexing rows and columns, display the letter A with binary patterns, and optimize brightness using ULN2003A and 220-ohm resistors on a microcontroller.
Learn to interface a matrix keypad with a PIC microcontroller using a keypad library, scan rows and columns, and display the pressed key on board D as a binary value.
Learn embedded system design using Microchip PIC microcontrollers, covering 8–32 bit devices, architecture with CPU, memory, I/O and serial communication facilities, plus the MPLAB development environment.
Master programming PIC microcontrollers with assemblers or high-level language compilers, debuggers, and simulators, and prototype using breadboards, development boards, PCBs, and in-circuit serial programming (ICSP) and low voltage programming.
Explore the three PIC big families—baseline, mid-range, high performance—covering big eight, big 12, big 16, and big 18 devices with eight-bit, 14-bit, and 16-bit program words, memory options, and peripherals.
Explore Harvard architecture and von Neumann design, comparing data and instruction memory and buses in mid-range PIC microcontrollers, and explain risk versus CISC implications for PIC16F84A and PIC16F877A.
Explore mid-range pic microcontrollers and decode version codes; compare flash memory, eeprom data memory, and ram in the pic16f84a, with a and b ports and the run timer coordinating cpu.
Explore single word instructions in the Harvard architecture, where 14-bit instructions fit in 14-bit program memory and execute in a four-clock cycle at 4 MHz.
Master pin descriptions and multipurpose RA/RB pins on the Pic16f84a, including B0 interrupt, and compare oscillator modes L B, XT, HS, RC, selected at programming time for clock configurations.
Examine microcontroller system resets, including MCLR active-low wiring with pull-up resistors, power-on and brownout resets, watchdog and sleep resets, and how the program counter and SFR registers initialize.
Explore microcontroller boards and their pins, learn how to define each pin as input or output using the risk register, and select pin functions via option and configuration registers.
Explore the mid-range PIC microcontroller architecture, focusing on ports and registers, the CPU, ALU operations, and the role of pull-ups and data direction settings.
Inspect the status register, a key sfr whose C, DC, Z, bd, b0, b1 and erb bits reflect arithmetical state, power status, and memory bank selection for addressing.
Explore the option register, including bs zero to bs two, bsa, t0, cs, int edge, and rbu complement, and learn how prescaler settings affect timer zero and watchdog.
Learn how eight-bit data registers and memory banks enable access to more than 128 addresses through bank select bits in the PIC mid-range family, using direct addressing and banked memory.
Explore special function registers and general purpose registers in PIC microcontrollers, including bank switching, mirrored and bank-independent registers, and indirect addressing with FSR and Indf.
Describe memory organization in Pic16f84a with two memory blocks, program in flash and data memory comprising EEPROM, GBR registers, and RAM, plus banked sfrs and 14-bit instruction formats.
Learn how analog inputs convert to binary outputs with ADCs, exploring 3–12 bit resolutions, 0–5 V ranges, and quantization error for onboard and external converters.
Explore the 10-bit adc module in the 1687x PIC microcontroller family, including result registers and high/low references. Learn how clock selection, adcon bits c0/c1, and channel selection control conversion timing.
Learn adc module configuration bits and example: select analog channels with adcon0, start conversions with the Gordon bit, and justify results with addfm, while adon enables the module.
Learn interrupts on the PIC microcontroller, including external port B RB0, timer overflow, line changes RB4–RB7, and EEPROM writes; configure option register and int edge bit, and clear interrupt flags.
Learn how the port B line change interrupt detects changes on rb4 to rb7 when enabled, with pins as inputs and current versus prior values triggering an interrupt.
Apply the EEPROM data write interrupt to let the microcontroller continue executing while the ROM data write occurs in the background, signaling completion when the write finishes.
Learn to program interrupts on port B, including RB0 external and RB4–RB7 changes, and timer zero overflow, using the INTCON register's enable and flag bits with global interrupt enable.
Explore the option register in detail, including prescaler configuration for timer zero or watchdog timer, edge and clock source selections, and RB0 interrupt control with pull-up enable.
Learn to initialize the RB0 external interrupt on a PIC microcontroller, enable global interrupts, and implement an ISR that clears the flag and lights an LED.
Learn the port b 4 to 7 status change interrupt on the PIC16F48, which detects any change on RB4–RB7 inputs and sets the RBIF flag.
Learn to configure RB0 and RB4-7 interrupts on a PIC microcontroller, set edge triggers, enable global interrupts, and implement an ISR that clears flags and updates port B bits.
Explore asynchronous serial communication basics, including baud rate, start and stop bits, data bits, frames, and rs-232/422/423 standards for microcontrollers and personal computers or other microcontrollers.
Learn how synchronous serial transmission uses a separate clock line to synchronize sender and receiver, compare it with asynchronous RS232, and explore UART and USART roles in PIC microcontrollers.
Explore essential concepts of serial communication, including rs-232c terminology, baud rate, start and stop bits, parity, data bits, and half and full duplex modes.
Explore pic to pic and pic to pc serial communication, with master and slave roles and two programs for sender and receiver, using dip switches to drive leds and rs-232.
Learn how analog signals from a potentiometer are converted to digital values using a microcontroller's ADC, then displayed on port b and port c with 8- and 10-bit resolution considerations.
Interface a unipolar stepper motor with a microcontroller using ULN2003, explain four coils with a common center, and drive the sequence 1-2-4-8 for rotation.
Explore dot matrix displays, their internal structure, and multiplexing techniques to drive a five by seven matrix using PIC16F84A, including interfacing, resistors, and displaying numbers and letters.
Demonstrate a simple serial communication cycle by linking a transmitter to a receiver via a computer/virtual terminal, using a baud rate of 9600 to send and echo back text.
Explore the fundamentals of electronics, including voltage, current, resistance, and essential components—resistors, capacitors, inductors, diodes, and transistors—plus circuit diagrams and Ohm's law.
Explore voltage, current, and resistance, and how AC and DC, and different circuit types, behave, using a water pipe analogy to visualize electrons, pressure, and friction.
Explore the two types of current—direct current and alternating current—defined by the direction of flow, with a schematic illustrating cycles, peak values, voltage, current, and wavelength.
Identify the three basic circuit types: open, closed, and short, and explain how broken insulation or miswiring creates open or short circuits with simple schematic examples.
Learn voltmeter basics by measuring voltage (ac and dc), current, and resistance, and check continuity and semiconductors with diode and transistor checkers.
Measure voltage using a voltmeter across the source, distinguishing dc and ac with proper ranges and probes. Emphasize safety, polarity, scale selection, and reading accuracy from millivolts to rms voltages.
Learn to measure current by inserting the meter in circuit so that current flows through it. Understand amperes, DC measurement, meter ranges, fuses, probes, and the need for circuit resistance.
Explore current measurement techniques on a protoboard using resistors of various values, a voltmeter, and range selection to convert readings between milliamps, microamps, and amps.
Discover how to measure resistance with a voltmeter, selecting the correct range from 200 to 2 mega ohms, and apply ohm's law for accurate readings.
Explore circuit diagrams as roadmaps showing current from a voltage source through resistors, capacitors, inductors, diodes, transistors, and ICs. Grasp grounding types and variable components.
Explain resistance in ohms, read color code bands (first digit, second digit, multiplier, tolerance), and determine resistor values for fixed and variable types in circuits.
Explore how resistors dissipate heat and how physical size limits power handling, then learn to analyze series, parallel, and mixed circuits using equivalent resistance and practical breadboard experiments.
Explore Ohm's law through hands-on circuit experiments with resistors and a 9-volt battery, measuring voltage and current to predict and verify circuit behavior, and apply Kirchhoff's law.
Learn capacitor fundamentals: construction, rating factors, capacitance values, types, and how charging and discharging affect performance in series, parallel, and AC/DC circuits.
Explore how capacitors block dc and pass ac, charging and discharging with alternating polarity, and how series and parallel configurations set total capacitance in farads.
Explore how inductors store energy in a magnetic field, how coil construction and cores affect inductance, and how dc and ac currents cause resonance and coupling, as in transformers.
Explore diode fundamentals, including forward and reverse bias, AC and DC behavior, and practical devices like LED and Zener diodes, with breadboard circuits and current-limiting resistors.
Explore how transistors work, including NPN and PNP types, their symbol and diode structure. Learn to bias transistors to switch and amplify, using base voltage to control high voltage.
Explore advanced pic microcontroller topics, including interrupts (rb zero, external board, timer, overflow, and eeprom write), analog-to-digital conversion, and pwm. Learn serial communication and timer-based counting for precise control.
Meet the educational engineering team, a veteran microcontroller and electronics education group led by Ashraf since 2007, sharing bootcamp-style, step-by-step real-world knowledge across Arduino PIC, Raspberry Pi, and IoT.
Explore how interrupts enable the PIC16F84A to respond to events without polling, covering external interrupt on RB0, timer0 overflow, port B changes, and EEPROM write interrupts.
Enable the port b line change interrupt for rb4 to rb7 to monitor input pins; the interrupt compares current and old states and triggers on any change, supporting multiple sources.
Learn how the eeprom data write interrupt lets the microcontroller continue executing during a ten-millisecond eeprom write, using background processing and a completion signal to resume operations.
Explore how interrupt handlers use the INTCON register to enable port B change interrupts (RB4–RB7) and RB0 external interrupts. Global interrupt enable acts as the main switch for these sources.
Master the option register in PIC microcontrollers, configuring prescaler bits for timer zero or watchdog timer, selecting RB0 interrupt edges, and enabling internal pull-up resistors.
Demonstrates initializing RB0 interrupt, configuring port B0 as input with edge-triggering, enabling interrupts, and an ISR that clears the flag and drives an LED from a push button with pull-up.
Explore the Port B 4–7 status change interrupt on the PIC16F48; any RB4–RB7 input change sets RBIF. Initialize as inputs, select edge, clear RBIF, enable global interrupts and RBIE.
Explore how to enable and handle port B interrupts on a PIC microcontroller, using RB4–RB7 line-change interrupts and RB0 external interrupt, with an interrupt service routine that toggles bit states.
Explore serial communication basics between microcontroller and pc and between microcontroller and another microcontroller, including asynchronous transmission, baud rate, and framing with start bits, data bits, parity, and stop bits.
Explore synchronous serial transmission, contrast with asynchronous framing, and learn how clock lines synchronize sender and receiver, with UART and USART in PIC microcontrollers and the RS232 and USB standards.
Explore PIC to PIC and PIC to PC serial communication, with master/slave roles, sender/receiver circuits, dip switches, leds, asynchronous timing, and rs-232 framing (start bit, eight data bits, stop bit).
Demonstrate bidirectional serial communication between a PIC microcontroller and a PC via UART at 300 baud, wiring TX/RX and exchanging commands with a virtual terminal.
Examine timer zero, an eight-bit register that increments each instruction cycle until overflow. Configure it as a timer or counter with a software-readable register, internal or external clock, and prescaler.
Learn how timer zero interrupts are enabled, how the ISR clears the flag, and how prescaler settings, assignable to timer zero or watchdog, shape cadence and delays.
Explore how Timer0 enables precise delays through a free-running timer and prescaler, letting you implement delay loops without counting instruction cycles, with readable and writable timer registers.
Master Timer0 interrupt driven counters to achieve high timing accuracy by configuring prescalers, option registers, and foreground delay loops with timer overflow and LED indicators.
Learn about interrupt driven timers that run in the background with no prescaler. The ISR increments a counter and lights an LED at 303,906, then clears the interrupt flag.
Configure timer0 as a counter to count r4 pulses using external clock input and selecting edge via the option register. Overflow may trigger an interrupt and increment a supplementary counter.
End the 45-day PIC microcontroller bootcamp with updated codes, proto simulations, and home project ideas, plus advanced resources and online tutorials. Follow Ashraf for discounts, software, and Q&A.
Download, install, and explore mikroC pro for PIC, leveraging its integrated development environment, compiler, libraries, code editor, code explorer, generate standard hex files, debugger, and simulator for embedded development.
Download and install Proteus design suite, an electronic design automation tool, from the evaluation copy, explore sample designs, and learn its limitations on saving work and simulating your own microcontroller.
Explore microcontroller communication protocols, including RS-232, SPI, and I2C, with practical Arduino, PIC, and Raspberry Pi examples, plus a GUI for serial communication.
Explore the I2C two-wire interface, a master-slave protocol that uses two wires (SDA and SCL) to connect multiple devices with unique addresses in PIC microcontroller projects.
Use a PIC as I2C master to address multiple slaves; employ pull-up resistors on SCL and SDA with two open-drain lines, supporting up to 112 devices in close range.
I squared C uses two wires for synchronous serial communication, supports up to 112 slaves and multi-master operation, with speeds from 100 kB/s to 3.4 MB in high speed mode.
Explore the disadvantages of I2C, including its protocol complexity, higher power from open-drain two-line bus, slowest-device bottlenecks, bus hangs, and short-range limitations.
Master the i2c bus operation that synchronizes data with a clock. Learn the start condition, seven-bit address, read/write bit, acknowledgments, and stop condition on the sda and scl lines.
Discover the three-step I2C operation: send the slave address with read/write, specify the slave memory location, and transfer the data.
Identify the I2C pins on an Arduino board, specifically A4 and A5, labeled SDA and SCL, for serial data and serial clock in I2C communication.
Discover Arduino I2C communication using the wire library to join devices as master or slave and exchange data with wire.begin, wire.read, wire.write, and wire.beginTransmission and endTransmission.
Design a circuit for two Arduinos using I2C with SDA and SCL lines, a common ground, on a breadboard and Fritzing simulation, preparing for the coding section.
Learn how to implement Arduino to Arduino I2C communication using the wire library, with a master sending data to a slave via unique addresses and begin transmission and end transmission.
Design an Arduino Uno circuit for DS1307 RTC. Connect SDA to A4, SCL to A5, power with 5V and ground, read data via I2C from RTC to LCD.
Explore Mikroc pro for pic i2c library routines in master mode, including i2c1_init, start, repeated start, read, write, and stop, with emphasis on correct module selection and compile-time clock values.
Design and simulate an I2C test circuit around a PIC16F877 using Protos, including crystal, 33 pF capacitors, a 10 kilo ohm resistor, and 4.7 kilo pull‑ups for SDA and SCL.
Create a standard PIC project and initialize I2C using the library. Write I2C data to an EEPROM by sending the slave address, memory location, and data, with a Proteus simulation.
Learn to implement i2c to read time and date from the DS1307 clock, extracting seconds, minutes, and hours from registers 0, 1, and 2 for display on an lcd.
Learn what the serial peripheral interface is, a synchronous, full-duplex communication between a master and a slave that requires a clock and is common in Arduino projects.
Explain the four-wire SPI: SCK, MOSI, MISO, and SS. Enable the master to drive multiple slaves by pulling the corresponding SS line low while sharing the clock and data lines.
Master the MikroC Pro IDE SPI library by initializing SPI modules, choosing default or advanced settings, and reading or writing data on a two-module system.
design and simulate a PIC microcontroller circuit using protos, wiring a 16F8778 with two crystals and capacitors, a resistor on the MCLR, and SPI connections for memory and PIC-to-PIC communication.
Program pic microcontrollers with the mikroc pro spi module and debugger to send data on the spi bus, initialize the spi protocol, and write 0xa0 with a 100 ms delay.
Identify Arduino spi pins for connecting devices: mosi on 11 icsp4, miso on 12 icsp1, clock on 13 icsp3, and ss on 10, with Uno, Nano, and Mega mappings.
Discover how to use the Arduino sbx spi library to initialize the spi bus with begin, set the clock divider, attach an interrupt, and transfer data in master-slave communication.
Demonstrates SPI communication between two Arduino boards, master and slave, with LEDs and push buttons connected via pins 10–13. Uses fritzing and breadboards to illustrate the circuit design.
Learn to implement a master in SPI communication with the Arduino IDE, including setting up SPI, transferring button state, and coordinating a slave button and LED via SPI transfer.
Create a slave project and enable spi in slave mode with an interrupt for master data. Read the slave button, send its state via spi, and drive the slave led.
Learn the USB interface for the PIC18F4550 microcontroller, covering basic USB concepts, host PC communication, USB port power to five volts and 100 mA, and upcoming hardware and software requirements.
Discover the advantages of USB communication: power to devices, plug-and-play setup, hub support, and high-speed data transfer from USB 1.0 to USB 3.0, with up to 127 devices.
Explore usb wiring, pinouts, and color coding, including data plus and data minus, vcc and ground, and standard a to b cables for pic microcontroller sockets.
Explore usb transfer speeds across versions, from usb 1.0 to usb type-c, noting low-speed 5 megabits per second, 2 mb/s for printers, up to 10 gbps, and hid concepts.
Explore USB device classes, focusing on HID (0x03) devices like keyboards and mice, with driverless plug-and-play support and the Mikroc Pro HID library for host-slave communication.
Explore usb descriptors and how the host assigns a unique usb address after querying manufacturer, device version, product id, enabling two-way transaction using device, configuration, interface, hid, and endpoint descriptors.
Create a USB descriptor file in Micro C Pro for a PIC microcontroller using C, detailing VID, PID, 64-byte buffer size, vendor name, product name, and bus power.
Create a MikroC usb descriptor for a pic18f4550 project, set default vendor and product IDs, set 64-byte buffer, enable USB self power, and save descriptor.c to the desktop usb folder.
Enable usb hid communication on pic microcontrollers using the mikroc pro for pickup library, and initialize hid with read and write buffers at 0x0500 and 0x0540.
Discover USB RAM in PIC microcontrollers: a dedicated memory area from 0x500 to 0x7FF for USB read and write buffers, with device-specific address adjustments using the PIC18 AF4550 example.
Learn how hid read and hid write manage USB data by reading from and writing to the USB bus using designated read and write buffers.
Design a first example circuit in protos for a PIC18F4550 with USB-C, crystal, capacitors, and a push button; connect VCC, ground, D plus, D minus, and prepare for PCB layout.
Install the virtual usb port feature to enable simulation for pic microcontrollers in the 45-day pic microcontroller bootcamp.
Establish a USB HID connection with a PIC 18F4550 and test data transfer by echoing received bytes back to the host, using descriptors, buffers, and a starter Micro C project.
Build a usb interface with the pic18f4550, 5-volt supply and 20 mhz crystal, then write c code to send data via usb and control leds d2 and d3.
Learn to turn leds on and off via USB interfacing using a PIC microcontroller, addressing port D pins D0–D3 and using a simple input command scheme.
Learn how to read button states from port b, control leds, and display terminal messages like first button pressed or second button pressed, via usb interfacing and a visual interface.
Connect the pic microcontroller to the usb programmer, configure fuses for pll, enable the oscillator, and burn the hex file using the ql software.
Configure mikroC for pic18f4550 with a 20 MHz crystal in hs pll, set prescaler to 5 and multiplier to 24, then compile and load the hex via ql programmer.
Download and install the microchip framework for a pic microcontroller, install usb device drivers, connect the usb cable, and prepare the circuit for bootloader mode to enable proper usb detection.
Assemble a practical PIC microcontroller circuit by wiring a crystal oscillator, capacitors, and a pushbutton to a breadboard, then connect the USB interface (D+ D-) for operation.
Understand graphical user interfaces, enabling interaction with devices via icons and visuals, and learn how to design and code GUI elements to control a PIC microcontroller using mouse or keyboard.
Design a GUI for microcontrollers using Microsoft Visual Studio and C# forms, and learn the free educational license for C#, download, install, and create your first project.
Master Proteus virtual USB installation for PIC microcontroller development within the 45-day PIC microcontroller bootcamp.
Explore microcontroller to PC communication methods, including RS-232 serial, USB, and Ethernet. The course focuses on RS-232 and USB, with Ethernet covered separately.
Explore serial communication fundamentals and the RS232 standard. Contrast serial and parallel methods, and learn how two lines and a clock enable long-distance data exchange.
Start a new Visual C# Windows Forms app in Visual Studio, use the toolbox and properties window to design a first GUI, name controls, and save the project.
Learn to design an RS-232 interfacing circuit between a PIC microcontroller and a computer using MAX232, polarized capacitors, and D9 connectors in Proteus, including TX/RX wiring and PCB layout.
Design a proto simulation circuit with a PIC microcontroller that controls two leds via a graphical user interface in C sharp, using a virtual terminal for serial communication.
Write C code to control a pic microcontroller and enable serial communication via uart, read 1 or 2 from the gui, and light the corresponding leds on port b.
Create your first GUI in Visual Studio to control two LEDs through a serial port in a Windows Forms application, sending 1 and 2 characters to a PIC microcontroller.
Link Protos simulation with the Visual Studio GUI to control a PIC microcontroller via serial communication using bridged com ports 20 and 21, load hex, and test LED signals.
Download and install the Proteus design suite to explore VSM simulation with sample PIC projects; the demo version lets you print schematics but cannot save or simulate your own designs.
Download and install MikroC Pro for PIC to access its feature-rich IDE, compiler, libraries, debugging tools, and ready-to-run examples for PIC microcontrollers.
download and install the arduino ide from the official arduino website. choose your operating system, update if needed, and learn the arduino ide interface, boards, and basic blinking led example.
Learn to download and install fritzing, a free software for creating circuits and PCBs, building schematics, and visualizing Arduino projects on Windows, Mac, or Linux.
Learn to download and install Microsoft Visual Studio to gear up for the 45-day PIC microcontroller bootcamp.
Learn from the Educational Engineering Team, a leading microcontroller education group with 12+ years of hands-on teaching, delivering deep, step-by-step blueprints for the PIC microcontroller bootcamp in bite-sized videos.
Learn to build a smokeless flame detector with a PIC microcontroller, covering hardware and software requirements, the detector differences, circuit connection, coding, and PCB design.
Learn the hardware and software setup for PIC microcontroller projects using mikroc, proto, and Altium Designer, plus resistors, capacitors, LEDs, diodes, buzzer, voltage regulator 77805, and programmer.
Explore the differences between carbon monoxide detectors, flame detectors, and smoke alarms, and learn best practices for placement, types (ionization, optical, heat, combined), and interlinked mains-powered protection to save lives.
Explore the main flame detector types, including optical ultraviolet detectors, near infrared array cameras with charge-coupled device flame recognition, and infrared thermographic sensors for gas patterns to minimize false alarms.
Explore how the flame detector uses an op-amp comparator and infrared diode to sense flames and output a low when detected, with adjustable sensitivity to prevent daylight trips.
Download and install the Proteus design suite, explore the evaluation copy with VSM simulation, and run sample PIC microcontroller projects.
Design and simulate a flame detector circuit in Proteus using a PIC microcontroller, LEDs, buzzer, resistors, crystal, and an IR detector.
Explore a simple infrared module for obstacle sensing, color detection, line sensing, and fire detection, featuring a digital 5-volt output and onboard potentiometers for calibration and Arduino compatibility.
Download and install MikroC Pro for PIC, a feature-rich IDE with compiler, libraries, and examples, offering in-depth debugging, code explorer, and hex generation for PIC microcontrollers.
Code the pic microcontroller to trigger a buzzer alarm on fire detected by the ir module, with red alarm led, green on indicator, and a test button.
Download and install Altium for the 45-day PIC microcontroller bootcamp. Prepare your setup to begin the course focused on Altium tooling for PIC microcontroller work.
Install Altium to begin the 45-day PIC microcontroller bootcamp, preparing you to work with the essential software for your hardware-focused learning journey.
Design a circuit pcb with altium designer by creating a schematic, placing components such as pick 16 877A and basic parts, and wiring power and ground.
Design and route a two-layer Altium pcb, connecting a three-pin sensor to Vcc, ground, and the signal, then validate and annotate for error-free production.
Learn how LCD works and how to interface a PIC microcontroller with LCD to display words, letters, numbers, and sentences, including moving text, flashing, and ASCII display.
Join Educational Engineering Team's 45-day PIC microcontroller bootcamp to master microcontrollers, programming, electronics, and circuit design through step-by-step, practical videos and online support.
Learn hardware and software requirements to connect a PIC microcontroller to an LCD display, using a C compiler and free simulations like protos software and pic simlab.
Learn what a pic microcontroller is, its cpu, memory, and input/output pins, and how the pic16 mid-range family enables interfacing with lcd displays.
Explain how a liquid crystal display works, focusing on the two by sixteen lcd and its pinout including data, instruction, power, contrast, vss, vcc, rs, rw, and e.
Explore big simlab, a free, open source simulator that emulates real life boards and supports pic microcontrollers, lets you load hex files, and interact with lcd displays and other components.
Explore six common lcd routines in Mikroc Pro for pic microcontrollers: lcd initialize, lcd out, lcd out cb, lcd cr, and lcd cmd; discover the lcd library and four-bit interface.
Master lcd initialization in PIC microcontrollers using the MikroC Pro lcd library, including defining data pins d4–d7, rs and enable, and integrating lcd initialize in main.
Explore displaying text on a two by sixteen lcd using lcd out with row, column, and text, or lcd out cb at the current cursor position.
Learn two routines for displaying characters: LCD char with row, column, and character inputs, and LCD cpp to write at the current cursor position, with practical examples.
Learn to use the lcd cmd routine to send commands, initialize the lcd, and apply common commands - clear, move cursor, turn on/off, and shift text to fit more characters.
Use Pic SimLab with the Maclab two board to map LCD connections to the PIC16F8778 pins in MikroC, then edit code for RS, E, and D4-D7 and load hex.
Learn to configure a 16 by two lcd display with the lcd library, wire d4–d7 and the rhs and enable pins, and simulate using pic sim lab.
Learn to move text on an LCD to the left by using the LCD shift left command, adding a 100 ms delay, and controlling shifts with for and while loops.
Discover MikroC Pro for PIC, a feature-rich IDE and compiler with libraries, debugging tools, and ready-to-run examples; learn to download, install, and explore its code editor, simulator, and hex output.
Learn how to download and install Proteus Design Suite from Lab Center Electronics, explore the evaluation copy with sample designs, and understand its demo limitations for simulating microcontroller projects.
Meet the educational engineering team, a leading microcontroller and programming authority with 12+ years of teaching and practical projects, offering in-depth, step-by-step blueprints for real-world learning and projects.
Learn to design and program an electronic door lock using a bec microcontroller, with wiring, circuit diagrams, password-based control, and downloadable code and schematics via virtual terminal or keypad.
Explore two electronic door lock designs with a microcontroller and ISIS simulation, using serial and keypad input, a solenoid relay, and EEPROM-stored passwords with security alerts for wrong attempts.
Install broadcast professional and Mikroc to simulate high and low level microcontroller code within a mixed mode spice circuit, test with Arduino, and download, install, and activate a demo license.
Explore the serial port on the big microcontroller and the usart interface, including rx and tx lines and the line driver, to enable easy serial communication in mikroC or C.
Design a schematic diagram for an electronic door lock and simulate it in proto simulation. Use a PIC18 microcontroller, relays, optocouplers, and a virtual terminal for serial communication.
Explore schematic diagrams for a Pic microcontroller system with relays, transistors, and optocouplers to isolate inputs from voltages, while rgb leds signal a wrong password and drive a door lock.
Explore programming code for a big microcontroller using Mikroc Pro, covering password checks stored in EEPROM, relay control for electronic door locks, and line-by-line explanations with simulation.
Explore line-by-line programming of a PIC microcontroller project, detailing uart initialization, eeprom password storage, password verification, and password change with buzzer and led feedback.
Demonstrates simulation results of a password-protected PIC project, including password entry, change password option, lock/unlock via relays, and wrong-try alerts with rgb leds and buzzer.
Engage with the Educational Engineering team to ask questions on the Q&A board, share suggestions, and give a five-star review at edu eng wwd.com for discounted microcontroller courses.
Educational engineering team shares real-world microcontroller knowledge with depth and step-by-step blueprints in bite-sized videos. Ashraf, a seasoned educator, guides learners through practical projects since 2007.
Learn the hardware software workflow to build internet of things projects using a wifi breakout board, including sensors, button triggers, and online data displays linked to cloud services.
Join the educational engineering team as they share step-by-step, practical microcontroller projects and in-depth teaching on Arduino Pic microcontrollers and related topics.
Select a microcontroller (Arduino or PIC) and gather the MT8870 DTMF decoder with required peripherals. Install Arduino and circuit design software to begin building and testing the hardware setup.
Explore how to control a remote device with a PIC or Arduino using dtmf tones from a basic mobile phone, decoding keypad inputs into motor and heater actions without internet.
Explore dual tone multi-frequency signaling, how keypad digits generate two tones, how decoders translate tones into binary codes, and how to read them with a microcontroller for remote control.
Learn how a DTMF decoder IC 8870 converts keypad tones into a four-bit binary output to remotely control greenhouse devices via a mobile phone without internet.
Decode incoming dtmf tones with the cmn 8870 integrated dtmf decoder, converting them into a four-bit bcd code for the microcontroller, using q1–q4 outputs.
Explore the dtmf decoder circuit schematic, detailing headphone input conditioning with a 0.1 µF cap and 100 kΩ resistor, and a 3.58 MHz crystal with 20 pF capacitors.
Learn to identify a 3.5 mm audio jack’s tip, ring, and sleeve, select a ground and left or right channel, and avoid the microphone for a DTMF project.
Design a dtmf decoder schematic in Eagle, selecting an 8870-compatible IC, wiring power, ground, resistors, capacitors, a crystal, and mic and data connectors for a four-bit output.
Connect a DTMF module to a PIC microcontroller in protos, wire four LEDs to port C, and tie four Q inputs to the DTMF data pins for upcoming PIC coding.
Write a C program for a PIC microcontroller to output four bits on RB0–RB3 and drive four devices from keypad inputs, with on/off control and a 20 MHz clock.
Learn to design a dtmf decoder module pcb from schematic, perform erc and drc checks, place components, route on top and bottom layers, and finalize the pcb layout.
Demonstrate a dtmf decoder with a built‑in dtmf ic, relay, and audio jack. Use keypad tones to trigger a buzzer and LED, sending outputs to a microcontroller for remote control.
Whether you're just starting in electronics or looking to strengthen your embedded systems knowledge, this boot camp will guide you from the basics of PIC microcontrollers to building full-fledged embedded applications. With over 53 hours of content, structured daily learning goals, and a massive library of real-world projects, this course is your gateway to professional-level microcontroller development.
You'll move from setting up your tools and writing your first program to mastering timers, interrupts, ADC, digital I/O, and interfacing with sensors, motors, displays, and communication modules.
What You'll Learn
The complete architecture and working of PIC microcontrollers
Writing, compiling, and debugging embedded C code for PIC
Configuring and using I/O pins, ADC, PWM, Timers, and UART
Interfacing with real-world devices: LEDs, sensors, motors, and displays
Interrupts, delays, bit manipulation, and memory optimization
Advanced topics: I2C, SPI, EEPROM, LCDs, keypad interfacing, and more
Structured simulation using MPLAB X and real hardware deployment
How to build, debug, and optimize complete embedded projects
What You’ll Build
Sensor-activated lighting systems
Temperature and humidity data loggers
Security systems with keypad and LCD integration
Motor control applications
Data transmission with UART, I2C, and SPI
Full real-world automation projects and mini-systems
Who This Course is For
Beginners looking for a complete roadmap to embedded systems
Electrical or electronics students needing strong hands-on foundations
Hobbyists ready to level up from Arduino to PIC
Engineers or technicians looking to upgrade skills for embedded job roles
Professionals preparing for a career in embedded systems or IoT
Requirements
No prior experience in PIC programming is required
A basic understanding of electronics is helpful
You’ll need a computer with internet access
PIC development board (such as PIC16F877A or PIC18F4550) + MPLAB IDE
Optional: Proteus simulation software for offline practice
Course Bonuses
45+ downloadable code examples ready to compile
Schematic diagrams and Proteus simulations included
Exercises and challenges at the end of each major module
Certification of completion to showcase your skills
Lifetime access to course content and future updates
Why Learn PIC?
PIC is a widely-used microcontroller in education, industrial products, and real-world embedded systems. Learning to master it prepares you for working with any architecture (AVR, STM32, ARM, etc.) and gives you full control of bare-metal programming.
If you want to go beyond libraries and truly understand how embedded systems work, this course is your foundation.
Testimonials from Previous Students:
"This course is a game-changer! I went from knowing nothing about PIC microcontrollers to designing my own systems in just 45 days." — John D.
"The hands-on projects were incredibly helpful. I now feel confident tackling complex embedded systems projects at work." — Sarah T.
"The instructor's expertise is evident throughout the course. The way complex topics are broken down is brilliant." — Michael W.
Enroll Now
Whether you're starting your engineering journey or switching careers, this 45-Day Bootcamp will give you the confidence and expertise to build smart, efficient, and professional embedded solutions.