That's not entirely true though.it's OTP, One-Time-Programmable Memory, so once you've written it you can't change your mind
As 'hello_otp' demonstrates - "Attempt to write a different raw value to OTP - should succeed, provided no bits are cleared". So it's much like Flash and Eeprom where bits can be changed from end of production line default but not back again, though there are additional caveats for OTP, and potentially Errata to understand.
What README ?The README for that example does state "Demonstrate reading and writing from the OTP on RP235x"I was expecting something which just accessed the data and showed it rather than diving straight in and irreversibly changing things. I made it benign by commenting out the stuff which updates OTP, was surprised that wasn't how the code was delivered.
https://github.com/raspberrypi/pico-examples/tree/master/otp
https://github.com/raspberrypi/pico-examples/tree/master/otp/hello_otp
Okay, I guess it's somewhere else.
I would expect there to be a detailed README within the examples themselves as there is for the 'encrypted' stuff. When using the examples from disk one doesn't get to see what might show-up when walking through GitHub in a browser.
Opening an example in VS Code or another IDE will usually bring in everything in the example folder. If there's a README it is always wise to see what it says. But there will usually be no visibility of README held elsewhere.
Agreed, but does using the OTP, locking the rows or pages it locks, adversely impact on what else I might use in future ? Is it using data, rows and pages, at the start of OTP. end of OTP, or in the middle ?and while it does irreversibly change things, it's only changing a few rows of OTP, so you can still use the rest of OTP for your own data
Being told that would let me make a more informed decision on whether or not I need to know exactly what it's doing before trying it. As it is, I have to work out those things for myself.
I believe there should be more than one example; 'read data', 'write data', 'lock data'. I personally think the 'hello_' prefixes are a bad choice, because that doesn't signal that it is not benign when it isn't, to me suggests it would be.
Statistics: Posted by hippy — Sun Aug 17, 2025 2:16 pm