E-Textiles / Wearables Compared: LilyPad vs GEMMA vs Microbit

Updated 04 June 2019

Every good E-Textiles or Wearables project needs to start somewhere, and the natural starting point for any project is choosing the right microcontroller. There are many good choices out there, and we will compare a few of the best and brightest, the LilyPad, GEMMA M0, and the Microbit.

There are many different E-Textiles and Wearables boards out there to choose from. While we will focus on the LilyPad, the Adafruit GEMMA M0, and the Microbit, think of these as more of a ‘class’ of microcontroller. The LilyPad has similar pros and cons as the Adafruit Flora, the Microbit is very similar to the Circuit Playground Express.

We will evaluate these popular wearables boards on a few different criteria, features, ease of programming, power use, and “sew-ability”.

LilyPad GEMMA M0 and Microbit boards


The LilyPad is the well known E-Textile microcontroller that brought Arduino and fabric together for the first time. This board paved the way for what we know as E-Textiles and Wearables today, and it has a great line of associated parts to accompany it.

Lilypad board - the original wearable


The LilyPad is essentially an Arduino Leonardo (ATMega32U4) and works just the same. The board has a power switch built in, and a reset button. It comes with a JST connector that is great for connecting 3.7V Lipo Battery packs to keep your project powered, and has USB charging built in. There is also a programmable red led onboard. This is something that the other boards we talk about do not have. Built-in USB charging means that you should not use standard Alkaline batteries to power your LilyPad, as they cannot be charged and connecting your lilyPad to USB will attempt to charge them. One of the big advantages to the LilyPad is that there are four analog and four digital pins, so you can connect a lot of externals!


Arduino is the programming language that works the LilyPad. This board is supported by the Arduino IDE so programming is easy via USB. Arduino is the ONLY language that the LilyPad will accept though, the other boards we are comparing have more options.


The LilyPad is perfect for sewing. The large eyelets make it easy to connect either alligator clips or wrapping conductive thread. The circular shape means no sharp edges when attaching it to the fabric. The board itself is relatively large at just over 5cm diameter, but not large enough to likely be a problem when creating your project.


The GEMMA M0 is an extremely small, extremely inexpensive board that still manages to be quite powerful.

Gemma M0 developement board


The Adafruit GEMMA M0 has a ATSAMD21E18 (commonly called the M0) at its heart and has some performance specs that blow away the LilyPad. We won’t get into the specifics here, but we will say that it has 8X the flash memory, 12X the RAM, and a 3X faster processor. This is all great, but for the average E-Textiles project, this doesn’t matter. The features we really care about are the capacitive touch sensitive pads, the power switch, the reset button, the red LED and onboard DotStar LED Pixel. The GEMMA M0 also has a JST connector for easy power connection. It is compatible with both standard Alkaline batteries or LiPo Batteries. There is no battery charger built in. The obvious downside to all this smallness is that there are only three pins available. They are all capable of being used as analog inputs or digital inputs/outputs, with one pin being a true analog out. It’s also capable of measuring its temperature from the CPU, this can be moderately accurate for determining the temperature outside, consider it more of a reference.


The Adafruit GEMMA M0 can be programmed with four different languages. MakeCode, CircuitPython, Arduino, and JavaScript (via MakeCode). A bit about each of these languages:
MakeCode is a polished block-based code editor that allows programs to be made by dragging and dropping. The program is then downloaded and dropped onto the GEMMA, which appears as a drive when connected to a computer. MakeCode is a very capable programming tool, its great for beginners and encourages trial and error. It would be a mistake to underestimate it though, you can make very capable programs with it. The editor will slow down if your program grows too complex, but with only three pins to work with, it is unlikely that you will ever hit the ceiling with the GEMMA. Program you GEMMA M0 with MakeCode by going to maker.makecode.com

CircuitPython is based on the very popular Python programming language. A cousin of MicroPython, CircuitPython is a version of Python that is made for microcontrollers and designed to be understood by human beings rather than machines (they get it too though!). We recommend using the Mu editor for CircuitPython, as the GEMMA M0 is natively supported, and it has great error checking features. The downside to CircuitPython is that it's relatively slow, but only to a computer. As long as you aren’t trying to solve for pi, or doing floating point math, then you won’t notice the difference.

