Bloader for the 16F88

Bloader has now been updated for the 16F88. This 18 pin PIC is surprisingly versatile with 4K of code space (2 times that of the 16F628), with an on board UART, analog to digital converter, and the super nifty ability to change it's internal oscillator on the fly (from 8MHz down to 31.25kHz)! And because the 16F88 has the ability to access and edit the program memory space (not available on the 16F628), a boot loader is possible!


Bloader for the 16F88 has many powerful features:

  • Download speeds of 9600-115200bps selectable from the windows program Screamer
  • Over-flow checking
  • Error checking
  • Boot vector fail-safe
  • Auto-Start on Boot
  • MCLR Enabled
  • IntOSC Version Available

You can find the Bloader and Screamer software on the downloads page.

Download from 9600-115200bps

With the version of Screamer v1.3, the 16F88 will download the firmware at a user selectable speed. Always start your download at 9600bps and move faster from there. 9 times out of 10 you'll be able to obtain the full 115200bps download speed. This option is nice to have if you are using a fuzzy serial link like a serial inverter, an early generation USB<->RS232 cable, or some slow speed MAX232 derivative.

Over-flow checking

Bloader will communicate the precise location of itself in memory to the computer. Screamer will use this information to prevent any code from writing into the boot loader and killing it. Screamer will let you know if your program was not completely loaded because it was too large. Bloader for the 88 currently takes a measly 6% of the program space - 251 code words which reside at 0x0F00-0x0FFF.

Error Checking

A simple checksum is used for each block of code written to program memory to prevent transmission errors. Bloader will cause a re-send error if necessary, Screamer will respond with the problematic line until a successful transmission is achieved.

Boot vector Fail-Safe

This is a really neat new feature! In previous version of Bloader, it was possible to start boot loading and have a time-out or other type of corruption. The error would cause the boot vector to get erased effectively rendering the PIC back to it's 'out of the static bag' state. Now, Bloader will ALWAYS create the proper boot vector before the loading begins. Bloader is now bullet proof.

Auto-Start on boot

Bloader will look to see if Screamer is trying to send something. If not, it will immediately start running the user's program. The boot delay is on the order of 35ms.

MCLR Enable

The MCLR pin is now active in all Bloader versions. This means two things to you, the user. It is now very simple to install a reset switch allowing the user to reset the PIC, causing Bloader to look for new firmware. This also means that you will need a 10k pull-up resistor on MCLR (Pin 4) for the PIC to start operation.

IntOSC Version Available

The '88 has the super nifty ability to switch oscillator speeds via software. This can reduce power consumption dramatically. Take a look at the 16F88 datasheet for more info.

Because the PIC speed effects the communication speeds, there are three versions of the Bloader available.

  • 20MHz - Runs with an external 20MHz oscillator
  • 4MHz - Runs with an external 20MHz oscillator
  • INT - Runs with NO external oscillator and enters the user's program at 8MHz (changeable via software)

On to Page 2 : The basic setup needed to use Bloader

Comments 1 comment