8 KB Flash, 256-byte RAM — sizing the firmware budget
With 8 KB of Flash and 256 bytes of RAM, this part is sized for single-purpose firmware — a temperature transmitter reading an I²C sensor and outputting a PWM signal, or a battery monitor that logs data over SPI. The 16-bit core works efficiently on byte and word operations, but the RAM ceiling means no large buffers or RTOS with multiple stacks.
USI serial engine — I²C and SPI with firmware assist
The Universal Serial Interface (USI) handles I²C and SPI, but it is a software-assisted module — the core manages bit-level timing and state transitions. At 16 MHz the SPI bit rate is adequate for short-frame sensor reads (a few hundred kHz), but do not expect hardware FIFO throughput. The USI shares pins with other I/O, so the 16 available I/O lines shrink when both serial interfaces are active.
20-TSSOP footprint and layout notes
Decouple Vcc with a 100 nF ceramic close to pin 20 and a 4.7 µF bulk cap somewhere on the board. The internal oscillator runs at 16 MHz without an external crystal, saving two pins and a layout trace — useful when board area is tight.
