A long time ago in devices read-only data was stored in EPROMs. These types of memories were electrically programmed and erased with UV radiation. Erasing was possible thanks to a quartz window in the housing (there were also cheaper one-time programmable memories without a window in the housing).
EPROMs could be found on PC motherboards (BIOS), network cards (booting program), and automation and control devices (they stored the program executed by the microcontroller).
Most hobbyists had access to or had an EPROM programmer (eg Willem), but very rarely someone had an EPROM eraser. Erasers were equipped with UV-C light sources, tightly closed in an EPROM cassette (UVC is harmful to humans - especially the skin and eyes), better models had a simple timer system that turned off EPROM exposure.
How did hobbyists deal with EPROM erasing?
Usually they used the available UVC source, e.g. in the form of a mercury lamp, UV-C germicidal fluorescent lamp or the so-called quartz watches. With a little practice and caution, this "free" method managed to erase the EPROM content. Reading the topics Erasing EPROM memory with UV eyelet and Homemade EPROM eraser you can find surprising suggestions for use pepper shakers and migomat , flash and the sun .

Will solar radiation erase EPROM?
In the last heat wave, I decided to check in practice how long it will take to erase EPROM with sunlight. In the 27C256 Microchip memory specification, I found information that the dose of 15Ws / cm2 should be applied and that a light source with a wavelength of 2537 angstroms (253.7nm UV-C) should be used, with an intensity of 12000uW, the irradiation should last 20 minutes. According to the specifications, the data storage capacity is > 200 years however, I have happened to run into automation devices where the EPROM content has degraded after ~ 20 years.
UVC radiation is quite well damped by the atmosphere and it is difficult to determine what time of exposure will be needed. According to Wikipedia The sun can erase the EPROM in a week, while a fluorescent lamp (the usual one shining with visible light) in three years. Not without reason on EPROMsprinted paper or aluminum stickers were placed, which, apart from the informative function, blocked the access of UV light that degraded the memory content.
For the experiment, EPROMs of unknown origin were obtained, looking at the content of one of the dice, you can see that it came from a device with some language settings.

The 27C256 memory was placed on the roof of the building for two weeks. The memory has a capacity of 32KB, which is exactly 32,768 bytes, which gives 262144 bits, ? 262144 = 512, i.e. we can visualize the memory content as a 512x512 pixel image. Bits 0 are marked as a blue pixel, bits 1 as a red pixel, and bits deleted by the sun (0-> 1) as yellow pixels. Below is the "appearance" of the memory before exposure to sunlight and after two weeks of exposure.

You can see that most of the memory has been deleted, so the method works, however, is quite unpredictable and depends on the current weather. I had a few more EPROMs, I wonder how the memory erasing goes over time. The EPROM was placed on the eastern wall of the building, while the content was read periodically using Arduino Mini and saved on the SD card. A simple code and two '4040 counters made it possible to address all 27C256 memory cells and save the content in 512 byte blocks to subsequent files on the micro SD card. The system was powered by 5V, therefore a 3.3V level converter and stabilizer was used for the SD card.

