Skip to content

TinyDuino Setup Tutorial

The TinyDuino is a title product for TinyCircuits, providing the processing power of an Arduino Uno in a board smaller than a quarter! The applications are endless.

An introduction video to TinyDuino

Don't worry about trying to follow along with this video, all the steps will be broken down in the following tutorial.


The TinyCircuits TinyDuino is an Arduino compatible board in an ultra-compact package. The TinyDuino processor board is roughly equivalent to the Arduino Uno board. It has the same processor and brings identical signals out to a shield connector. In fact, most Arduino sketches will work as is without any changes.

The TinyDuino Processor Board is available in three variations:

  • With Lithium Battery Support - has an onboard Lithium battery charger that will charge the battery when attached to USB
  • With coin cell battery support - for low power applications, use a simple CR1632 coin cell battery that can be easily changed
  • Without battery options - the lightest and lowest cost option

Main Features:

  • Atmega328P processor (same as is used on the Arduino Uno)
  • Power switch
  • Status LED
  • 8MHz ceramic resonator
  • External power supported with a 0.1″ power connection holes
  • Supports automatic switching between +5V and VBATT (if +5V is present, it will be used instead of the battery)

Learn more about the TinyDuino Platform

Technical Details

TinyDuino Specs

  • Arduino Compatible
  • Expandable with Stackable TinyShield Boards
  • Optional battery connector for CR1612-CR1632 coin cell batteries
  • Optional Lithium battery connector and charger
  • 0.1″ spaced solder holes for external power source
  • Robust Gold Finish – makes soldering easy and is non-corrosive
Ultra compact size and weight (smaller than a US Quarter!)
    •  20mm x 20mm (.787 inches x .787 inches)
    • Max Height (without battery holder): 2.9mm (0.12 inches)
    • Max Height (with coin cell battery holder): 6.58mm (0.26 inches)
    • Ultra-thin 0.61mm (0.024 inches) PCB
    • Weight: 1.10 grams (0.039 ounces) - Lithium version
Atmel ATmega328P Microcontroller
  • 32KB Flash, 2KB RAM, 1KB EEPROM
  • 1.2mA (typical) @ 3V, 4MHz
  • Default Clock speed: 8MHz
  • 2.7V – 5.5V operating voltage
  • 20 I/Os (14 Digital, 6 Analog / Digital I/O) – All the signals on the Arduino Shield connectors are supported!
  • Arduino Bootloader preprogrammed (uses approx 0.5 KBytes of Flash Memory)


  • If you are brand new to the TinyDuino, buying a kit is the best way to go since it will have all the parts needed.  Check out the TinyDuino Kits here
  • All batteries are sold separately
  • To program this board, you need to use the TinyShield USB Board

  • This board does not include a voltage regulator – do not supply more than +5.5V to VBATT or the +5V signal or you will permanently damage the board and ruin your day.



  • Micro USB Cable - to connect your TinyDuino stack to your computer for power, and programming
  • TinyDuino Processor Board - Processors are the brains of microcontrollers
  • USB TinyShield - the TinyDuino board has no USB port, so this TinyShield is necessary in order to power and program the TinyDuino
  • Optional: Battery (This ultimately depends on which version of the TinyDuino you have purchased: The version that supports lithium batteries, the one that supports the use of coin cell batteries, or the one without battery support)


Here's an overview of the steps you will be taken through with this tutorial:

  • Step 1: Configuring the Arduino IDE, so you have somewhere to write software that understands how to interface with your hardware
  • Step 2: (Dependent on Operating System) You'll need to do some extra steps if you are running a version of Windows less than 7, Ubuntu, or some other uncommon operating system in order to recognize an Arduino connected via USB.
  • Step 3: Connecting the hardware (it's like circuit legos)
  • Step 4: Connecting to the TinyDuino board. This should just be a simple connection with a USB cable, and a few selections made in the Arduino IDE to ensure you are programming the correct board-type through the correct port of your computer.
  • Step 5: Programming the TinyDuino with a simple 'Blink' example
  • Troubleshooting: Reference this at any point throughout the tutorial if you are having issues. If this doesn't resolve your problems, email us for help at or consult our forum at

Step 1: The Arduino IDE

Download the free Arduino Environment and extract the files.

Step 2: Drivers for Ubuntu/Other

Many operating systems such as Windows(7 and newer), Mac OS, and most Linux distributions do not need a driver for the FTDI USB to Serial converter on the USB TinyShield. So if you use one of those operating systems, you can skip straight to the next step.

If you are using another operating system, however, you may need to do download the necessary drivers:

  • Drivers for older, or other operating systems are available on this FTDI drivers page.
  • Linux distributions like Ubuntu may need some changes, check out this forum post for more information. 

Step 3: Hardware Assembly

All you have to do for this step is connect the TinyDuino to the USB TinyShield via the tan 32-pin connectors. 

No really, it's that easy.

Step 4: USB Connection and IDE Selections

Make sure the switch on the TinyDuino is switched to ON. Connect the TinyDuino to your computer via a microUSB cable.

Note: Some USB cables are used only for transferring power and not data signals. If your computer is not recognizing that a device is plugged in, you may need to try a different USB cable. If you've purchased a Micro USB Cable from our online store, you won't have to worry about this issue.

Launch the Arduino IDE and navigate to the Tools tab. For the TinyDuino, we are going to make the following selections:

  • Board: "Arduino Pro or Pro Mini"
  • Processor: "ATmega328p (3.3V, 8MHz)"
  • Port: "COM##" - this is the port connected to the TinyDuino via the MicroUSB cable

If you are having issues determining which port the TinyDuino is connected to, you can unplug the microUSB cable and plug it back in to note which COM## disappears and reappears during this process. Expect the port naming convention to look like:

  • Windows - Port: "COMXX"
  • Mac - Port: "tty.usbserial-XXX…"

If you have any issues finding the correct port, check out this Port Trouble Page for Windows and Mac help page.

Step 5: Uploading a Program

Run a test program to make sure everything is connected and downloaded correctly by navigating to File > Examples > 01. Basics > Blink

Selecting this example program will open a new IDE window, so you may have to check the Board and Port selections under Tools are correct. Check back to Step 4 if you're unsure. 

Click the right-facing arrow at the top of the window to upload the Blink program to the TinyDuino. After compilation, will see the RX and TX labeled lights flash during the upload process. You should then see a green blinking LED on the board after the program is done uploading. 


  • Make sure the TinyDuino power switch is turned to ON.
  • If you have issues connecting to the TinyDuino board, make sure the USB cable is plugged all the way into the USB TinyShield.
  • Check out the Forum page specific to TinyDuino for other issues you may have, or make a new forum post for a new problem!


Contact Us

If you have any questions or feedback, feel free to email us or make a post on our forum. Show us what you make by tagging @TinyCircuits on Instagram, Twitter, or Facebook so we can feature it.

Thanks for making with us!