12 comments on “Neutrogena Light Therapy Mask EEPROM Hack – 99 uses!

  1. OK, can you post some details on the EEPROM used? And maybe the data you changed?

    I understand serial I2C chips but can’t find that (apparently) Atmel part. What would happen if you took pin 7, which in many 8-pin EEPROMS is Write Protect, and connect it to Vcc? The micro could read but not update it… freezing it at 30 perhaps?

    • I know there has to be an easier way to get this working with unlimited uses but I just didn’t want to take the time messing with it and risk damaging it. Your idea about shorting the pin sounds interesting. The eeprom is AT93C46. I also had been meaning to update the page with the screenshots of the programming and changes I made. Those changes are now added.

  2. The thin surface mount sockets do exist and made by several different companies but they appear to be about 5mm high although the chip fits down inside them so would add between 2.5mm and 3mm to the height. However, I also saw adapters that supposedly allow the chip to be programmed without unsoldering it. Has one of those been tried? I just bought the same reader that you have so may give one or the other methods a try.

    • I’m not sure about the height but I do have the adapter to program without unsoldering but it did not work for this. Some boards it works for, others you have to power the board and disable the processor that’s reading the eeprom. I could not get any method to work with this unit so I just removed the IC. 99 uses would take 3 months unless multiple people are using it plus I have two handles so re-programming will get me half a year. Not worth the hassle of a socket. I’m pretty sure there is a better way to do this but it just wasn’t worth the time trying other things.

      • As the addressing is in hex, would it be possible to use FE and FF as the values? I am assuming based on the output the address 000050 is the number of uses left and 000055 would be the “max” number allowed? (This would theoretically give you 8 months of usage before needing to reprogram.

        Though the LCD only shows two positions so you may start with “55” but it may decrement from 00 to 99 again when it cycles out of the 200 range.

        Just a theory.

  3. Okay, good to know about the adapter not working. As for the soldering, I’m not that good at it anymore so prefer to have to do it only once if possible.

  4. It really works! I used a heat gun to change the chip. The programmer is expensive and difficult to buy. I used a stm32 nucleo board instead and did some code work. Also I bought several eeproms to avoid bad soldering.

  5. Great post! I was able to reprogram mine with these instructions, only using a cheaper SkyPRO instead of the miniPro.

    I connected up a cable with the goal of reprogramming the EEPROM without opening up the case. Like Ben, it didn’t work when still connected to the board.

    As I had the cable connected up anyway, I hooked the EEPROM up externally to the cable, and it worked!

    With this method, you could use replace the SOIC with a PDIP and position the socket somewhere more convenient inside the case, perhaps under the top battery terminal.

    Took a few pictures if you’re interested: https://imgur.com/a/zifJa

  6. It’s easy to reset this version of the board back to 30. Find the terminated line in the space between R1 and R4. Using a sharp knife, scrape the surface of the line to expose the conductive material. Next take a long wire and connect it to B-. Now take the other end of the wire and touch it to the exposed line for a second, you should see the lcd flash – – . You now have about 2 seconds to take the same wire and bridge the tops of R7 and J1. The lcd should now show 30. Make sure you change out the batteries too, they drop in voltage right around the 30 use mark. Much easier than reflashing…

    • Looking now for this. Don’t see terminated line between R 1 and R4. Also, are you bridging r7 and j1 with your b-?
      Thanks a bunch!

Leave a Reply

Your email address will not be published. Required fields are marked *