Propeller serial number
in Propeller 1
Hello,
I was wondering if a propeller has a serial number, I would like to encrypt the serial number into the code as validation that it would only run on that specific propeller.
regards
Jeff
Comments
No, it doesn't.
-Phil
Not what you asked, but this is often achieved by using an EEPROM that has a serial number, or some other external device with a unique number, such as 1-wire temperature sensor, real-time-clock chip, etc..
ie. the workaround can be to use (or replace) a component in your design to one that is available with a serial number.
ok, thanks, i'll go that route.
Jeff
I once used a 1-Wire device for that purpose -- and I got a double-dip: I was able to measure temperature and I had a unique serial number using just one pin. If you end up porting your app to the P2, the flash that's attached has a unique serial # (per Michael's suggestion).
For future reference, here's one example of an EEPROM for the P1 that includes a secure data area and unique ID:
FM24C512D-TS-T-G
This part is a drop-in replacement for the P1 boot EEPROM which most-all P1 projects require anyway.
Very usefull, thanks for sharing this information😊👍
In the past I have used a 24AA025E48 ROM with a unique MAC address in it for that purpose. But it has now become unavailable. Searching for a new solution I have come across a very similar chip as VonSzarvas suggested: BL24C512 It has the same 128 byte write protectable ID page.
The EEPROM recommended by @VonSzarvas sure seems like a good option (I want to remember this myself). Another less secure option is to use one program (or a password protected portion of the main program) to add a serial number to upper EEPROM. The program would then fail to execute if this number isn't found.
It wouldn't take a lot of work to defeat this method but it would prevent casual attempts to run the code on other Propellers.
I've used the Propeller in designs which are assigned a serial number. The serial numbers are stored in upper EEPROM so they're not overwrite in the firmware is updated. These serial numbers are just used for internal tracking of the products but they could add a small amount of code protection.
If your device uses a flash chip similar to the ones used by the Propeller 2 (Winbond W25Q128) then these include a unique serial number which could be used.
One other possible technique would be to use persistent SRAM which is included in some real time clocks. This wouldn't offer much protection but it would likely slow someone down who is attempting to reuse your code. This number would be lost if backup power to the RTC is removed.