Arduino LilyPad

The Arduino LilyPad is a microcontroller board designed for e-textiles and wearable projects, developed by Leah Buechley and SparkFun. Based on ATmega168 or ATmega328, it features a round, lightweight design with large sewable pads for conductive thread connections. It operates at 2-5V, supports sensors and actuators, and is programmable via Arduino IDE. Washable and ideal for interactive fabric-based electronics, it’s suitable for creative, wearable tech.

Arduino LilyPad
Fig.: Arduino LilyPad

Applications

Features/Specifications

Microcontroller ATmega168 or ATmega328V
Operating Voltage 2.7V to 5.5V
Input Voltage 2.7V to 5.5V
Digital I/O Pins 14
PWM Channels 6
Analog Input Channels 6
DC Current per I/O Pin 40 mA
Flash Memory 16 KB (of which 2KB used by bootloader)
SRAM 1 KB
EEPROM 512 bytes
Clock Speed 8 MHz
Diameter 50mm
Weight ~5g

📄 ATMega328P datasheet (8585 kB)

Connections

Pinout-Chart of the Arduino LilyPad
Fig.: Pinout-Chart of the Arduino LilyPad
Pin Number/Label Type Description Special Functions
+ Power Positive power supply (2.7V to 5.5V) Connects to +5V or 3.7V LiPo battery via JST connector (on some variants)
- Power Ground (0V) Ground connection for circuit completion
2 Digital I/O General-purpose digital input/output External Interrupt (INT0), PCINT18
3 Digital I/O General-purpose digital input/output External Interrupt (INT1), PCINT19, PWM
4 Digital I/O General-purpose digital input/output PCINT20
5 Digital I/O General-purpose digital input/output PCINT21, PWM
6 Digital I/O General-purpose digital input/output PCINT22, PWM
7 Digital I/O General-purpose digital input/output PCINT23
8 Digital I/O General-purpose digital input/output PCINT0
9 Digital I/O General-purpose digital input/output PCINT1, PWM
10 Digital I/O General-purpose digital input/output PCINT2, PWM, SPI (SS)
11 Digital I/O General-purpose digital input/output PCINT3, PWM, SPI (MOSI)
12 Digital I/O General-purpose digital input/output PCINT4, SPI (MISO)
13 Digital I/O General-purpose digital input/output PCINT5, SPI (SCK), Onboard LED
A0 Analog Input / Digital I/O Analog input (10-bit ADC) or digital input/output PCINT14, ADC0
A1 Analog Input / Digital I/O Analog input (10-bit ADC) or digital input/output PCINT15, ADC1
A2 Analog Input / Digital I/O Analog input (10-bit ADC) or digital input/output PCINT16, ADC2
A3 Analog Input / Digital I/O Analog input (10-bit ADC) or digital input/output PCINT17, ADC3
A4 Analog Input / Digital I/O Analog input (10-bit ADC) or digital input/output PCINT18, ADC4, I2C (SDA)
A5 Analog Input / Digital I/O Analog input (10-bit ADC) or digital input/output PCINT19, ADC5, I2C (SCL)
TX Digital I/O Serial transmit pin PCINT17, UART (TXD)
RX Digital I/O Serial receive pin PCINT16, UART (RXD)

Used Components

Programming

Before connecting the Lilypad to the computer, the battery must be removed from the connected power module!

Now open the Arduino IDE and select the board LilyPad Arduino in the menu Tools > Board:

Selecting »LilyPad Arduino« in the menu Tools/Board
Fig.: Selecting »LilyPad Arduino« in the menu Tools/Board

Depending on the chipset used, in most cases the ATmega328P will be present, and this should then be selected in the corresponding menu item:

Selecting the Processor »ATmega328P« in the menu Tools
Fig.: Selecting the Processor »ATmega328P« in the menu Tools

Now connect the FTDI adapter to the LilyPad:

Pinout of the FTDI adapter
Fig.: Pinout of the FTDI adapter
Connecting the FTDI adapter to the LilyPad
Fig.: Connecting the FTDI adapter to the LilyPad

Once all connections have been made, the FTDI adapter can be connected to the PC using the USB cable. Normally, a "Blink sketch" is preloaded on the LilyPad, so the onboard LED will likely blink at half-second intervals.
Sensors or actuators can now be connected to the LilyPad -just like with an Arduino- and programmed accordingly.

Last edited by Christian Grieger on 2025-05-12
X
  1. [top]
  2. Applications
  3. Features/Specifications
  4. Connections
  5. Used Components
  6. Programming