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.
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)
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) |
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:
Depending on the chipset used, in most cases the ATmega328P will be present, and this should then be selected in the corresponding menu item:
Now connect 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.