Skip to main content

Eeprom-Programmer

EEPROM Programmer: Data Corruption on Arduino Serial Connection Reset

EEPROM Programmer: Data Corruption on Arduino Serial Connection Reset

·1097 words·6 mins· loading · loading
When an Arduino establishes a serial connection, it triggers a board reset that produces transient voltage spikes on the EEPROM pins. These fluctuations can reach up to 2 V, enough to toggle the !WE pin and initiate unintended write operations. As a result, data corruption occurs unless the !WE pin is connected to VCC during read mode to disable writing.
EEPROM Programmer: Implementing Serial JSON-RPC API

EEPROM Programmer: Implementing Serial JSON-RPC API

·947 words·5 mins· loading · loading
Describes the design and implementation of a JSON-RPC–based API for an Arduino EEPROM programmer, focusing on clean separation between protocol handling and application logic. Details the interaction between the Arduino firmware and the Python CLI used for control and data transfer. Concludes with validation against the XGecu reference programmer to ensure identical read and write behavior.
EEPROM Programmer: Debugging Read Operations

EEPROM Programmer: Debugging Read Operations

·2485 words·12 mins· loading · loading
The EEPROM Programmer initially returned corrupted data. I tested wiring, bit ordering, and bus isolation, suspecting noise on the data lines. Oscilloscope traces suggested interference, but the root cause was software, several Arduino address pins were never initialized. These floating pins produced unstable signals that mimicked noise. After proper initialization, the API produced stable results identical to a reference programmer.
EEPROM Programmer: Measuring Performance with Oscilloscope

EEPROM Programmer: Measuring Performance with Oscilloscope

·1482 words·7 mins· loading · loading
Evaluation of EEPROM Programmer performance on Arduino. Overhead from digital I/O measured, and oscilloscope traces confirmed datasheet timing. Active polling of the READY/BUSY pin reduced write latency while maintaining reliability. Sequential write/read verification showed consistent integrity. Future work includes endurance testing, retention studies, and comparing Arduino boards with different clock speeds.