Arduino remains the most widely used programming language amongst maker products. We probably don’t need to explain what it is, but we will say that it’s the most complex programming language available to the GEMMA. Arduino is by far the fastest though and gives you the highest level of control over the device (programmers call this low level). Arduino will run roughly 50X faster than the same operations programmed in CircuitPython!

The final way that you can program the GEMMA M0 is by using JavaScript. This is available as an option through MakeCode. JavaScript isn’t a very common language for microcontrollers, and you may have difficulty finding resources to help you out if this is the direction you want to go. We recommend using one of the other three methods for your projects.


The GEMMA M0 is the most sew-able board that we compared. It has large holes for easy sewing or alligator clip connection and is round so there are no sharp edges if you are putting it on clothing. The GEMMA is just under 28mm diameter (just slightly smaller than a 20c coin!) We’ve had buttons that are bigger than this. The small size makes it easy to find a spot for on any wearable.


The BBC Microbit might not be the first board that comes to mind when making an E-Textile or Wearable project, but this boards versatility and low cost have earned it a place in this comparison. The Microbit is a favourite of makers and educators alike. Don't forget, we have great tutorials and guides for using the Microbit! Check out all our Microbit Tutorials when your done! 

Microbit Board


The Microbit is another programming powerhouse, it comes in as the most powerful board that we are comparing. Its inexpensive and fast and can be programmed with four different languages (more on that later).
The Microbit has a bunch of extras onboard. It has two programmable buttons, an LED array, an accelerometer, magnetometer, temperature and light sensor, Bluetooth and radio communication. All this means that you can make many projects with just the Microbit board itself, and you wouldn’t need to so extra sensors into your circuit!


Here is where the Microbit truly shines! The Microbit can be programmed by four different methods! In order of simplicity, we have MakeCode, JavaScript, MicroPython, and Arduino.

MakeCode: Perfect for the beginner programmer, this block-based free software can be run from any web browser, and allows you to quickly and easily program your Microbit. This takes a lot of the obstacles away from programming, it delivers high reward while making it difficult to make mistakes.

JavaScript: This is the most used programming language today, while it does not have much traction in maker hardware, it is heavily used in web development and is a valuable language to learn. You can program in JavaScript within MakeCode, and switch seamlessly between blocks and written code!

MicroPython: Based on the ultra-popular Python programming language, MicroPython is adapted for use with hardware. This language is very nice to learn, as everything is written in a way that a human can read. Forget about confusing symbols and brackets, Python is made to be clear and understandable. This is the best option for someone learning written code and is a very widely used and valuable programming language to know.

Arduino: This gives the lowest level of control over your Microbit out of all the programming languages. It runs very fast but is also a bit harder to learn and write. Don’t let this stop you though, it’s the most used language in the world of microcontrollers for a reason! A huge community and widely available libraries make this language a good option for ultimate control over your device!


The Microbit is not as easy to sew into a project as the other boards in this list. You will need to get creative with connection methods. We suggest connecting to the edge with alligator clips and sewing the bare end of the wires into the fabric. This is the biggest downside to using the Microbit as a wearable. If you are looking for a board that offers everything that the Microbit has but in a sewable shape, check out the Circuit Playground Express!

Going Further

Want to take your wearables even further? We have a full category of tutorials centred around another great board, the Circuit Playground Express! This board is functionally the same as the Microbit and is also packed with sensors, lights, speakers, and more! We like to say that the Circuit Playground Express is a bit more 'fun focused' than the Microbit. Check out our Circuit Playground Express Tutorials and our Circuit Playground Express Online Workshop!

Have a question? Ask the Author of this guide today!

Please enter minimum 20 characters

Your comment will be posted (automatically) on our Support Forum which is publicly accessible. Don't enter private information, such as your phone number.

Expect a quick reply during business hours, many of us check-in over the weekend as well.



Please continue if you would like to leave feedback for any of these topics:

  • Website features/issues
  • Content errors/improvements
  • Missing products/categories
  • Product assignments to categories
  • Search results relevance

For all other inquiries (orders status, stock levels, etc), please contact our support team for quick assistance.

Note: click continue and a draft email will be opened to edit. If you don't have an email client on your device, then send a message via the chat icon on the bottom left of our website.

Makers love reviews as much as you do, please follow this link to review the products you have purchased.