simavr icon indicating copy to clipboard operation
simavr copied to clipboard

Add ATtiny1634 core support

Open GlassOnTin opened this issue 2 months ago • 1 comments

Summary

Adds support for ATtiny1634 microcontroller.

ATtiny1634 specifications:

  • 16KB Flash, 1KB SRAM, 256B EEPROM
  • 3 GPIO ports (A: 8 pins, B: 4 pins, C: 6 pins)
  • Timer0: 8-bit with PWM on OC0A (PC0), OC0B (PA5)
  • Timer1: 16-bit with PWM on OC1A (PB3), OC1B (PA6)
  • 12-channel 10-bit ADC with temperature sensor
  • Watchdog timer, PCINT on all 3 ports

Implementation notes:

  • ATtiny1634 has no WDCE bit, so watchdog is declared manually without using the AVR_WATCHDOG_DECLARE macro
  • All WGM modes for both timers are implemented including Fast PWM with OCRnA as TOP (mode 7 for Timer0, mode 15 for Timer1)
  • External clock pins for timers are supported

Testing:

  • Compiles successfully with simavr build system
  • Core is auto-detected and added to sim_core_config.h

Use case:

This MCU is used in flashlight firmware (Anduril) and having simavr support enables firmware development and testing without physical hardware.

GlassOnTin avatar Dec 10 '25 00:12 GlassOnTin