Close
0%
0%

Breakout out of the Chip Shortage - Attempt #2

This is the second part of the series. In this part, we will briefly look at the ATTiny1616.

Similar projects worth following
Updated Project Log Available: 26 March 2023

With Chip shortages making things difficult and pushing up the prices of commonly used chips ( like the humble ATMEGA328) I decided to look into finding alternatives that can be used to perform most or at least the same level of work in a project.

With this in mind, I set out to find alternative chips that will provide at least the following
- Programmable with the Arduino IDE
- Flashable with UPDI and or Serial or ICSP upload
- Reasonably easy to get hold of in the current market
- Affordable
- Have chips available in various footprints, including those that will be easy for a person to solder by hand or Hot-Air without too much hassle.

In this second article of my attempt to break out of the chip shortage problem, I will take a quick look at the ATTiny 1616

Breaking out of the Chip Shortage – Attempt #2



The ATTiny1616 is a step up from the ATTiny202, having more GPIO, flash and RAM. This makes it ideal for bigger, but still medium size projects that do not need all the power of the traditional Arduino.

In Part 1 of this series, I took a quick look at the ATTiny202 MCU from Microchip. Having only 5 useable GPIO, with limited Flash and Ram, that little chip was still quite useful for some of those very small projects, where we did not really need a lot of peripherals and GPIO pins. Today, we shall take a step up, and take look at a slightly bigger MCU, the ATTiny1616, this time with up to 17 GPIO pins, more flash and memory, and still quite easy and cheap to get hold of. (Current Prices are in the range of about $1USD to $2USD, depending on where you buy and how many you buy). As I wanted to give myself a bit of a challenge with this project, I decided on using a QFN package this time, which, being extremely tiny, only 3mmx3mm, will give most Makers a pleasant challenge to solder correctly. ( I am planning a SOIC 20 version, but with a bit more external hardware onboard)

MakerIoT2020 ATTiny1616 Minimal Breadboard-friendly breakout

The ATTiny 1616 is part of the tinyAVR-1 series, which includes the 1614,1616, and 1617, and they have the following features ( copied from the datasheet link above) The ATtiny1614/1616/1617 are members of the tinyAVR® 1-series of microcontrollers, using the AVR® processor with hardware multiplier, running at up to 20 MHz, with 16 KB Flash, 2 KB of SRAM, and 256 bytes of EEPROM in a 14-,20- and 24-pin package. The tinyAVR® 1-series uses the latest technologies with a flexible, low-power architecture, including Event System, accurate analog features, and Core Independent Peripherals (CIPs). Capacitive touch interfaces with Driven Shield+ and Boost Mode technologies are supported with the integrated Peripheral Touch Controller (PTC).

ATTiny 1616 Breakout – Bottom view

The PCB – Minimal working configuration – with a few extras

The PCB break-out all 18 of the GPIO pins, while it is only recommended to use 17 of them, unless, like in the case of the ATTiny202, you have access to an HV UPDI programmer. It also becomes possible, although still being quite tedious and awkward, to use the OptiBoot Bootloader on this chip, although it is still not quite recommended. Just using a UPDI programmer, with a separate USB-to-Serial adapter on another port is still definitely the easiest.

The Board contains an LED, on PIN_PA4, Arduino Pin 16, as well as onboard I2C pull-up resistors, selectable via a jumper. It is important to note that the current version DOES NOT contain a voltage regulator on the PCB. It is up to you to provide a regulated voltage source, in the range of 1.8v to 5.5v DC It is recommended to clock the Chip at 16MHz when running at 5v ( 20Mhz is possible, But I did not bother to test that yet) 8Mhz when running at 3.3v 0-5Mhz when running at 1.8v See the Datasheet, as well as the megaTinyCore documentation for exact details on this.

Commonly used peripherals, by myself, are listed on the back of the PCB for easy reference.

Order your own version here.

Programming the board

