I use PIC18F4550 in my board and it is "read protected". But I want to have more security by changing the part number of the micro to another part number. This way if someone cracks the code, the code will not work correctly for another micro controller. How can I change the part number?

  • \$\begingroup\$ What part number? The one painted on top of the chip? \$\endgroup\$
    – CL.
    Feb 18, 2016 at 9:40
  • 1
    \$\begingroup\$ You'd better ask the mods to remove this question too, it also includes your part number ;-) \$\endgroup\$ Feb 18, 2016 at 9:58
  • \$\begingroup\$ When the programmer detect a device, It uses an ID number which is in one the address lines of the micro controller. I mean that number. \$\endgroup\$
    – R. Navid
    Feb 18, 2016 at 10:00
  • 1
    \$\begingroup\$ The ID is hard coded and can not be changed nor protected. You wrote you used "code protection" to prevent read-out via programmer. Did you also set "write protection" and "table read protection" to prevent someone placing own code on the PIC, which transfers the memory via any interface? (code protection does not protect the code from being read by the code itself...) \$\endgroup\$
    – sweber
    Feb 18, 2016 at 11:01
  • \$\begingroup\$ No I didn't protect write boot block, write code, write configuration and write EEPROM. If do that can I write the device for another time? \$\endgroup\$
    – R. Navid
    Feb 18, 2016 at 11:18

1 Answer 1


The short answer is that these chips are not designed to be able to do that. The usual method to achieve this sort of thing is to remove access to the icsp pins (ex a drop of potting epoxy poured over top of the chip with no traces leading off with your icsp).


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.