Recent

Project: Serial JSON-RPC for Arduino
·971 words·5 mins·
loading
·
loading
Examines the challenges of implementing data transfer over Arduino Serial, focusing on the trade-offs between raw communication and JSON-RPC. Highlights how memory limits, encoding overhead, and debugging requirements shape protocol design. Demonstrates that encapsulating JSON-RPC logic in a reusable library simplifies development and improves maintainability despite higher resource costs.

Misconfigured Arduino Pins
·2011 words·10 mins·
loading
·
loading
Misconfigured or uninitialized Arduino pins generate unstable voltage levels that vary with frequency and signal state. During board reset, all pins enter a floating state, producing undefined signals that can affect connected devices. This can lead to data corruption or unpredictable behavior in chips such as EEPROMs or DACs.

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.

Arduino Performance Measurements with Oscilloscope
·1266 words·6 mins·
loading
·
loading
I compared several Arduino platforms by measuring the time for a basic digital pin toggle with an oscilloscope. Each board’s speed scales with its CPU clock, but the instruction overhead differs, some architectures need more cycles per operation, others fewer. Despite these differences, the trend is clear—higher clock speeds produce faster I/O, which directly improves tasks like EEPROM reads.

EEPROM Programmer: Measuting 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.

