
Explore the PIC microcontroller with a step-by-step introduction to its history, programming basics, and essential electronics components, plus more than 14 hands-on experiments.
Educational Engineering Team
Team of skilled Engineers Sharing Knowledge with the World
Educational Engineering Team is a Leading Team in Microcontroller Industry, with over 13 Years of Experience in Teaching and Doing Practical Projects.
We strive to put all our hands-on experience in these courses. Instead of superficial knowledge - we go into the depth of the topic and give you the exact - step by step blueprint on how to tame simple as well as complex topics in easy and digestible bite-sized videos.
This real-world knowledge enables you to grasp knowledge easily, and you can apply this learning immediately to your life and projects.
Educational Engineering Team has been in the Programming and Microcontroller business since 2007. We have been part of many projects. Over the course of these years - we have gained a good insight into students’ and educators’ needs. We are passionate about sharing all our collective knowledge with you. As of 2018, we have already taught over 250k-THOUSAND students and counting.
Currently, we have more than 100+ Courses on Udemy
Educator and Author of "Educational Engineering".
Ashraf is an educator, Mechatronics engineer, electronics and programming hobbyist, and Maker. He creates online video courses on the EduEng YouTube Channel (More Than 4 Million View, 20k + Subscriber) and author of four Microcontroller books.
As a Chief Educational Engineer since 2007 at Educational Engineering Team, the company he founded, Ashraf’s mission is to explore new trends and technology and help educate the world and make it a better place.
Educational Engineering offers educational courses and Bootcamps, articles, lessons, and online support for electronics hobbyists, Programming hobbyists, Microcontroller hobbyists, STEM students, and STEM teachers.
That team also work as freelancer engineers, helping many students in their graduation projects, and provide guidance and consulting for many students over the years to help them kick-start their career.
Ashraf’s core skill is explaining difficult concepts through in a step by step easy to understand matter using video and text. With over 11 years of tertiary teaching experience, Ashraf has developed a simple yet comprehensive and informative style in teaching that students from all around the world appreciate.
His passion for Microcontrollers and Programming and in particular for the world of Arduino, PIC Microcontroller, Rasberry Pi has guided his personal development and his work through Educational Engineering.
Ashraf’s online courses have helped over 250,000 people from around the world to be better and to make a great career in the industry.
Educational Engineering Team offer Course on
Circuit Design, Simulation, and PCB Fabrication
Arduino, PIC Microcontroller, and Raspberry Pi
Programming in C, Python, and other programming languages
PLC Industrial Programming and Automation
3D Design and Simulation
ESP and IoT World
For more information use the links in the profile page to follow Educational Engineering Team and Ashraf’s latest innovations.
Learn how to declare variables in C, specifying type and scope inside main. Understand signed versus unsigned types, their memory sizes, and value ranges to ensure accurate results.
Examine statements and assignments, variables and constants, and common operators—arithmetic, comparison, logical, and bitwise—along with if conditions and shifts that drive C code logic.
Explore loop statements, including initialization, condition, and increment in for, while, and do-while loops; understand execution order and how to avoid infinite loops.
Explore if statements and switch structures in C, including case, default, break, and else, with practical examples and syntax checks to prevent errors.
Explore functions in programming by examining the main function, void return types, and calling functions with integers, floats, or strings. Learn to sum values, pass parameters, and ensure type consistency.
Read digital inputs from switches and determine whether they are closed or open. Implement delay loops in microseconds and milliseconds to control outputs on a PIC microcontroller.
Explore creating your first Proteus project for a PIC microcontroller by designing and running a circuit, configuring the Proteus workspace, and learning component basics and controls.
Explore your first MikroC project for a pic microcontroller, including writing C-code, saving work, and configuring loop frequency to control outputs on and off.
Explore how to connect PIC ports, read and write binary signals, and write your first code to control outputs and read inputs using port bits.
Understand essential connections for a PIC microcontroller, including ground, Vcc, and signal connections, to enable operation in real hardware and simulation.
Learn to build a flasher circuit with a PIC microcontroller by toggling an output in a 1 second on/off pattern using 1s and 0s.
Explore a PIC microcontroller led follower example, driving a 16-led strip in reverse sequence, lighting each led one by one with a one-second delay.
Control an LED with a push button on a PIC microcontroller, using 5 volts and ground to read the button, switch the LED, and learn sinking versus sourcing.
Display digits 0–9 on a seven-segment display with a BCD counter and a PIC microcontroller, using direct drive or a BCD-to-seven-segment decoder like 74xx47 for common anode/cathode wiring.
Explore how to control an lcd with a Pic microcontroller by wiring the data bus, rs, rw, and enable lines, sending clear and display commands, and positioning text on screen.
Display and move text on an LCD with a PIC microcontroller. Shift text left and right using LCD shift left/right commands and delays to visualize motion on the first row.
Learn to control a stepper motor by energizing four coils in sequence to rotate the shaft, reverse direction, and understand steps, drivers, and basic hardware interfaces.
Interface a keypad matrix with a PIC microcontroller using a scanning technique. Define and initialize a keypad library, map columns and rows, read keys, and display results on the board.
Explore embedded system design with Microchip PIC microcontrollers, including central processor, memory for program and data, internal clock, serial communication, and digital converter peripherals.
Learn to program PIC microcontrollers and prototype circuits using development boards, in-circuit programming, breadboards, and PCBs, with tools like programmers, debuggers, and simulators.
Identify the three PIC architecture families: baseline, mid-range, and high-end 18. Baseline targets battery apps, mid-range offers 14-bit program memory, and high-end provides up to 2 MB plus richer instructions.
Compare Harvard architecture and von Neumann architecture in mid-range PIC microcontrollers by highlighting separate program and data memory paths, one-cycle instruction execution in Harvard designs, and slower von Neumann performance.
Explore pin description and how pin numbers like RB3 are labeled on the board, then compare oscillator types for PIC microcontrollers, including RC, crystal, XTi, XT, and built-in options.
Discover how PIC microcontroller ports are configured as input or output by setting bit patterns in the option registers, defining pins per device needs and enabling specific functions.
Explore how the PIC architecture uses ports and registers, defines port directions, and disables pull-ups at startup, while the fetch-decode-execute path drives the ALU and work register.
Explore the status register's role in indicating operation results and controlling memory bank selection. Learn how zero and carry flags, overflow, and bank bits guide instruction execution.
Explore how memory banks work in a PIC microcontroller, using bank select bits to access multiple 128-byte banks, with examples showing bank switching and device variations.
Explore how special function registers and general purpose registers map to banked memory in a pic microcontroller, including common areas, bank-specific regions, and the role of bank switching for access.
Explore analog to digital conversion in microcontrollers, focusing on 0–5 volt inputs, resolution, and quantization. See 3-bit to 12-bit ranges like 0–7 and 0–4095, with onboard vs external converters.
Explore the ADC module of the PIC16F877A, detailing a 10-bit analog-to-digital converter, its registers, and software-selected references. Learn how conversion time depends on clock and division.
Learn how port b line change interrupt uses the current state compared to old values to trigger on transitions between logic 1 and 0 on rb4-rb7 when configured as input.
Learn how an EEPROM data write interrupt lets a PIC microcontroller continue execution while the write operation proceeds in the background, signaling completion when finished.
Explore how interrupt handlers control the flow to the interrupt service routine using the interrupt control register, flag bits, and enable bits for RB change, time zero, and global interrupts.
Configure the RB0 external interrupt, set RB0 as input, and select the trigger edge; enable global interrupts, clear the flag, and implement an ISR that lights an LED.
Understand port b 4 to 7 status change interrupts that detect input changes on rb4–rb7, configure edge triggering, and manage the interrupt flag for reliable input monitoring.
Demonstrate the RB0 and RB4-7 interrupt example on a PIC microcontroller by enabling global interrupts, handling events in the interrupt service routine, and clearing flags for switch-driven changes.
Master serial communication basics for the PIC microcontroller, including serial data transmission with start and stop bits, marking and spacing states, data bits per character, baud rate, and rs-232/422/423 framing.
Explore essential concepts of serial communication, including start and stop bits, data bits (five to eight), parity (even or odd), and baud rates like 9600 and 2400, with duplex considerations.
Master and slave PIC designs exchange data serially over TX and RX lines, enabling PIC-to-PIC and PIC-to-PC communication with synchronized transmission via a shared clock and the SCI/USART module.
Increment timer zero on each instruction cycle until it reaches 255 and overflows to zero, using internal or external clock sources with selectable edges in an eight-bit timer.
Learn to implement delays with timer0 as a free running time source by counting instruction cycles, achieving microsecond timing and scalable delays from 0 to 255.
Learn timer0 interrupt based delay loops on the PIC microcontroller, covering timer source, overflow handling, and enabling global interrupts for precise timing.
Explore interrupt driven timers on PIC microcontroller to enable background counting, letting the app run foreground tasks while a timer overflow triggers an interrupt service routine to update a counter.
Explore timers0 as a counter in a PIC microcontroller, using external clock synchronization, high-to-low transition counting, and overflow interrupts to increment an internal event counter up to 256.
Explore the PIC16F84A microcontroller by building a basic LED circuit, writing a C program to output 0x8A on port B, and using delays to observe on/off timing.
Explore mikroC language for the PIC microcontroller, compare it with assembly. Learn how C converts to assembly and then to machine code, with delay and 7-segment examples.
Experiment four teaches designing and simulating basic logic functions—addition, subtraction, and multiplication—on a PIC microcontroller, assembling circuits, and displaying results on a 7-segment display with step-by-step project coding.
Explore interfacing a seven-segment display with a PIC microcontroller, wiring common cathode vs common anode, using resistors or a BCD decoder, and multiplexing to count 0–9.
Explore analog to digital conversion in PIC microcontrollers, using ADC with a 0–5 voltage reference, 10-bit resolution, and visual bar graph displays.
Drive a 5x7 dot-matrix LED display with a PIC microcontroller using row resistors and column transistors, via multiplexed scanning to show letters and numbers.
Demonstrates a serial interface between a computer and a PIC microcontroller using a virtual terminal, showing transmit, receive, and echo back of data at 9600 baud.
Welcome to PIC Microcontroller: Everything you need to Know.
This course offers over a hundred lectures and 8.5 hours of HD content, taking you on an informative journey to not only master the coding of PIC Microcontroller but also learn the very basics of PIC Microcontroller's internal structure, how it works, its parts, and how your code is handled inside the brain of a microcontroller.
Why You Should Take This Course:
Comprehensive Learning: Learn to program a microcontroller from scratch.
Project Building: Build your own projects with the knowledge of microcontroller usage.
Detailed Understanding: Learn about inputs, outputs, interrupts, timers, PWM, analog to digital conversion, and more!
Unity Programming: Access a course in Unity programming to make games in C# using the knowledge from this course.
Continuous Updates & Bonuses: Stay updated with new content and get access to additional resources.
Student Testimonials:
Abel Kaswahili: "I like the way it provided, because it does not make any one to be bored but it encourage to learn."
Ingmar Jaitner: "Very good information about PIC. Looking forward to the practical programming section."
Ero Ewaen Osazee: "Very nice introductory course for the PIC microcontroller, a well-structured introductory course."
Course Highlights:
Over a hundred lectures and 8.5 hours of HD content.
Detailed understanding of the PIC microcontroller's internal structure and functionality.
Hands-on learning with practical experiments and DIY projects.
Comprehensive topics including LEDs, resistors, pushbuttons, LCD screens, seven-segment displays, motors, keypads, timers, counters, and more.
Bonus:
When you join this course, you will get the PIC Microcontroller Test Your Skills and Get Certified course for FREE, usually worth $200. This bonus section includes over 100 questions, timed test-taking abilities, and interactive feedback.
What You Will Learn:
C Programming Basics
PIC Microcontroller inner structure and programming introduction
Practical experiments with LEDs, resistors, pushbuttons, LCD screens, seven-segment displays, motors, keypads, and more
Advanced topics like banking mechanism for memory organization, analog to digital conversion, interrupts, and serial communication
Practical DIY projects and quick tips
Who is This Course For:
Beginners to advanced level learners interested in microcontrollers
Hobbyists looking to enhance their microcontroller knowledge
Students and professionals aiming to build and program their own microcontroller projects
Requirements:
No prior programming experience needed
Basic understanding of electronics is helpful but not necessary
A computer with internet access
Willingness to learn and experiment