Sunday, 13 October 2019

Using the ATTINY1614 microcontroller

Microchip / Atmel made some new microcontrollers. This adds to the already huge range of parts.

I've been playing with the ATTINY1614. This is part of the tinyavr 1-series, which is a relatively new (2018?). I get the idea that these new micros are the product of the merger of Microchip and Atmel, so they take the good bits from the older chips of each (but aren't compatible with either).

These are 8-bit MCU with a few kb of ram and a few k of flash (2k and 16k respectively, in this part) which can do quite a lot of work in a small package.

I like them because

  • Small package which is still hand-solderable (soic 14 pin)
  • Tolerate a wide range of supply voltage (2.5-6.5 I think)
  • Small number of passives / extra connections
  • The internal clock generator seems quite accurate
But also

The data sheet doesn't suck. At least, I can understand it.
Peripherals are fairly sane and consistent
One-pin (UPDI) programming interface

Programming with open source toolchain 

See  https://github.com/vladbelous/tinyAVR_gcc_setup - I followed these instructions and they worked.

Flashing the firmware

The firmware programmer is just a serial port, plus one resistor. See https://github.com/mraardvark/pyupdi/ 

 Example code

While it is a relatively new part, there is a bit of sample code "out there".

https://github.com/chromia/attiny1614example - is a useful source of examples.

Also some of the official samples


The product page


Has "Documents" which includes some samples and ideas.