Pic Microcontroller Programming Tutorial For Beginners using MikroC With Step By Step Guide.

Friday, September 2, 2016

USB HID Bootloader for PIC Microcontroller

What is Bootloader?

Bootloader is a small code which stays inside  MCU flash. It is used as programming tools, to load real program code into the MCU.   
Real program code canbe passed from PC to bootloader by specific PC application ("mikroBootloader USB HID") over specific communication interfaces.

USB HID Bootloader                                                         

This bootloader communicates with PC over USB HID inteface by using mikroC bootloader protocol. It is designed to work in conjunction with mikroC's 'USB HID Bootloader'    
PC application.

In this Project I will show you ,how to program USB HID Bootloader in to PIC18F2550 & PIC18F2550.
And upload a simple blink program into the PIC via USB Bootloader.

In this project I will use a PIC18F2550 & PIC18F2550.This have a USB communication.
The code I am using is a example code of MikroC's.
You can find it in the example folder of MikroC.I modified it so it can work with 4Mzh crystel and other thing.
It can work with other crystal.You have to make a own code for that.

This project is for those ,who has minimum skill of PIC MCU & know something about code(blink a light i think is minimum skill).

1. Upload the "USB HID Bootloder" code in to the PIC with a PIC Programmer.
    The circuit diagram is like this.Place the PIC.

2. The program we will use to transfer the compiled code to MCU is MikroC's
    "mikroBootloader USB HID".You can find it in MikroC programs>Tool.

3. Connect the USB cable.Open the program.The usb symbol of the program will be red.You can also     hear a sound.Browse the Hex.Select the Hex.Click uplode.

4. You will hear a sound.and a massage box telling "The MCU is restarting".

5. The connected light in PORTB0 will blink.

* You can upload any program/code to PIC. Like plug>uplode>reset.Good to go.
* It can work on PIC18fxxxx chip which has a USB.I think PIC24 could do it.You have to modify it.
   But not the 12F,16F.
* No programmer need to upload the code.You need programmer once to program "USB HID
   Bootloder" code in to the PIC.
* Works on WinXP/7/8/10.
* Driver installs automatically.(I am using windows 10 pro)

* The crystal must be same in "USB HID Bootloader" code & your code.(If you want other crystal you    need to set that in MikroC's project editor.)
* If you wanted to make "USB HID Bootloader" code for another MCU,you need a MikroC lisence.
   Because free version can't compile more than 2kb. Shows a "Data limit" massage.But
  "USB HID Bootloader" code is more than 10kb.
* After the usb cable is connected you need to open the "mikroBootloader USB HID" program within    5 second.After 5 second the PIC reset automatically & run the old program .
* After uploading the code you need to reset the PIC.
* You have to set circuit same as picture.The capacitor must be same as shown.
* The project setting in MikroC project edit will configure as the picture.
* The USB Bootloader Driver will be installed automatically.
* It tasted in PIC18F2550 & PIC18F2550.
* The circuit and other component must be need to work usb communication(expect led).
* It dose not work with proteus as showing CPU over load.
* Your code's configuration ,like crystal ,usb power etc in "Tools>Edit project" must be same as bootloder code configuration.
* If is not working,try to restart PC,program the MCU again,check usb wire connection ,crystel,
   capacitors value.Make a permanent PCB to avoid lose connection.
You can find "USB HID Bootloader" code,hex,"mikroBootloader USB HID" program,Circuit & picture etc in that folder.In this folder you can find code for both PIC18F2550 & PIC18F2550.




Post a Comment

Share and Bookmark this Blog


: (1) 18F2550 (1) 36KHz (3) and (1) Based (1) battery (1) Bipolar (1) Blinking (1) blinks (1) Bluetooth (1) bluetooth device interfacing (1) bluetooth module (1) button (1) circuit (1) clock (1) control (1) crystal oscillator (3) Db9 (1) DC Motor (2) digital (2) Digital Voting Machine (1) digital voting machine using pic (1) display (2) DS1307 (1) electronic (1) embedded c programming tutorial (11) embedded c tutorial (11) experiment kit (4) external interrupt (4) flash (1) flashing (1) Gas Leakage detector (1) HC-06 (1) home (1) how (1) How to (10) i2c tutorial (1) in (1) indicator (1) infrared Connection (3) interface (8) interfacing (3) Interrupt (3) Introduction (1) IR Connection (3) IR Receiver (4) IR Transmitter (4) key pad (1) keypad (1) lavel (1) Lcd 16x2 (2) lcd 2x16 (2) led (1) lm35 (2) LPG (1) machine (1) make (1) Make bootloader (1) making (1) matrix (1) max232 (1) membrane keyboard (1) meter (2) Micocontroller (1) microchip (4) microchip pic (2) microchips (3) microcontroller (9) microcontroller based (3) microcontroller programming (3) Microcontroller Project (4) Microcontroller Projects (1) microcontroller_project (2) microcontrollers (4) Microprocessor (2) mikroC (5) mikroc code to start and stopstart and stop dc motor (1) mikroc pro for pic (2) Motion detector (1) MQ-9 Gas Sensor (1) musical (1) NEC Protocol (4) pcb (5) PIC (3) pic controller (11) pic microcontroller (11) pic microcontroller tutorial (11) pic programming (1) pic programming in c (12) pic proteus (1) Pic Tutorial (12) pic18 (2) pic18f2550 (11) picmicrocontroller (4) picRFモジュール (1) PIR Motion Sensor (1) printed circuit board (1) proteus (6) pulse width modulation (1) push (1) push button (1) PWM (1) real (1) rf transmitter (3) Rs 232 (1) Rs232 (1) scroll (1) scrolling (1) Serial communication (1) Serial Connection (1) Serial Port (1) serial port rs232 (1) Servo Motembedded c programming tutorial (1) simulation (2) Soil Moisture Meter (1) speed control (1) step by step (7) step bystep (1) Stepper Motor (2) text (2) Thief Detector (1) time (1) timer (4) timer0 (4) tone (1) TSOP38236 Receiver (4) tutorial (2) Unipolar (1) USART Connection (1) USB (1) usb 1.0 (1) USB bootloadere (1) USB HID (1) using (9) voltmeter (1) voting (1) water level indicator (3) with (2) work (1)

Definition List

Comment Option isn't working properly

Comment option isn't working properly. If you have anything to say, you are requested to use the "Contact Form" below here.

Leave Your Message Here


Email *

Message *

Google+ Followers

Like on Facebook