The ATtiny3217 Curiosity Nano is an evaluation board from Microchip featuring one of their newer 1-series AVR microcontrollers. Microchip has made an effort to produce maker-friendly evaluation boards, so there isn’t much difference between this board and any other small microcontroller prototyping board. There is an on-board debugger that programs the chip and connects to the computer via USB. There is a user-definable button and LED at the end of the board. Two rows of through-holes accept headers for breadboard-friendly prototyping and there are castellations for surface mounting the board. Although it resembles an Arduino Nano in form, they are not pin compatible.
When the board is first attached over USB, the debugger mounts itself as a USB mass storage device. On the device you will find a text file indicating the board’s status and another with its configuration. There is also an HTML file that will redirect your browser to the Curiosity Nano’s product page. Through the mounted device, you can drag-and-drop programs onto the board, if you have a precompiled (HEX) binary for this microcontroller. Another nice feature of the debugger is that you can put commands for the debugger into a text file and drop them into the mounted device. This way, you can instruct the debugger to set the on-board voltage regulator to either 3.3V or 5.0V. You can also reset the microcontroller and erase its flash memory with similar commands. Complete documentation for this feature is found in the User Guide.
The ATtiny3217 chip on board is small, with 24 pins on a no-lead package, but it has a nice combination of peripherals. The peripheral touch controller (PTC) supports 14 capacitive touch buttons, or 49 through a mutual-capacitance array. There are two 10-bit ADCs, with one or the other multiplexed onto most of the I/O pins. An 8-bit DAC is available for output. There are also two look-up-tables that can be attached to external pins to implement some hardware logic. It has real-time counter capabilities, with a spot on the Curiosity Nano for a 32.768 kHz crystal to be added to the board. The chip can be internally clocked at 16 or 20 MHz.
To program the board, I tried out Atmel Studio 7 and MPLAB X 6. Both IDEs automatically detected the Curiosity Nano board and provided a page of links including the User Guide and schematics. There doesn’t seem to be any example code available for the board, but all of the libraries and programming tools available for all AVR microcontrollers appear to be available for this one as well. Because Microchip makes both this board and these two IDEs, this is your best option for supporting the advanced features of the chip, like the peripheral touch controller.
I then tried programming the board in Arduino IDE. Thanks to the megaTinyCore you can add support for the ATtiny3217 to Arduino IDE. The core recommends Arduino IDE 1.8.13, which is no longer available unless you compile it from source. I got it to work on 1.8.19. Compiling for the Curiosity Nano was not a problem, but uploading to the board from the IDE failed. Instead, I asked Arduino IDE to export a HEX file via the Sketch -> Export Compiled Binary option and then I drag-and-dropped it onto the board through the file system. Sure enough, standard example code from Arduino IDE ran on the board, with constants like LED_BUILTIN conveniently defined for the Curiosity Nano’s pins. To avoid having to figure out pin mappings, you can use Atmel’s pin numbering scheme in Arduino IDE by typing, for example, PIN_PA3 for the built-in LED. The Curiosity Nano boards have the P## numberings labeled on the bottom of the board plus anywhere on the top that space permits.
In all, the ATtiny3217 Curiosity Nano should be considered if you want a prototyping platform based on the AVR architecture, but with a different and more modern combination of peripherals than found in its predecessors. The addition in particular of the PTC and the DAC open new possibilities we didn’t have in legacy ATtinys.
- User-friendly on-board debugger
- Peripheral Touch Controller and DAC on an ATtiny
- Maker-friendly form factor