ATTiny 1614 Development board

Background

I've always been a fan of the ATTiny, especially the '85 and my interest was piqued when I came across the 'newer' series of devices.
Spence Konde (aka Dr Azzy) has done some wonderful work in creating an Arduino core for these devices. I strongly advise you to read his documentation.

As well as being significantly more capable than the original ATTiny, these devices are also significantly cheaper!

These things are seriously low power, have UARTs, SPI, I2C, A/D, D/A  etc

So what's the catch? There isn't one!! Realistically, these devices are all surface mounted & not entirely 'breadboard' friendly, I also find that some legacy Arduino s/w isn't entirely happy. I think this probably applies to recent Unos etc too.

The cost is £4 for two blank PCBs plus £2 delivery, worldwide.

Background

The most significant difference between these new ATTiny devices and their elder brethren is the programming method. Microchip have introduced a new regime: UPDI (Unified Program and Debug Interface) which is a one-wire interface rather than the traditional SPI.
This actually makes things easier. You can program these chips with a 'standard' USB/serial adapter, or with a UPDI programmer, or using Arduino Optiboot.

As well as this, high voltage programmers are easily built or bought for a few quid.
These allow you to do things which might otherwise brick the device.

I began by playing with the '412. This has lots of on chip peripherals, but only 4K FLASH & 8 pins The photo below is one of my efforts.



It's a knock sensor of sorts. A piezo under the PCB detects the knock, wakes the CPU, and transmits a 433MHz message. The board also has a I2C socket so I can use it for other things.

This is another project, I'll tell you about it if/when I ever get it working properly!!! It's sort of a wireless proximity detector...



Much as I like the '412 it's difficult to debug as it has so few (8) pins and not a lot(4K) of memory, so I looked at the '1614 as a prototyping vehicle. Hideously expensive at £0.60, but what the hell!
The '1614 has 16K FLASH & 14 pins. It's much easier to work with as it suddenly becomes reasonable to dedicate a couple of pins as a serial port. Having 16K FLASH available also means the Optiboot loader becomes a sensible option.

I've never particularly liked conventional breadboards for anything beyond two or three components so I designed a small PCB which is somewhat more robust and also serves as a breadboard of sorts.
I might have bought one of Spence Konde's excellent boards from Tindie but the shipping costs are crazy unless you live in the USA.

My '1614 board has all of the pins broken out to a pseudo breadboard comprised of female headers. There's a bank of I2C connectors, a UPDI connector, and a 'standard' FTDI interface. There's also a 'standard' Arduino reset circuit. With Optiboot installed it works exactly like an Arduino.
The switch on the PCB is used to isolate/connect the RESET/UPDI pin depending if we're using the Optiboot loader or programming via UPDI
There are countless I2C devices which have a common footprint: Vcc-GND-SCL-SDA. I've used this on an ESP8266 board & found it to be very useful, so I'm using it again!



Using

There are a few options here but first of all you should go to the Boards Manager in the Arduino IDE & install megaTinyCore from Spence Konde, AKA DrAzzy.

For programming you have several options:
Connect a cheapo USB/serial adapter for programming following the megaTinyCore instructions, and away you go.
Or build a UPDI programmer, which is trivial, and away you go.
Or, my prefered development route is to flash Optiboot and use the board like an Arduino to begin with - I like to have a serial port for debugging...
You should probably (although not necessary) have a HV programmer to do this as Optiboot on this board uses the UPDI pin as RESET. Once it's set you need a HV programmer to change it back. I use this HV UPDI programmer.

If you've ever used an ATTiny in the past you already know how useful these little things can be. There's really no excuse for not making the switch!
If you've never used an ATTiny this is a very gentle way to get you started.

Following user feedback we've put the socket area on a breadboard friendly pitch. If you like working with these things you can! We won't tell anyone ;)
Simply use some male header pins & plug it into your breadboard:



While this is described as an ATTiny1614 board you can use lots of other devices too: '214, '414, '814, '204, '404, '804, & '1604
The difference in price between these chips is pennies, so unless you're selling millions of devices the 1614 is the obvious choice.

Buying

I prefer to sell blank PCBs. This is because anything more than a few mm thick attracts punitive postal charges in the UK. Apart from the ATTiny, all components are through hole soldered. Even the ATTiny is quite easily soldered by hand using a fine tipped iron.
None of the components are critical (apart from the ATTiny!!)

The cost is £4 for two blank PCBs plus £2 delivery, worldwide.
If a demand exists I can provide boards with just the ATTiny attached, and Optiboot installed Email me.

UK ONLY

Buy one built & tested complete board with Optiboot installed for £9 + £2 p&p Email me.

Building

Build as much or as little as you like. The bare minimum is the ATTiny1614, adjacent 0u1 ceramic capacitor, 3 pin UPDI connector.
The 'breadboard' area is made from 4 off 7x2 female pin headers.
The I2C area is made from 2 off 4x2 female pin headers
The Arduino style reset circuit comprises: 0u1 ceramic, 10k0 resistor, 1N4148 diode

Contact MyIOT