Free ATtiny85 Simulator
Cycle-accurate AVR emulation in your browser
Write Arduino code for the ATtiny85 and run it instantly — every AVR opcode is emulated faithfully. All 6 I/O pins, USI for I²C/SPI, Timer0/Timer1 PWM, 10-bit ADC, watchdog. Wire it to real SPICE analog circuits. Free, no install, no account.
Free & open-source · cycle-accurate avr8js · No signup
ATtiny85 specs in the simulator
Everything you need to develop ATtiny85 firmware without a programmer or breadboard.
Core
AVR 8-bit RISC, 8 KB flash, 512 B SRAM, 512 B EEPROM. DIP-8 pinout (PB0–PB5 plus VCC/GND).
GPIO
6 I/O pins on PORTB. Configurable as input / output / pull-up. Pin-change interrupts (PCINT0–PCINT5) and external INT0.
Timers & PWM
Timer0 (8-bit) with two PWM channels on PB0/PB1. Timer1 (8-bit) with high-speed mode and two PWM channels on PB1/PB4 — useful for higher-frequency PWM.
ADC
10-bit ADC with 4 input channels (ADC0 on PB5, ADC1 on PB2, ADC2 on PB4, ADC3 on PB3). Internal 1.1 V reference.
USI
Universal Serial Interface — bit-bangs I²C (TWI) and SPI. Compatible with TinyWireM / TinyWireS and standard SPI libraries.
Watchdog & sleep
Watchdog timer with reset and interrupt modes. Power-down, ADC noise reduction, and idle sleep modes — handy for low-power demos.
What can you build?
ATtiny85 projects shine when they're small, low-power, and analog-aware — exactly Velxio's strength with the SPICE solver wired in.
Blink & PWM fade
The classic intros — hardware-PWM-driven LED fading on PB1 via Timer0, and high-speed Timer1 PWM on PB4.
Button-driven LEDs
Read a button on PB2 with internal pull-up, debounce in firmware, drive an LED on PB0.
NTC temperature
Read an NTC thermistor / fixed-resistor divider on ADC1 — the SPICE solver returns the real divided voltage to analogRead().
I²C peripherals via USI
Talk to an OLED, an EEPROM, or an RTC on PB0/PB2 using TinyWireM. Bus traffic is emulated end-to-end.
SPI WS2812 / shift
Bit-bang via USI to drive a WS2812 string or a 74HC595 shift register on a couple of pins.
Analog switching
Drive a MOSFET gate from PB1 PWM through a SPICE-modelled gate-charge curve — see the slew-rate effect on the load.
Frequently Asked Questions
- Is this a real ATtiny85 emulator?
- Yes. Velxio uses avr8js — the cycle-accurate AVR8 emulator — to execute compiled ATtiny85 firmware byte-for-byte exactly as it would run on a real DIP-8 chip.
- Which ATtiny85 features are supported?
- All 6 GPIO pins (PB0–PB5), Timer0 (8-bit) with PWM, Timer1 (8-bit) with PWM and high-speed mode, the watchdog timer, 10-bit ADC with 4 input channels (ADC0–ADC3), USI peripheral for I²C (TWI) and SPI bit-banging, pin-change interrupts, and external interrupts (INT0).
- How do I program the ATtiny85 in Velxio?
- Write your sketch in the Monaco editor in C/C++ (Arduino syntax). Velxio compiles it via the bundled arduino-cli using the ATTinyCore board package and produces a real .hex file — the same one you would flash via USBasp.
- Can I use Arduino-compatible libraries?
- Yes. The Library Manager indexes the full Arduino library registry. Many libraries work on ATtiny85 with appropriate pin assignments — TinyWireM for I²C, SoftwareSerial via USI, TinyServo, etc.
- Can I wire it to analog circuits?
- Yes. Velxio includes a real-time SPICE solver — wire the ATtiny85 ADC pin to a voltage divider, an op-amp output, or an NTC thermistor bridge and analogRead() will return the actual SPICE-solved voltage at that pin.
- Is it free?
- Yes — Velxio is fully free and open-source under GNU AGPLv3. No account required.
Develop ATtiny85 firmware without hardware
Open the editor and start coding — compile, simulate, and probe in seconds.
Launch ATtiny85 Simulator →