'William Chops" Westfield ' To me, the bigger surprise is not using one of the standard HEX > formats for the data transfer. Those carefully avoid putting binary > data in the data stream, and have the checksum per line that ought to > detect most errors... (Though I wonder just how many of the > bootloaders I use actually check those checksums.) That would certainly be better than a raw data dump, but it's rather verbos= e and requires more decoding than necessary in the bootloader. I usually try to minimize the burden on the small embedded system. So far I've sent the new image mostly unencoded in binary, although there is always a checksum i= n there somewhere. Most of the time the data channel won't add errors, so a single wide (like 32 bit) checksum at the end will be fine since the probability of needing a re-transmit is small. The important point is that the bootloader always does a checksum on the main app image before running it. If the main app program memory is the only copy, then stay in the bootloader requesting or waiting for another upload. If there is a external copy, then maybe you can run the previous image. Never ever run corrupted code. ******************************************************************** Embed Inc, Littleton Massachusetts, http://www.embedinc.com/products (978) 742-9014. Gold level PIC consultants since 2000. --=20 http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .