
What to expect from this course?
What you will come to know at the end of the course?
Whom this course is suitable for?
What are the topics covered in the course?
Know the answers to these questions in this video.
This video will give a short overview of PIC microcontrollers, microcontroller family, features, Software, and Hardware tools needed.
PIC32MX device specifications, IC packages and pin count, and architecture overview.
Let's install MPLABX IDE and XC32 compiler.
Links for downloading the software are in the resources
Components and tools needed for building our-own hardware.
Links are provided for the PicKit4 and starter kits.
Let's look at the basics of hardware design for MCU based system. In this video, I have discussed the power supply design and the minimal recommended circuit for PIC#@MX device. Go... Watch it.
In this video, I discussed choosing the pins for GPIO, Output Compare, External interrupts, ADC, and UART.
Building a power supply for MCU and other peripherals.
This video shows how I built the basic connections required for the PIC32MX MCU.
In this video, I have built the ICSP connections and Bluetooth header for HC05.
I will connect LEDs, Switches and analog input to an ADC channel.
You will see me building the LCD connections to the PIC32MX prototype board.
I have built my prototype board. It's time to flash the MCU and test the hardware. Let's do it...
If you want to have the PCB for PIC32MX MCU, I have shared the production files.
Let's create a new project in MPLABX today.
This video gives insights into the XC32 compiler and configuration registers.
This video shows a demo of LED blinking
This video shows to use switches to control LEDs
Today I am going to talk about the core timer. What is a core timer and why is useful for us? Let's find out.
In this video, you will know about external interrupts.
Input change notification is a special interrupt feature available in PIC microcontrollers. Know more about input change notification in this video.
This video gives you basic information about LCD interfacing from scratch.
In this video, you will come to know about the 16-bit timer in PIC32MX MCU.
Want to know how to combine two 16-bit timers to form a 32-bit timer? Watch this video.
What is a watchdog timer? Why is it useful for me? Get answers to these questions in this video.
Input capture is a powerful module if you know the pain of time measurement of events. This video makes it easy for you to understand the input capture module with an easy to follow the demo.
In this video, you will understand the use of the output compare module to generate PWM pulses.
This video gives all the information about the ADC module in the PIC32 device and a demo for you to understand it.
In this video, I will give a demo of the UART module to interface with the Bluetooth module to control the LEDs in the prototype board.
MPLAB Harmony configurator let's you generate the code for the peripheral modules, include libraries and drivers, and be able to use RTOS source code in your project by mouse clicks. Know more in this video.
Let's get some information about FreeRTOS from the website www.freertos.org
In this video, I have modified the FreeRTOS demo project for PIC32MX270 MCU.
In this video, I have shown how to run 2 or more tasks using the FreeRTOS task scheduler.
In applications where we want to share data betweenn the tasks, we can do that by using global variables. FreeRTOS provides a better method for task-to-task communication using Queues. Find out more about queues in this video.
Tasks can be in a running state, ready state and block state. Task scheduler creates an idle task when it is started. This idle task executes when all the tasks are in blocked state. Let us see how to use this idle task to perform our application-specific functionality in this video.
Microcontrollers have memory constraints. When we use RTOS on microcontroller, the task scheduler and kernel objects need memory for operation. How the memory is managed in FreeRTOS? I have covered basic memory management performed by the FreeRTOS in this video.
Software timers are hardware independent feature of FreeRTOS. Know more about the software timers in this video.
In this video, I have given a demo of external interrupts in a FreeRTOS project.
In this video, I will demonstrate usage of UART module to recieve and send serial data using interrupts and queues.
Let us discuss the issues caused when a common resource shared by multiple tasks.
Know about a special type of semaphore used for mutual exclusion of a common resource shared by multiple tasks.
This course is mainly focused on teaching the fundamentals of PIC microcontrollers without any prior programming knowledge. You will build your own hardware by making use of the microcontrollers and other circuit components. You will learn how to write codes to perform basic tasks by referring to device datasheets. Register level coding is used throughout the course so that you will get a complete hold on the PIC microcontroller programming. You will not use a Code configurator or any peripheral libraries. Instead, you will be able to build peripheral libraries and use those in implementing various functionalities.
If you are a beginner who wants to become an expert in PIC microcontrollers, this is the course for you. If you are an expert who uses peripheral libraries and code configurator to build your PIC projects, and who wishes to know the register level coding, this is for you.
Apart from PIC fundamentals, the course covers RTOS concepts by making use of open-source FreeRTOS kernel. You will understand multitasking, task scheduling, and intertask communication.
The code you would write will run on the hardware you would build. That means you will become an expert in both hardware and firmware development. You will get in-depth hands-on experience with simple examples to understand the underlying concept.
If you are a student, this course will add value to your resume, to conduct your academic project works and find a career in embedded systems. If you are a professional working in the embedded field or want to find a career in embedded systems, this course will help a lot.