Saturday, September 03, 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.



  1. Beautiful Post. Share with people. Thank You Mr. Shaber.

  2. Microcontroller is an electronic piece of digital system that is discovered and developed after a computer. It saves a set of commands, Programming that is subject to it before use. Unlike the analogue circuitry that is designed to perform a certain fixed function, and if you want to modify it requires a change in connections and in most cases this also requires changing the components. The microcontroller is used to perform a variety of different functions, and is used in factories and machines that are working on a set of steps and orders or instructions.

  3. Apple's USB-C to USB cable tends to be higher priced but the quality and performance is really impressive. The secret is to buy a cable that will serve your needs without any disappointments so take the time to make comparisons.type c charger

  4. Some computer peripherals require to draw power from the USB port to function while some don't. best usb hub

  5. Thanks for a very interesting blog. What else may I get that kind of info written in such a perfect approach? I’ve a undertaking that I am simply now operating on, and I have been at the look out for such info.

  6. I am impressed. I don't think Ive met anyone who knows as much about this subject as you do. You are truly well informed and very intelligent. You wrote something that people could understand and made the subject intriguing for everyone. Really, great blog you have got here. balenaetcher

  7. I got too much interesting stuff on your blog. I guess I am not the only one having all the enjoyment here! Keep up the good work. agence de pub Strasbourg

  8. Hello I am so delighted I located your blog, I really located you by mistake, while I was watching on google for something else, Anyways I am here now and could just like to say thank for a tremendous post and a all round entertaining website. Please do keep up the great work. usb c cable

  9. i never know the use of adobe shadow until i saw this post. thank you for this! this is very helpful. Emitlaser

  10. At this point, files can be saved to the flash drive in the same way that one would save files to any other storage device like hard drive, using the "Save" and "Save As" options from your software program, selecting the drive and then the folder where you want the files to be saved, giving it a name and then selecting "Save". Bulk Flash Drive

  11. Quite an amazing post which you have shared here occupations. It is a genuinely informative and helpful post. Much obliged to you for sharing it. USB Bluetooth FM Transmitter

  12. Useful information. Fortunate me I found your website accidentally, and I’m stunned
    why this twist of fate did not took place in advance.
    I bookmarked it.
    cheq out my website Satta King Fast

  13. IEEE Final Year Project centers make amazing deep learning final year projects ideas for final year students Final Year Projects for CSE to training and develop their deep learning experience and talents.

    IEEE Final Year projects Project Centers in India are consistently sought after. Final Year Students Projects take a shot at them to improve their aptitudes, while specialists like the enjoyment in interfering with innovation.

    corporate training in chennai corporate training in chennai

    corporate training companies in india corporate training companies in india

    corporate training companies in chennai corporate training companies in chennai

    I have read your blog its very attractive and impressive. I like it your blog. Digital Marketing Company in Chennai Project Centers in Chennai

  14. If you're looking for help in using it, just dial QuickBooks Customer Service Phone Number +1 855-769-6757 to speak with a live representative. They'll be able to answer any questions about the software and help get you up and running.

  15. Thanks for sharing your blog. In this Blog you have given Informative Information which is very important for users. When looking for the finest cloud computing platforms for your firm, whether for a cloud migration plan or a cloud-native development project, keep your goals, projected growth, and budget in mind. Google Cloud vs AWS vs AzureComparison will assist you in matching the right provider to your needs rather than the other way around.

  16. Usually I never comment on blogs but your article is so convincing that I never stop myself to say something about it. You’re doing a great job Man,Keep it up. Meanwhile visit our website for Amity project report


Ain't getting any visitors!
Please Share and Bookmark posts.


: (1) 18F2550 (1) 36KHz (3) and (1) arduino (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) keyboard (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 (2) 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)

Traffic Feed

Live Traffic Feed
Visitor Tracking

Leave Your Message Here


Email *

Message *

Like on Facebook