Skip to content

TinyLily Processor Setup Tutorial

The TinyLily Processor is the teensiest processor we offer at TinyCircuits. It's perfect for the application of wearable tech due to its small size and sewability using conductive thread.

And yes, you can wash it.


The TinyCircuits TinyLily Mini is an Arduino compatible module in an ultra compact package. Designed to be used in e-textile and wearable applications, the TinyLily Mini is very similar to the Arduino LilyPad with the same processing power and Arduino software compatibility – but at 1/12th the size!

  • Arduino and LilyPad Compatible
  • Atmel Atmega328P processor (same as is used on the Arduino Uno and LilyPad)
  • Washable
  • Sew tabs for 8 I/O (4 Digital, 4 Analog / Digital) and 4 Power Sew tabs (2 for power, 2 for ground)

Note: To program this board, you need to use the TinyLily Mini USB Adapter, which is sold separately test. 

Technical Details
  • Arduino and LilyPad Compatible
  • Washable
  • Robust Gold Finish – makes soldering easy and is non-corrosive
  • Sew tabs for 8 I/O (4 Digital, 4 Analog / Digital) and 4 Power Sew tabs (2 for power, 2 for ground)
  • Sew tabs are 1.2mm in diameter, easy to use with standard conductive thread and needles
  • Arduino Bootloader preprogrammed (uses approximately 0.5 KBytes of Flash Memory)
  • USB expansion header (for use with the TinyLily Mini USB Board)
  • Ultra compact size and weight (smaller than a US Dime!)
    • 14.0mm (0.55 inch) diameter
    • Max Height: 2.8mm (0.11 inches)
    • Ultra-thin 0.61mm (0.024 inches) PCB
    • Weight: .39 grams (.01 ounces)
  • Atmel ATmega328P Microcontroller
    • 32KB Flash, 2KB RAM, 1KB EEPROM
    • 1.2mA (typical) @ 3V, 4MHz
    • Clock speed: 8MHz
  • 2.7V – 5.5V operating voltage  


    • If you are brand new to the TinyLily, buying a kit is the best way to go since it will have all the parts needed. Check out our kits here.
    • This board does not include a voltage regulator – do not supply more than +5.5V or you will permanently damage the board and ruin your day. For this reason, we recommend using a battery as the power source with this board.
    • The back of the board has signals for SPI programming of the unit, and it is possible to solder wires to these pads to get access to the SPI signals if needed in your application. The picture below shows the signal assignments for this:
    SPI Signal Pinout
    Sewing Tabs Pinout


    Hardware materials (minimum)



    • Arduino IDE
    • An example Blink program discussed later in the tutorial!
    • Dependent on Operating System: FTDI Drivers

    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 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

    Plug the TinyLily Mini Processor board into the USB Adapter using the 5 pin connector. Connect the two attached boards to your computer using the microUSB cable.

    Be careful with the pin connector on the USB Adapter board, as they have been seen to bend with some force.

    Assembled Hardware

    Step 4: Arduino Environment

    Launch the Arduino IDE and navigate to the Tools tab. For the TinyLily Mini Processor, 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 TinyLily via the MicroUSB cable

    Tools Selections

    If you are having issues determining which port the TinyLily 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 something like:

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

    You can also view the Port Trouble Help page to try some quick debugging tips.

    Step 5: Upload Program

    The program we use to make sure the software is setup correctly for the TinyLily Mini Processor is the basic Arduino Blink program that is built into the IDE:

    // the setup function runs once when you press reset or power the board
    void setup() {
      // initialize digital pin LED_BUILTIN as an output.
      pinMode(3, OUTPUT);
    // the loop function runs over and over again forever
    void loop() {
      digitalWrite(3, HIGH);   // turn the LED on (HIGH is the voltage level)
      delay(1000);                       // wait for a second
      digitalWrite(3, LOW);    // turn the LED off by making the voltage LOW
      delay(1000);                       // wait for a second

    You can copy and paste this small program directly into the Arduino IDE window you already have open.

    You can also navigate to the Blink program from the Arduino IDE by selecting File -> Examples -> 01. Basics -> Blink:

    Blink program

    This program selects Pin 3 of the ATmega328P processor, changes the mode to output, then sends a high and low voltage in 1 second intervals. This program is most popularly tested by using an LED. To verify the program is working, you can do a few things:

    • Use a multimeter to view the voltage going up and down (blinking). (Connect the GND lead to Ground - tab on the board, and connect the Voltage lead to the Pin 3 tab on the board.)
    • Use a small amount of thread, or solder to attach an LED to the pin of your choice.
    • You can simply believe it works!

    Blink program functioning on TinyLily Mini Processor Pin 3

    Now you can build a Tiny wearable project! You can use our basic LEDs, RGB Neopixels, sensors, and play around with our motor driver and switch to create some truly awesome things.


    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!