30x10mm ATtiny3217 Arduino breakout board in DIL24

The Dily3217 is an Arduino compatible development board of 30x10mm, easy to integrate since it has a breadboard-friendly narrow DIL24 package. It is powered by the new ATtiny3217 and it has 21 I/O lines. It can be programmed with an external USB FTDI adapter. It has more or less the same functionality as the Arduino Uno.

ATtiny3217 Arduino development board
ATtiny3217 Arduino development board


ATtiny3217 in breadboard-friendly narrow DIL24 package
ATtiny3217 in breadboard-friendly narrow DIL24 package

The Dily3217 controls 21 LEDs in this demonstration video on YouTube:

Where can I buy it?

The Dily3217 has to be cheap, that's why I'm trying to figure out who can do the sales and production.

ATtiny3217 development board
ATtiny3217 development board

ATtiny3217 Arduino breakout board in DIL24
ATtiny3217 Arduino breakout board in DIL24

Dily3217 vs ATmega328

The Dily3217 board is smaller than the ATmega328P chip itself, but it has more I/O pins, that’s crazy:

  • ATmega328P has 20 I/O pins
  • Dily3217 has 21 I/O pins

Dily3217 vs ATmega328P vs Arduino Nano
Dily3217 vs ATmega328P vs Arduino Nano

Extra 21 LEDs and a buzzer

I had an idea to provide the Dily3217 with 21 LEDs and also a buzzer. There is still room on the PCB...

More memory (32k/2048)

Until the year 2018, the small and cheap ATtiny microcontroller series, such as the ATtiny85, had less memory (8k/512). This was often a serious problem, sometimes you need a microcontroller with a larger memory but small in size. But in 2018, more powerful ATtiny chips were introduced, such as the ATtiny3217. It has 32kByte program memory and 2048Byte SRAM equal to the ATmega328P which is used on the Arduino Uno.

How everything started

For the design of a battery fuel gauge with the MAX17263, I used an ATmega328PB, which controls the fuel gauge.
Note that you should no longer use the ATmega328P, but the ATmega328PB, this is the successor and is cheaper and better too.

ATmega328PB example with MAX17263 battery fuel gauge
ATmega328PB example with MAX17263 battery fuel gauge

You see that the ATmega328PB is much too large in relation to the fuel gauge chip. That is why I wanted to use a smaller ATtiny chip. However, previously, the ATtiny chips doesn't have enough memory and you could not debug them well because they don’t had a UART. Then, I discovered the ATtiny3217, it has been released in 2018. This chip is small and has about the same features as the ATmega328P. Because the chip is so small, I immediately came up with the idea to make a narrow DIL24 design: the Dily3217.

Why choose the ATtiny3217?

The ATtiny3217 has the most memory (32k/2048) and I/O pins (21) of the ATtiny series. And because of the QFN-24 package, the chip is extremely small. Note that, there is a trend that many new chips are only delivered in very small packages, with a pin spacing of about 0.5 mm.

QFN24 package transformed into DIL24 package

For hobbyists, the drawback of the ATtiny3217 is that it is only available in a QFN24 package, with a pin spacing of 0.5 mm, which can only be soldered using a solder mask. Since there is no breadboard-friendly DIL package of the ATtiny3217, you always need a development board. That's why I made the small Dily3217 board, just like I did with the SAM15x15.

Compatibility

The Dily3217 development board has more or less the same functionality as an Arduino Uno or Nano, you can simply upload sketches via the serial port because it has a bootloader. The difference with the Arduino Uno or Nano is:
The supply voltage is 1.8V - 5.5V, a voltage regulator for higher supply voltages can be soldered optionally.

The ATtiny3217 contains a hardware UART

A big advantage is the hardware UART, which is needed to be able to debug well.
Previously, you could only debug using a software UART on the ATtiny chips that didn't work very well.

Dily3217 board features

  • Atmel microcontroller ATtiny3217
  • Bootloader Optiboot preloaded (same as the Arduino Uno)
  • The DIL24 package leaves many pins free on a breadboard
  • FTDI connector-less connector
  • 32kByte program memory (same as the Arduino Uno)
  • 2048Byte SRAM (same as the Arduino Uno)
  • 21 I/O pins (20 on the Arduino Uno)
  • 20MHz clock at 5V (16MHz on the Arduino Uno)
  • 8-bit DAC (not on Arduino Uno)
  • Onboard LED
  • Power LED
  • Reset button
  • Supply voltage 1.8V - 5.5V
  • Optional voltage regulator for supply voltages higher than 5.5V
  • Straightforward pinout
  • See more on the Microchip website

Straightforward pinout

The pinout is straightforward: pin 1 = ATtiny3217 pin1, pin 2 = ATtiny3217 pin2 etc

On board regulator

The maximum power input is 5.5V.
On the bottom side of the PCB, you can mount a voltage regulator to allow supply voltages above 7V, the same as the Arduino Uno. Use an external voltage regulator if you need more output power.

ATtiny3217 Arduino development board on board regulator
ATtiny3217 Arduino development board on board regulator

Upload sketches with the Arduino IDE

Step 1

Step 2

  • Connect the Dily3217 with a FTDI-adapter to the USB connector of your PC
  • Tools > Board = ATtiny megaAVRv (optiboot)
  • Upload the sketch
  • Note: repeat step 1 after changing from board (this is an Arduino bug)

Spence Konde has extensively mapped out how to program the ATtiny3217ATtiny3217
Note that the bootloader is already burned by me.
A standard FTDI board is needed to upload sketches and debugging via USB:

FTDI board for uploading sketches and debugging via USB
FTDI board for uploading sketches and debugging via USB

How to burn a bootloader into the ATtiny3217

Note that you don't need this step because the bootloader is already burned by me. But here's a description of how it's done:
Step-by-step guide to turn a uno/nano/pro mini into a UPDI programmer

Dily3217 burning bootloader with Arduino Nano
Dily3217 burning bootloader with Arduino Nano

Calibration of the internal RC oscillator

The internal RC oscillator is calibrated in production within ±3% or ±10%, depending on the device. To get a higher frequency accuracy, it is possible to re-calibrate the RC oscillator, see here.

  • ATmega328PB is the successor of the ATmega328P
  • ATtiny3217 is very small, but with large memory (32k / 2048) and hardware UART
  • Atmega32u4 has a built-in USB-interface

Do you have any comments about the website or problems with shopping? Please let me know.