ArduinoProm. An Arduino based Original Xbox EEPROM reader and writer.
It can be used to recover a HDD key etc.
ArduinoProm is inspired and adapted upon the awesome work by Grimdoomer on PiPROM, now achievable on a <$3 Arduino board.
See https://github.com/grimdoomer/PiPROM for the Original Raspberry Pi version!
Use at your own risk
GND, SDA and SCL
on the Xbox LPC port to the corresponding pins on the Arduino module.
The firmware has been written around the Arduino Pro Micro Leonardo (5V/16Mhz). However I would expect it to work on any Arduino with a built in USB bootloader/Virtual Comport support, and obviously I2C support.
ArduinoProm.ino
in Arduino IDEArduinoProm accepts a few very basic commands over a virtual comport interface.
0x00 triggers an EEPROM read.
0x01 triggers an EEPROM write.
0x02 will erase the Xbox eeprom.
0x03 will return 0x00 if the eeprom is detected. (-1 otherwise)
To facilitate these commands in a more user friendly way you can use a small python app ArduinoProm.py
.
To run the Python program you need to install Python 3.7. Once installed and setup do
pip install pyserial
pip install wxPython
ArduinoProm.py
usage is as follows (Determine your comport number by plugging in the Arduino to your PC after programming it)
//Read the EEPROM on COM1 and save to file to eeprom.bin
python ArduinoProm.py COM1 READ eeprom.bin
//Write eeprom.bin to the EEPROM on COM1.
python ArduinoProm.py COM1 WRITE eeprom.bin
//Write all 0's to the EEPROM effectively erasing it.
python ArduinoProm.py COM1 ERASE
Example outputs:
By Ryzee119