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