Bootloader: Precompiled Bootloaders that use INTOSC

Q: Are there any precompiled bootloaders that use the internal oscillator of my PIC?

A: The main question upon any 'crystal-free' designs is: does the clock precision fulfill the USB requirements, as (in most cases) USB would be considered a pinguino core feature?

There are some (quite new) PICs that are USB-capable from internal clock "by design". The manufacturer guarantees xtal-free full speed USB over the full temperature range: 18(L)FxyK50 (x=2/4, y=4/5) and 16(L)F145x. There may be others (e.g PIC24 types with a certain letter combination, I cannot recall). There are other PICS where you can NOT EVEN SELECT an internal clock of 48MHz, needed for the USB engine: quite obviously, the manufacturer does not WANT you to even try this: e.g. 18(L)F1xK50. And there are PICs somewhat in between: the 18(L)F..J50/J53 seem to work quite well on internal clock, at least at "normal room temperature".

The SECOND question is: Will it simply work, concerning my own (maybe very limitted) requirements (mainly: upon temperature range)? Some people would consider asking this question an outrage. Main problem here is the statistical spread. If one or some samples do work: what could this tell about ALL (or the vast majority) of them? Of course, if you are just interested in YOUR own sample(s), you can simpy try them out. But don't blame the manufacturer if you did not stick to the specs and run into troubles, then.

I recently had an enlightening chat with a Microchip engineer about this "3rd type" USB-PICs at Embedded World Trade Fair. It seems the 18..J50/J53 chips are factory calibrated to work 'almost reliably' at 21 °C (centigrades) on FULL speed. But they are guaranteed to work over full temperature range at low speed! So maybe a try-fast-or-else-step-down strategy could by an interesting approach? As far as I can recall, he was NOT talking of USB 1.1 - since both, USB2 and USB1.1 support low (1.5MBit/s) and full speed (12MBit/s).

Regis already supplies a huge number of bootloaders at http://code.google.com/p/pinguino32/source/browse/ide/x.4#x.4%2Fextra%2Fbootloaders%2F8bit

Just look out for the suffix _INTOSC.HEX to get an impression whether a certain USB-PIC does (1st type) or might (3rd type) support xtal-less designs. (You cannot distinguish type1 from type3 chips from this list, of course.)

Original forum post of Trollpatsch: http://forum.pinguino.cc/showthread.php?tid=4308&pid=9514#pid9514

Additional Information

 * You can find the source code and precompiled binaries of the bootloaders (8 bit / 32 bit) here