Code for Arduino that reads data from EPROM cyclically:
Subsequent dumps of EPROM contents were changed with a simple script in Python to PNG files with a resolution of 512x512 pixels showing the process of memory erasing by solar radiation. The script was run in Python 3.5 using the library to create PNG files PILLOW 3.3.0.
Python code for converting EPROM data to 512x512 pixel PNG files:
[syntax=python]
from PIL import Image
EPROM_SIZE=32768
SIZE_X=512
SIZE_Y=512
FILES=20
#base image
base_file=open("000", "rb")
chunk = base_file.read(EPROM_SIZE)
if chunk:
print("Base memory image saved form file 000.")
base_image = bytearray(chunk)
else:
print("Base memory image saving form file 000 err!")
base_file.close()
file_list=open("file_list.txt", "w")
err_list=open("err_list.txt", "w")
changes_list=open("changes_list.txt", "w")
#files processing
n=0
e=0
for f in range(0,FILES):
in_file=open('{:03d}'.format(f), "rb");
tmp=n
print("processing file: "+'{:03d}'.format(f))
chunk = in_file.read(EPROM_SIZE)
while chunk:
raw_image = bytearray(chunk)
imgSize = (SIZE_X,SIZE_Y)
img=Image.new('RGB', imgSize, color=0)
CH=0
ERR=0
for y in range(0,SIZE_Y-1):
for x in range(0, SIZE_X-1):
bit_val=(raw_image[((y*SIZE_X)+x)//8])&(1
EPROMs could be found on PC motherboards (BIOS), network cards (booting program), and automation and control devices (they stored the program executed by the microcontroller).
Most hobbyists had access to or had an EPROM programmer (eg Willem), but very rarely someone had an EPROM eraser. Erasers were equipped with UV-C light sources, tightly closed in an EPROM cassette (UVC is harmful to humans - especially the skin and eyes), better models had a simple timer system that turned off EPROM exposure.
How did hobbyists deal with EPROM erasing?
Usually they used the available UVC source, e.g. in the form of a mercury lamp, UV-C germicidal fluorescent lamp or the so-called quartz watches. With a little practice and caution, this "free" method managed to erase the EPROM content. Reading the topics Erasing EPROM memory with UV eyelet and Homemade EPROM eraser you can find surprising suggestions for use pepper shakers and migomat , flash and the sun .

Will solar radiation erase EPROM?
In the last heat wave, I decided to check in practice how long it will take to erase EPROM with sunlight. In the 27C256 Microchip memory specification, I found information that the dose of 15Ws / cm2 should be applied and that a light source with a wavelength of 2537 angstroms (253.7nm UV-C) should be used, with an intensity of 12000uW, the irradiation should last 20 minutes. According to the specifications, the data storage capacity is > 200 years however, I have happened to run into automation devices where the EPROM content has degraded after ~ 20 years.
UVC radiation is quite well damped by the atmosphere and it is difficult to determine what time of exposure will be needed. According to Wikipedia The sun can erase the EPROM in a week, while a fluorescent lamp (the usual one shining with visible light) in three years. Not without reason on EPROMsprinted paper or aluminum stickers were placed, which, apart from the informative function, blocked the access of UV light that degraded the memory content.
For the experiment, EPROMs of unknown origin were obtained, looking at the content of one of the dice, you can see that it came from a device with some language settings.

The 27C256 memory was placed on the roof of the building for two weeks. The memory has a capacity of 32KB, which is exactly 32,768 bytes, which gives 262144 bits, ? 262144 = 512, i.e. we can visualize the memory content as a 512x512 pixel image. Bits 0 are marked as a blue pixel, bits 1 as a red pixel, and bits deleted by the sun (0-> 1) as yellow pixels. Below is the "appearance" of the memory before exposure to sunlight and after two weeks of exposure.


You can see that most of the memory has been deleted, so the method works, however, is quite unpredictable and depends on the current weather. I had a few more EPROMs, I wonder how the memory erasing goes over time. The EPROM was placed on the eastern wall of the building, while the content was read periodically using Arduino Mini and saved on the SD card. A simple code and two '4040 counters made it possible to address all 27C256 memory cells and save the content in 512 byte blocks to subsequent files on the micro SD card. The system was powered by 5V, therefore a 3.3V level converter and stabilizer was used for the SD card.

Code for Arduino that reads data from EPROM cyclically:
Code: C / C++
Subsequent dumps of EPROM contents were changed with a simple script in Python to PNG files with a resolution of 512x512 pixels showing the process of memory erasing by solar radiation. The script was run in Python 3.5 using the library to create PNG files PILLOW 3.3.0.
Python code for converting EPROM data to 512x512 pixel PNG files:
[syntax=python]
from PIL import Image
EPROM_SIZE=32768
SIZE_X=512
SIZE_Y=512
FILES=20
#base image
base_file=open("000", "rb")
chunk = base_file.read(EPROM_SIZE)
if chunk:
print("Base memory image saved form file 000.")
base_image = bytearray(chunk)
else:
print("Base memory image saving form file 000 err!")
base_file.close()
file_list=open("file_list.txt", "w")
err_list=open("err_list.txt", "w")
changes_list=open("changes_list.txt", "w")
#files processing
n=0
e=0
for f in range(0,FILES):
in_file=open('{:03d}'.format(f), "rb");
tmp=n
print("processing file: "+'{:03d}'.format(f))
chunk = in_file.read(EPROM_SIZE)
while chunk:
raw_image = bytearray(chunk)
imgSize = (SIZE_X,SIZE_Y)
img=Image.new('RGB', imgSize, color=0)
CH=0
ERR=0
for y in range(0,SIZE_Y-1):
for x in range(0, SIZE_X-1):
bit_val=(raw_image[((y*SIZE_X)+x)//8])&(1
Cool? Ranking DIY