LilyPad Arduino SimpleSnap


The LilyPad Arduino SimpleSnap is a microcontroller board designed for wearables and e-textiles. It is similar to the LilyPad Arduino Simple, except that it has a built in lithium polymer battery, and instead of through-holes, it has conductive snaps. By using matching snaps in your project, you can affix the LilyPad securely but remove it to wash your project or move it to another project. The LilyPad SimpleSnap has 9 pins for input/output. Additionally, it has a built in charging circuit for the battery. The board is based on the ATmega328.

The LilyPad Arduino SimpleSnap was designed and developed by Leah Buechley and SparkFun Electronics.


Schematic: LilyPadSimpleSnap_schematic.pdf

EAGLE (CAD) Files:


Operating Voltage2.7-5.5 V
Input Voltage2.7-5.5 V
Digital I/O Pins9 (of which 5 provide PWM output)
Analog Input Pins4
DC Current per I/O Pin40 mA
Flash Memory32 KB (of which 2 KB used by bootloader)
Clock Speed8 MHz
Radius18 mm


The LilyPad Arduino SimpleSnap can be programmed with the Arduino software (download). Select "LilyPad Arduino" from the Tools > Board menu (according to the microcontroller on your board). For details, see the LilyPad Arduino Getting Started Guide.

The ATmega328 on the LilyPad Arduino SimpleSnap comes preburned with a bootloader that allows you to upload new code to it with the Arduino software.

The LilyPad SimpleSnap does not have an onboard USBSerial adapter or USB connector. To program the board, you will need to use a FTDI compatible adapter like the USBSerial Light Adapter.


The LilyPad Arduino SimpleSnap is powered by its on-board battery, or with a FTDI compatible adapter.

The board can be turned on and off with the on-board switch. When the board is unplugged from an FTDI adapter and powered via its on-board battery, the switch turns the board on and off; with the switch in the ON position, the microcontroller receives power and the board runs and with the switch in the OFF position, the microcontroller doesn't receive power. When the board is powered via an FTDI adapter, the board remains on all of the time; with the switch in the ON position, the microcontroller receives power from the battery and with the switch in the OFF position, the microcontroller receives power from the FTDI adapter.

The Lilypad SimpleSnap's built in lithium polymer battery is the primary power source for the board. The board contains a MCP73831 LiPo battery charging chip. If the board is connected to an FTDI connection, the FTDI power will charge the battery. This is true regardless of the position of the power switch. The LED adjacent to the switch lights up while the battery is being charged. The charging will stop automatically when the battery is fully charged.

Because of the battery charging circuit, it is not possible to power components like a bluetooth modem via the FTDI connector.

Inputs and Outputs

The LilyPad SimpleSnap has fewer inputs and outputs than the LilyPad Arduino Main Board. There are a total of 9 I/O pins on the SimpleSnap board, one exposed pin for +5VDC, and one pin for ground.

Each of the 9 digital i/o pins on the LilyPad Arduino SimpleSnap can be used as an input or output, using pinMode(), digitalWrite(), and digitalRead() functions. They operate at 3.3V volts. Each pin can provide or receive a maximum of 40 mA and has an internal pull-up resistor (disconnected by default) of 20 kOhms. In addition, some pins have specialized functions:

  • PWM: 5, 6, 9, 10, 11 Provide 8-bit PWM output with the analogWrite() function.

  • Analog Inputs: A2-A5. The LilyPad Arduino SimpleSnap has 4 analog inputs, labeled A2 through A5, all of which can also be used as digital i/o. Each analog input provides 10 bits of resolution (i.e. 1024 different values). By default the analog inputs measure from ground to 5 volts, though is it possible to change the upper end of their range using the analogReference() function.

Automatic (Software) Reset and Bootloader Initiation

Rather than requiring a physical press of the reset button before an upload, the LilyPad Arduino SimpleSnap is designed in a way that allows it to be reset by software running on a connected computer. The bootloader can also be initiated by pressing the reset button.

Because of the way the LilyPad Arduino SimpleSnap handles reset it's best to let the Arduino software try to initiate the reset before uploading. If the software can't reset the board you can always start the bootloader by pressing the reset button.

Physical Characteristics

The LilyPad Arduino SimpleSnap is a circle, approximately 50mm (2") in diameter. The PCB is .8mm (1/32") thick (approximately 3mm (1/8") where electronics are attached).


Because of the built in battery, you cannot wash the LilyPad Arduino SimpleSnap. It will ruin the board and battery if you do. Instead, you should detach the LilyPad before carefully hand-washing the rest of your project.

More Information

To get your LilyPad Arduino working, see this guide.

SparkFun Electronics has a range of accessories for use with the LilyPad Arduino.

Additional information on the LilyPad Arduino SimpleSnap, including detailed information about how to attach it to fabric, can be found on the LilyPad Arduino SimpleSnap page on the LilyPad website.