Open Source

Sharing is Freedom, Engineering is Reason and Mistakes are Progress


A bootloader is a piece of code that sits in the bottom of memory that allows code to be written onto the microcontroller. One of the main advantages of using a bootloader is not needing a programming device to upload the program. With a bootloader one can update the program using multiple mediums like comm port, SD card or the USB drive.


Open Source PIC16/PIC18 Serial Bootloader
Tiny Very Small bootloader. The smallest by far. This bootloader only uses 100 words. He does all of the hard work on the PC side. Overall very good and reliable. The downside is that it does not support every device.
Microchip This bootloader was released with their app note AN851. Its a bootloader for the PIC18 devices. I uses hyper terminal to download the hex to the microcontroller. Well documented. Lacks in size about 1k words. Overall very reliable.
MicrochipC This bootloader only supports the PIC16F87x. Its an older processor and not recommended for newer designs but if you are starting out their is a ton of information on this processor. This bootloader is a modified version of the Hi-Tech version.
Colt This bootloader only used 512 bytes or 2k of code space depending on which microcontroller used. Offer a wide range of microcontrollers and it is documented very well.
Open Source PIC16/PIC18 SD/MMC or CF Bootloader
This would be pretty difficult because of space requirements if you know of anyone who is/was successful email us at
Open Source PIC16/PIC18 USB Device Bootloader
Scene Double This happens to be one of my favorite because the idea is so novel. The bootloader acts as a Mass Storage Device (MSD) and you drag and drop your modified hex on to the "drive" and that's how you update the program. Since the microcontroller mimic a MSD the bootloader is Operating System independent. The creation of the modified hex has to be done in windows though.
Diolan This bootloader was developed by professional programmers. It uses the HID class for uploading. Not well documented but overall pretty good.
Microchip This is the Microchip supplied with their framework. It definitely something to try out.
PicLoader This is Sourceforge project with linker scripts and everything. Definitely look into this one.


Open Source PIC24/DsPIC Serial Bootloader
Microchip This is a well documented bootloader under the app note AN1094.
Bully Very well documented bootloader from Mississippi State.
Ds30 Very small bootloader for the dsPIC30F family of digital signal processing microcontrollers. Good clean bootloader.
Open Source PIC24/DsPIC USB Device Bootloader
If anyone knows of any projects please let us know! Email us at
Open Source PIC24/DsPIC USB Host Bootloader
Microchip Microchip has released on their software beta site that this beta is coming soon. You will be able to upload a hex using a USB MSD key.


Open Source PIC32 Serial Bootloader
Microchip This is full released from Microchip. I have used this and found it to be not very well documented.
Open Source PIC32 USB Device Bootloader
If anyone knows of any projects please let us know! Email us at
Open Source PIC32 USB Host Bootloader
Microchip Beta This is beta release that I test and works great. The trick is in the compiling of the code in order for the hex file to take. We will post an article soon about compiling the source.
Open Source PIC32 SD Card Bootloader
Microchip Beta This is beta release using the SD card. The documentation is a little weak but its still in beta. Let us know what you think.