Programming is possible with Arduino IDE (and platformIO, ( I didn’t test that, as I find VS-Code tedious to use ), as well as MPLab from Microchip. For the Arduino IDE, you have to install the megaTinyCore Arduino Core, as already mentioned above. ( This also apparently works for PlatformIO)

Full instructions, as well as some very useful other tips and information, is available in the core documentation, so do put in the effort to actually read the documentation. You won’t be sorry that you did.

The Schematic

Schematic

Schematic_ATTiny1616-MinimalQFN_2023-02-24Download

Design and Assembly

PCB layout

The board is designed as a double-layer PCB, with ground planes on both sides. Due to the MCU package having a QFN footprint,...

Read more »

PCB_ATTiny1616-SF_2023-03-25.dxf

CAD File for 3mm Acrylic Top and Bottom Shell ( in one file). All measurements are in mm. Thank you

AutoCAD DXF - 60.21 kB - 03/26/2023 at 06:11

Download

ATTiny1616-SF-Case-Top_bottom.gcode

GCODE for 3018 Desktop CNC Machine. Please note that the GCODE is for a 3mm 2 fluted End-Mill, and all cutouts are 3mm deep. Adjust at your convenience in the obc file, using Openbuilds CAM

gcode - 336.99 kB - 03/26/2023 at 06:10

Download

ATTiny1616-SF-Case.obc

Workspace files for Openbuilds CAM

obc - 1.17 MB - 03/26/2023 at 06:09

Download

  • Completed ATTiny1616 Development Board

    MakerIoT202003/26/2023 at 05:59 0 comments

    A complete ATTiny1616 Dev Solution



    ATTiny1616-SF Dev Board

    A few weeks ago, I started looking into alternative development solutions to reduce the effect of hard-to-get or more expensive-than-usual ATMEGA328 chips. One of the chips that I found to have potential was the ATTiny1616. There seemed to be quite a lot of stock, and the prices were reasonable. Some additional hardware, like a dedicated UPDI programmer, had to be designed or bought, as the ATTiny1616 required UPDI to upload and flash code.

    Setup to program ATTiny1616 Breakout Module – Power Module ( Left – Optional) ATTiny1616 Breakout – Center, UPDI programmer ( Right)

    While the breakout worked flawlessly, I found the programming setup awkward and cumbersome. That was the cue to take the next step and create something that was easier to work with.

    Old versus new. ATTiny1616 breakout module and programmer (Top) versus the all-new ATTiny1616 Development board, with all required hardware, included.

    The new PCB offers a development cycle that is very similar to a standard Arduino UNO or Nano. Plug it into a USB port, write code, upload and repeat…

    What is on the PCB?

    Top view- In acrylic Case

    Starting at the Top Lefthand corner, we have a USB port, with a CH340N Chip. Note that this IS NOT A SERIAL UART. This is an integrated UPDI programmer, that can also be used in stand-alone mode to program external devices. (by moving J3 to the left, and using the UPDI header). Below that is the power supply section, featuring two LDO Voltage regulators, providing 3.3v and 5v DC to the system. A DC barrel jack is included, to supply between 7v and 12v external DC voltage to the system. ( NOT to be used together with a USB cable)

    Jumper J2 (next to the DC barrel jack) is used to switch the entire board logic level between 3.3v and 5v DC. A power indicator LED, as well as a standard user LED ( on pin D16), is also included. The rest of the PCB is dedicated to the ATTiny 1616 -SF, this time in a TSOP form factor. ( The original breakout used a QFN, but I realised that that may push away a lot of potential users, as QFN packages are quite difficult to solder without the proper equipment. A TSOP package is more accessible to everyone)

    A total of 17 GPIO ports are available, of which each is labelled with an Arduino compatible label (D0 – D15), PWM ~ capable pins, and alternate functions like UART, SPI and I2C. Please Note that the onboard USB port IS NOT A UART

    Features on the PCB – Summary

    • Reset Circuit with Push button – The ATTiny1616 shares its Reset pin with the UPDI programming pin. This will cause problems, requiring an HV UPDI programmer to fix. To resolve this issue, a reset circuit, comprising of a p-channel logic level Mosfet, that is wired to be constantly on, is connected via a suitable resistor on its gate, to a push-button to ground. pressing the button pulls the gate to ground, switching off the Mosfet, and thus the supply voltage to the chip, which equates to a power cycle reset. It is worth noting that the UPDI programming sequence also auto-resets the chip after every upload.
    • DC barrel jack for powering the device from an external source – 7v to 12DC
    • Onboard I2C pull-up resistors, selectable with a jumper ( J1)
    • Onboard UPDI programmer, which can also be used in stand-alone mode.
    • Selectable voltage logic level between 3.3v and 5.0v ( J2)

    Manufacturing

    I choose PCBWay for my PCB manufacturing. Why? What makes them different from the rest? PCBWay‘s business goal is to be the most professional PCB manufacturer for prototyping and low-volume production work in the world. With more than a decade in the business, they are committed to meeting the needs of their customers from different industries in terms of quality, delivery, cost-effectiveness and any other demanding requests. As one of the most experienced PCB manufacturers and SMT Assemblers in China, they pride themselves to be our (the Makers) best business partners, as well as good friends in every...

    Read more »

View project log

  • 1
    Notes on Hardware Revision 2 of this project

    I have decided to do a complete hardware revision of this project, mainly to get rid of the various loose components required to use this PCB, namely a Power supply module, and breadboard with the ATTiny1616 Breakout, as well as a UPDI programmer of some sort.

    The new PCB makes use of the Arduino UNO footprint, I find that a convenient and easy-to-use size, as well as borrowing some ideas from the Arduino project, namely a DC barrel jack, and onboard programmer, in this case, a UPDI programmer.

    This mod will enable the user to develop code in a similar style to the classic Arduino, which is something like plugging the board into a USB port, writing code, uploading and debugging, and repeating that as needed.

    I am for the first time also including CAD files ( in DXF format ) for an acrylic case, CNC cut from 3mm Acrylic sheet with a 3018 Desktop CNC mill, as well as the GCODE and OBJ files for Openbuilds CAM / Openbuilds control. The Gcode can ( as far as I believe) also be used with other CNC controllers... please comment if I am wrong

View all instructions

Enjoy this project?

Share

Discussions

MakerIoT2020 wrote 02/25/2023 at 03:40 point

I agree. I will also be using more of them in the future. still have quite a lot of features that I have not checked out, hope to do that soon.  What is really impressive is that there seem to be quite a lot of them around, and nobody really pays attention, so that makes it easy to get, and super cheap :) Thanks for your comment...

  Are you sure? yes | no

Pierre-Loup M. wrote 02/24/2023 at 20:12 point

I've used the Attiny 1616 for one project (this one : https://hackaday.io/project/184964-tower-clock). I love it, it's cheaper then the Atmega 328, and at the same time is much more modern (and needs a few less component).

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates