Electrical Engineering Stack Exchange is a question and answer site for electronics and electrical engineering professionals, students, and enthusiasts. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

What are lock bits in microcontrollers used for? Are they something specific to AVRs, or used more of a general concept in microcontrollers?

share|improve this question
up vote 14 down vote accepted

Lock bits are used in a variety of microcontrollers, and are generally used to enforce hardware-level security of the code inside them (no readback of the flash is common, also sometimes referred to as 'code protect').

They're not 100% secure, but are generally good enough to keep 'honest people' out of your code. Enterprising hackers often find ways around the lock bits (glitching, fuzzing, and sometimes even making holes into specific parts of the IC to expose signal lines and transistors).

Take a look at sites like Flylogic Engineering to get a taste the level of sophistication out there when it comes to microcontroller security.

share|improve this answer
Warning: It's easy to spend more time than you planned to Flylogic's blog. Fascinating site. – Kevin Vermeer Aug 19 '11 at 18:43
Christopher Tarnovsky is a genius, no doubt, even when he's not getting in trouble from satellite TV providers. :) – Adam Lawrence Aug 19 '11 at 20:35
Oh my god. That blog is amazing. And frightening. I cant stop reading. I want to join them...... – The Lazy Coder Jan 25 '15 at 0:00

"Lock bits" are used for protecting program and data memory (they are used with both the AT89 and AVR). They aren't unique to Atmel; Maxim uses them as well, in their secure 8051 products. Other manufacturers use similar protection techniques, but give them a different name.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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