Tiny PIC bootloader using PIC16F microcontroller

Tiny Bootloader

This is a bootloader for the Microchip PIC microcontrollers.

  • It is the smallest bootloader, taking less than 100 words of program space;
  • Supports families of PIC devices: 16F, 18F, dsPIC30 (those devices that support self-programming)
  • Does not support yet PIC24, dsPIC33, PIC18xxJyy
 

Tiny PIC bootloader

Features of the firmware

  • Size of only 100 words; (all versions, for 16F,18F,dsPIC occupy less than 100 words);
  • Can write flash, eeprom and configuration bytes(18F);
  • On reset, waits 1 second (adjustable) for a message from the PC, if not received, launch user application;
  • The .asm file can be easily modified and adapted for any frequency (or baudrate);

Features of the PC software

  • Can upload programs into flash (in current version eeprom and cfg bytes can be modified only manually, depending on the device type);
  • Works with PIC16F,PIC18F and dsPIC types; automatically detects HEX content and PIC model;
  • Remembers last settings;
  • In case of errors, performs retransmissions or tries to resynchronize with pic;
  • The communication settings are editable so you can write any COM number or desired baud;
  • If a filename is specified as a command line parameter, it will automatically try to write it;

Supported/Tested Devices

DeviceDevices of the same typeFlashramEEseradcoscpin  

PIC 16F Family

PIC16F876877, 873, 874         
PIC16F876A877A, 873A, 874A8k.3.21y dD  
PIC16F887PIC16F886         
PIC16F88874k.3.21yyd  

PIC 18F Family

PIC18F252452, 242, 442;  2420, 2520, 4420, 452016k1.5k.21ay dD  
PIC18F258458, 248, 448;  2480, 2580, 4480, 458016k1.5k.21ay dDCAN 
PIC18F26204620, 2525, 452532k3.9k1k1eyydD  
PIC18F13201220, 2220, 23204k.2.21eyyd  
PIC18F87206520, 8520, 6620, 8620, 6720; 662164k3.8k1k2y Qext.mem. 
PIC18F25504550, 2455, 445516k1.5k.21eyYdDusb 
PIC18F44312331, 2431, 43318k.7.21eY dDadvPWM 
PIC18F46802585,2680,458532k3.31k1y dDECAN 
PIC18F45802480,2580,448016k1.5.21y dDECAN 
PIC18F46202525,2620,452532k3.911y dD  
PIC18F43202220,2320,42204k.5.21y dD  
           

dsPIC Family

DeviceDevices of the same typeFlashramEEseradcoscpin  
dsPIC20F2010 4k.51k1yyd6pwm 
dsPIC30F60146012, 6013, 6011, 6012A44k8k4k2yyyQ2CAN 
dsPIC30F30133012, 2012, 20118k2k1k(2)yyYYd  
dsPIC30F4012401116k2k1k(2)yYdD6pwm, CAN 
dsPIC30F301130108k1k1k(2)yYdD6pwm 
dsPIC30F6010 44k8k4k2yyQ8pwm, 2CAN 
 
 blue – tested for longer periods
blue – verified (or user source provided)
navy – reported to work (may require modifications!)
Flash, RAM, EEprom:  max. amount
ser:  a=addr.; e=enh.(brg/lin)
adc:  yy=12bit
osc:  internal+features
pin:  d<=dip28;  D=dip40;  Q>=tqfp

 

For more detail: Tiny PIC bootloader using PIC16F microcontroller


About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:
LinkedinTwitter

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.