Source Mod OpenComputers
ID Name
OreDict Name
Type Data Storage
Stackable Yes (64)

The EEPROM is a vital OpenComputers component. It is used to store the code to be executed immediately after the computer is powered on, usually a BIOS that runs other code, such as an operating system. However, by default it contains no code, and must be programmed using another computer or by crafting it into a Lua BIOS. This BIOS checks connected file systems for an operating system, such as OpenOS, and boots it.


A single EEPROM chip stores two sequences of bytes: one containing up to 4096 bytes (4 KB) of startup code, usually in Lua, and a second one storing up to 256 bytes of other data. By default the latter is used to store a preferred boot address, however custom EEPROMs may use it for any other purpose. The code section may be permanently marked as read-only to prevent further changes to the code.

Both data sections of an EEPROM can be copied by crafting it together with a second EEPROM. If one chip is empty, the one with data is duplicated, otherwise the first one's data is written over the second one's.

A running computer's EEPROM can be replaced, which allows the computer to function as an EEPROM programmer. An EEPROM can be read, reprogrammed and relabeled with the flash OpenOS program. Other operations can only be performed directly using its API.

Tooltip Description[edit]

Small, programmable storage that contains the BIOS that computers use to boot.

Component API[edit]

An EEPROM provides the eeprom component with the following methods:

  • get(): string: Return the EEPROM's code bytes as a string.
  • getChecksum(): string: Return a checksum of the EEPROM's code bytes, which is required to set it as read-only.
  • getData(): string: Return the EEPROM's data bytes as a string.
  • getDataSize(): number: Return the number of data bytes that can be stored on this EEPROM. Currently this is always 256.
  • getLabel(): string: Return the EEPROM's label.
  • getSize(): number: Return the number of code bytes that can be stored on this EEPROM. Currently this is always 4096.
  • makeReadonly(checksum: string): true or (nil, error): Permanently mark the code bytes as read-only. Return true if the checksum is correct and the operation was successful, else nil and an error message.
  • set(data: string): nothing or (nil, error): Replace the EEPROM's code bytes with the given string. Return nil and an error message if the EEPROM is read-only, or raise an error if data is too large.
  • setData(data: string): Replace the EEPROM's data bytes with the given string. Raise an error if data is too large.
  • setLabel(label: string): Replace the EEPROM's label with the given string.


GUI Crafting Table.png
Gold Nugget
Transistor (OpenComputers)
Gold Nugget
Microchip (Tier 1)
Gold Nugget
Redstone Torch
Gold Nugget


EEPROM can be used to create the following items: