The Interactex LilyLink is a modified version of the Arduino Lilypad by Leah Buechley, combined with a LiPo charging circuit, and a Bluetooth Low Energy module. The design and firmware of the BT module follow the BLE shield for Arduino by Michael Kroll. The design of the Arduino and LiPo charger refer to those implemented in the Lilypad main board and Lilypad LiPower by Leah Buechley. The schematics and board files for the board are in the GitHub repository.
The Link is designed and programmed to communicate with Interactex Client projects. The firmware is basically an Arduino sketch that uses the Firmata protocol to control the pins of the board via the iOS software. You can find it in the GitHub repository. You can also use the Link as a standard Arduino controller and upload your own sketches.
The pin assignment is identical with the Arduino Lilypad. The diagram shows the pin assignment as well as the locations of the on/off switch, the HW/SW Serial switch, the Reset button and battery connector. When you use the board, be aware that pins 2 and 3 are connected to the RX and TX pins of the processor. Just like for the pins 0 and 1, connecting them will affect the Serial communication, or make it impossible. The pins are broken out to provide more flexibility, but they should only be used once you run out of I/O pins, or if you don't need to use hardware and sofware serial at the same time for debugging.
The 6-pin header is connected to work with FTDI breakout boards in the same way as for the Lilypad and other Arduino hardware.
This switch sets the connections from the BLE module to the Atmel pins. The „hardware“ setting connects the RX/TX pins of the BLE module to the pins 0 and 1 of the Atmel. These are the pins that provide hardware support for Serial communication. The „software“ setting connects the RX / TX pins of the BLE module to the pins 2 and 3 of the Atmel. This setting can be used if you need to debug your code via the FTDI. However, be aware that data loss can occur in the Bluetooth communication process, and it might in fact become more severe when you use the SoftwareSerial. We provide a modified library to use SoftwareSerial with BLE in the repository that is partly based on the nRF8001 library from RedBearLab.
Like the Lilypad main board, this board can be programmed with a 5V FTDI breakout board. This connection is also used to charge the LiPo battery. The Hardware / Software Serial switch should be in „SW“ position. Otherwise you will get an error message when you try to upload your code to the board.
The power switch connects the battery to the Atmel. The board will run on the FTDI power supply when it is connected to the computer, ignoring the switch. This is in fact similar to the Lilypads, but might be worth mentioning. Check twice before you connect.
The pins on the board are broken out to be suitable for working with a sewing machine. They connect to both the top and the bottom oft he board, so that you can sew your connections into the fabric, place the board on top, and then use a tight zig zag stitch with conductive yarn on a sewing machine to attach it. You will probably need to take off the machine’s foot and hold the board firmly. You might also get a contact by sewing on the board on top of a trace with regular yarn.
The BLE module theoretically supports different Baud rates, but we have found the Baud rate to be a bit tricky when using the board. Based on the firmware, you need to set the Baud rate of your Serial / SoftwareSerial in the Arduino code to 19 200, if you want to use your own Arduino sketches with the board.
Also note that the module’s transmission is limited to 16 bits. This means that it is good to split your data into packages of 16 bits and wait for ~200ms before you send the next. The distance of the module can be up to several meters, but this depends on the circumstances of use.
If you connect a LiPo battery to the board, it will charge when the board is connected to a computer via the FTDI. The charging status of the battery is displayed by a LED that will turn green when the battery is fully charged.
The VCC as well as all I/O pins provide a voltage of 5V.