Skip to content

Complete Source Code

Reference Firmware


Overview

The complete REVA v4.0 source code is distributed as a firmware package.

The source package defines the executable behavior of the instrument.


Main Firmware

REVA_v4.0.ino

The main firmware contains:

  • initialization
  • Timer1 carrier engine
  • Timer2 packet scheduler
  • Harmonic Packet Engine
  • OLED interface
  • button handling
  • EEPROM support

Packet System

The packet system defines:

  • categories
  • families
  • pulse counts
  • gap intervals
  • scaling behavior

These definitions form the waveform library of REVA v4.0.


Hardware

  • Arduino Nano
  • ATmega328P
  • 16 MHz

Half-bridge outputs:

  • D9 = OC1A
  • D10 = OC1B

Driver:

  • IR2304

Design Rules

The reference implementation preserves:

  • D9 = OC1A
  • D10 = OC1B
  • Timer1 as carrier engine
  • Timer2 as packet scheduler
  • OLED display
  • four-button interface

The implementation does not require:

  • D3
  • D11
  • external logic
  • additional gate wiring
  • additional timing hardware
  • external libraries

Stability

REVA v4.0 is defined by its fixed hardware platform and deterministic firmware architecture.

The source code implements the Harmonic Packet Engine while preserving separation between waveform generation and operator interaction.