RGB LED Panel - 32x32

Are you looking to add a lot of color to your project? These massive 32x32 RGB LED panels are an awesome place to start. You can create animations, games, or all sorts of other fun displays with them. Yes, you read that right: a 32x32 LED matrix, that's 1024 LEDs on a 7.5" x 7.5" board. On top of all that, thanks to two IDC connectors, and a seamless frame, these panels can be daisy chained together to form even bigger LED displays.

These panels require a regulated 3.3-5V supply for power which needs to be able to source a good amount of current – up to 2A in the worst case. Included with each panel is a 0.15" pitch 4-pin polarized connector power cable which is terminated with both a female polarized connector, and a pair of spade terminals. Needless to say, if you are looking for a large, cheap, and easy to use RGB LED matrix you've come to the right place.

Note: These displays were intended for use with FPGAs and high-speed processors. We've found that 16MHz is about the slowest processor that can drive these adequately. If you want to daisy-chain them together, you will need more speed and more RAM.

  • 1x 32x32 RGB LED Panel
  • 1x 0.15" Pitch 4-pin Power Cable w/ Spade Connectors
  • 2x 16-pin (2x8) Ribbon Cables
  • 1024 RGB LEDs
  • 1/16 Scan Rate
  • Dual IDC Connectors for Daisy Chaining
  • 3.3-5V Supply Voltage

RGB LED Panel - 32x32 Product Help and Resources

RGB Panel Jumbotron

August 5, 2014

This tutorial will show you how to combine a webcam, a 32x32 RGB LED panel, and a Teensy 3.1 to stream video from the webcam, pixelate it, and display it on the LED panel - LIVE.

Hackers in Residence: The Sound Visualizer

March 23, 2015

A fun project that uses a Raspberry Pi and a custom Java app to create your own sound visualizer using a RGB LED matrix.

Hackers in Residence: The Sound Visualizer Pt. 2

May 7, 2015

An addition to a previous project, this time using a PC and a custom Java app to create your own music visualizer using a RGB LED matrix.

RGB Panel Hookup Guide

December 12, 2013

Make bright, colorful displays using the 32x16, 32x32, and 32x64 RGB LED matrix panels. This hookup guide shows how to hook up these panels and control them with an Arduino.


These are successfully mounted by 3m machine screws. PRT-13227 should work.

Core Skill: Programming

If a board needs code or communicates somehow, you're going to need to know how to program or interface with it. The programming skill is all about communication and code.

3 Programming

Skill Level: Competent - The toolchain for programming is a bit more complex and will examples may not be explicitly provided for you. You will be required to have a fundamental knowledge of programming and be required to provide your own code. You may need to modify existing libraries or code to work with your specific hardware. Sensor and hardware interfaces will be SPI or I2C.
See all skill levels

Core Skill: Electrical Prototyping

If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.

2 Electrical Prototyping

Skill Level: Rookie - You may be required to know a bit more about the component, such as orientation, or how to hook it up, in addition to power requirements. You will need to understand polarized components.
See all skill levels


Looking for answers to technical questions?

We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.

  • davolfman / about 10 years ago / 4

    My math says if you want a 232" 480p screen with these it's going to cost a little over 16 grand. Probably worth every penny.

    • MikeGrusin / about 10 years ago / 10

      Be sure to ask about our volume discount! :)

    • ChrisG / about 10 years ago / 3

      480p? Lets be serious here: to make a 4K display (4096x2160), we'll need 8704 of these. Both this, and the 16x32 panel say a 2A supply is needed for the worst case (all pixels white), so I'll assume this one requires 4A. This means the cost of this 80'x42'6" display would be over $300,000. To power every display outputting white light for one hour, 87044A5V*1h=174.08kWh. If the cost of electricity is $0.10/kWh, this works out to $17.41. If it's powered continuously for 1 year, the electricity will cost over $150,000.

      • kabram / about 9 years ago / 2

        I saw a super-huge LED array at the KFC Yum center in Louiseville KY and I have to say - the picture clarity and brightness was mindblowing. I went all around to the back of the stage to check this thing out and you could clearly see it was made up of a number of panels attached together.

      • You gotta admit that would make for a bad-ass jumbotron though.

    • DaAwesomeP / about 9 years ago * / 1

      How about 720p (this is the 2010's; HD is much cooler):

      • 720p = 1280 x 720 = 921600 pixels. Each panel is 32 x 32 = 1024. 921600/1024 = 900 panels.
      • 900 panels with the current 100+ volume pricing = 900 x $31.96 = $28,764. A big price for the average hobbyist. That's excluding what you'll need to power and process what goes into these.
      • The width, 1280/32 pixels = 40 panels. 40 panels x 7.5 inches = 300 inches, or 25 feet, or 8.33 yards, or 7.63 meters.
      • The height, 720/32 = 22.5 panels. That would leave you with have a panel extra, or 1280x736! 22.5 panels x 7.5 inches = 168.75 inches, or 14.0625 feet.

      A major LED panel/display seller is Daktronics. There are no prices on their website, but I do wonder if those are more or less expensive than this. This probably wouldn't fair well in bad weather though.

    • doobie / about 10 years ago / 1

      You'll need a lot of processing power for that, but I'll come watch a show on it!

  • Member #158753 / about 10 years ago / 3

    I see a few comments about the Teensy 3 with this panel, indeed it is a great choice to run smooth animations at 24bit. However the Adafruit library proposed is only for AVR processor. I described a project with this panel and posted a working code for the Teensy 3 that may be useful for some. http://petitstudio.blogspot.jp/

  • TheGreat837 / about 10 years ago / 3

    Will 1 Arduino Mega 2560 R3 be able to power the logic for 2 of these panels?

  • SQUEEEE!!!

  • Brother Theo / about 9 years ago / 2

    Has anyone tried this on a Arduino Due?

  • BitBar / about 9 years ago / 2

    Got it a few days ago, and figured out the wiring. Very straightforward to use, but it requires the controller to constantly send bits: 192 bits per line pair (sent 6 at a time during 32 clock cycles), 16 line pairs per screen... so each full screen refresh requires 512 clock ticks. You need to refresh it at minimum 50 times per second, otherwise people will start to see a vertically scrolling line instead of a full picture, so that's 25600 clock ticks, minimum for a full persistent picture... and that's assuming you're okay with only 8 colors: Black, White, Red, Yellow, Green, Cyan, Blue, Magenta. If you want to have more colors, you will need to drive it an order of magnitude faster to incorporate modulation. So that's why it says 16MHz is about the slowest that can drive these.

  • GHOON / about 10 years ago / 2

    Does anyone know if there is any problem with shipping these to the UK due to the lack of RoHS? Was really hoping to get some of these for a project and they're the cheapest I can find but just noticed it doesn't have the little RoHS tag at the top like other products and not too sure what that means for getting it over to me.

    • I think RoHS is an optional but suggested guideline for manufacturers in the EU- I've at least never had a shipment blocked at import to the UK because of no RoHS

  • structuresound / about 10 years ago / 2

    These can mount well to 15x15mm extrusions like OpenBeam, meaning these panels have a slightly smaller bezel than the 16x32 that are described to work with 20mm extrusions in the adafruit led wall guide. Thought that might be useful for some folks, also they are M3 threaded, which also works well with open beam if you use a hex cap head screw.

  • Member #440586 / about 10 years ago / 2

    How long do think it will take for these to be restocked?

  • How do you think a teensy 3.1 would handle this? How about 4 of them? I see a potential for some special christmas decorations for next year.

    • MikeGrusin / about 10 years ago / 2

      The Teensy is very fast (and even has DMA if you're ambitious), so I would expect it to be ideal for these.

    • mxgxw / about 10 years ago / 1

      I think that the best library for using it with the Teensy is the SmartMatrix. I've just tried and it works great. Take a look a it: http://docs.pixelmatix.com/SmartMatrix/

    • Madbodger / about 10 years ago / 1

      There's a really good library for that: http://www.adafruit.com/blog/2013/02/25/octows2811-led-library-for-teensy-3-0/

  • BigHomie / about 8 years ago / 1

    Can anyone weigh in on how much one of these panels weighs?

  • DaG / about 9 years ago / 1

    Has anyone else noticed their CLK pin being very sensitive? I might have fried something when I pulled the data plug with everything still on and running....

    1) Horizontal rows twitch out of place every now and again. The effect ranges in severity and responds strongly to any wiggling of the wires, especially the CLK wire.

    2) Even worse, the same code that produced individual colors on each pixel is now "double-wide" - as in if I choose one single pixel to light, it will light two horizontally. I have replaced every part of the system and nothing changes. Microcontroller has no effect, wires had no effect, 32x32 panel had no effect, all of my different codes that used to work now show double-wide images. This problem seems to have started about the same time I wired four of these boards in series, so I have to suspect that's part of the problem, but now each one individually prints double-wide, with half of it off-screen.... No idea what could be the matter...

    So, I either burnt something on all 5 of my 32x32's, on both my microcontrollers, or I changed my 7 previous versions of the code identically to cause this problem...

  • Member #471585 / about 9 years ago / 1

    Anyone know what the data pin logic levels are? Can I connect the data lines of this panel directly to an Arduino Due, or do I need a level shifter?

    • Using 3.3V logic with the panel at 5V usually works, but not always. Using no level shifting won't hurt anything, but to work reliably level shifting is required. Unfortunately level shifting does nothing to solve the ghosting problem; that one continues to haunt me.

      • Embedded Creations / about 9 years ago / 1

        Can you share some details on when it didn't work at 3.3V? What was your microcontroller and what was the wiring like? (long wires?) What stopped working?

        By ghosting, do you mean faint lights in pixels that shouldn't be lit? These show up in the same columns as other lit pixels, and I think are a side-effect of the panel multiplexing the LEDs, and probably not something that can be fixed.

    • Embedded Creations / about 9 years ago / 1

      I'm driving these panels with a Teensy 3.1 at 3.3V, and have had no issues.

  • Member #592619 / about 9 years ago / 1

    To GhOON

    RoHS - one of the transient implementation . If your project is private - you can use non-RoHs componrents as these on offer/sale within UK . IF the project is for manufacture - start with RoHs - then cannot be wrong

  • PatrickSK / about 9 years ago / 1

    is there a way to connect thes directly to a computer without a micro? Is there such a thing as an IDC to serial converter cable? Would like to daisychain a few of these but worried about RAM.

    • Member #466449 / about 9 years ago / 1

      Even if you could connect ONE of these to a computer via serial, you'd be very limited in terms of either refresh rate or color depth.

      At 115200 baud, if you were driving it at 3-bit color depth (where you only have 7 basic colors, that is, blue, green, cyan, red, violet, yellow and white), you'd get 37.5 Hz refresh rate, which is pretty good, however you don't use the full color capabilities of the matrix; but try to use even 12-bit color depth and the refresh rate will drop dramatically to ~9.4 Hz, which sucks, because the display would flicker too badly.

      Try to do something similar to what's suggested on the tutorial recommended above, you'll actually need a micro (specifically a Teensy 3.1) but as far as I know it's the only way to hook one up to a computer.

  • SebiR / about 10 years ago / 1

    Are there any technical documents about the dimensions and especially about the hole distances?

    • ktmglen / about 9 years ago / 1

      Nothing official, but I built an aluminum panel to hold six of these using Front Panel Express and their free design software. Check out the mechanical directory in my github repository for the .fpd files. Complete project description on my blog.

  • Member #557160 / about 10 years ago / 1

    How bright are these?

  • twam / about 10 years ago / 1

    Does someone know the exact name/vendor of the power connector?

    • Embedded Creations / about 10 years ago / 1

      Take a look at the comments for the 16x32 display, there's two sources listed there. Search for "TE Connectivity" to pull the comment thread up.

      • twam / about 10 years ago / 1

        Thanks. I'm actually searching for the connectors on the cable to build my own cables, but the posts you referred to are very helpful.

  • Boggy / about 10 years ago / 1

    Does anyone know if there is an impulse diagram ( http://upload.wikimedia.org/wikipedia/commons/8/85/JK_FF_impulse_diagram.png) available for those modules? This would make developing the code for a FPGA a lot easier.

    • BitBar / about 9 years ago / 1

      So, did you ever find the impulse diagram? I am on the same page as you, a library is cute and all, but I don't really want to spend hours reverse engineering how that code works.

  • Hi I want to use it with GHI Fez Raptor and Mikro FrameWork using C# , can anybody help me please , thanks

  • Member #440586 / about 10 years ago / 1

    I wrote a program for the teensy3.1 but the adafruit rgbpanel library wont properly compile does anybody know why this is?

    • Member #58695 / about 10 years ago / 1

      This took me a while (several hours) and I completely missed the basics adafruit is for AVR not ARM Processors :( so the timer code is not compatible more information below. http://forums.adafruit.com/viewtopic.php?f=47&t=48018

  • ktmglen / about 10 years ago / 1

    I'm driving one of these panels with a BeagleBone Black and a LogiBone FPGA (Xilinx Spartan 6 LX9) board. I could take it to 6 to 8 panels pretty easily.

  • DaveAK / about 10 years ago / 1

    Received my panels today. Just a couple of comments, (not complaints!). Why two ribbon cables? Only one is needed, even if daisy chaining. The distance between the two power connectors on the power cable is just a little too short to connect two panels using the same cable. It's one of those cases when an extra inch makes all the difference. Other than that not much else to say. They're pretty much as you'd expect and work just like advertised. :D I do have a couple of 16x32 panels from Adafruit and the only real difference that I can see is that the horizontal ribs between each row of LEDs are significantly raised on the panels Adafruit supplied me, where as these from Sparkfun are barely above the face of the LED, (which is actually better for my application).

  • Embedded Creations / about 10 years ago / 1

    I’m working on a library for the Teensy 3.1 to drive these panels using DMA. I have an early version that’s able to produce 24-bit color with low CPU usage. I expect to have the library along with an Open Hardware adapter board released in about a month. If you’re buying one of these panels I suggest you pick up a Teensy 3.1 over an AVR-based Arduino to drive them, the Teensy 3.1 is much more capable.

    I’m posting on my project here: http://dangerousprototypes.com/forum/viewtopic.php?f=56&t=6125&p=56311

  • Anybody know which screws will work with these panels. There are 8 screw-holes around the perimeter of the board.

  • jcholton / about 10 years ago / 1

    I'm looking at powering one of these with a battery pack. Anyone have any ideas as to how to do this?

  • Dreaded Boss / about 10 years ago / 1

    Does anybody know how the bitmap header file relates to the colors on the panel? I know that every 96 hex numbers represent a row's values for red, green and blue for each pixel but the numbers aren't intuitive to me.

  • DaveAK / about 10 years ago / 1

    Glad to find this! I have one of these running a Game of Life on my desk right now. Didn't know Sparkfun were selling them now. And at such good prices. I'll be buying more just as soon as they're in so I can expand my display!

  • structuresound / about 10 years ago / 1

    Just checking in, the sidebar said more were expected Jan 15th, now says 29th. Any info about the nature of the delay? Just wondering what my chances are for getting some by early feb . . .

    • It takes ages to get things from China. And for an order of 500, they are no doubt trying to gather all of the pieces. Its been in my experience that when you buy from china say through alibaba, most of the sellers don't have enough stock on hand for a large order.

      • Member #592619 / about 9 years ago / 1

        I had no problems - but then I WAS on Hainan , did have Chinese friend - and he used his chinese credit card , which I repaid on . Took five days Part of problem - the chinese ARE learning english , has to be shipped by container and ""yours"" is a small item . Also the Chinese as all of Far East - absolutly loathe loosing face . YOU have to work around tha

    • DaveAK / about 10 years ago / 1

      Now says Feb 12th. :( Maybe March?

  • Member #440586 / about 10 years ago / 1

    I want to control this with a teensy3.1 but it runs on 3V and the panel is running on 5V for me. Would this affect the analog pins on the teensy and how can I solve this?

    • Member #592619 / about 9 years ago / 1

      To be safe - construct interface - 3v output to 5 v system - transistor amplifier - a CMOS chip will switch , whilst output from 5v to 3v - resistor network , voltage divider . Get it working even if badly and slowly - then adjust

    • sbbrain / about 10 years ago * / 1

      It works fine. Here I've got an example running at 5 bits of color. http://www.penguintech.info/2014/teensy-3-1-16x32-rgb-led-panel/

  • linuxjacques / about 10 years ago / 1

    It's best to inspect these before applying power. One of mine's power connector has three pins ground and one pin Vcc. Some of the other hand-soldered connectors don't look too good either. Yet it has the "QC Passed" sticker right on it. :-|

  • Member #295011 / about 10 years ago / 1

    This might be a little too involved for just a simple answer, but would anyone have any idea about how these LEDs might be able to be interacted with 'directly'? Is there a straightforward way to align buttons over these, for functionality like a Monome? Or maybe lay a touchscreen over it and code the input to interact with the panel?

    Maybe more of a request to brainstorm than a question. But any ideas would be appreciated.

  • Blacklab1 / about 10 years ago / 1

    Q: why doesn't S.F. come up with an Arduino shield adaptor board so you don't have to play with all the jumper wires? means your less likely to have one of the jumper wire coming loose.

    • DaveAK / about 10 years ago / 1

      Here's a backpack kit for a 16x32 panel which is basically just an ATmega328 and can be programmed using the Arduino IDE:


    • Member #440586 / about 10 years ago / 1

      It's probably because arduino's aren't ideal to drive these 16 MHz is barely fast enough to drive one. If you want to use arduino I would suggest the teensy 3.1 it has 72 MHz.

  • stephan schulz / about 10 years ago / 1

    is this an item you will stock again once these 35 units are sold or this is a one time thing?

    • MikeGrusin / about 10 years ago / 2

      We hope to keep stocking them, although we are sometimes blindsided by supply issues beyond our control. We generally don't offer limited-run items unless it's a misship etc. and we try to be very clear about that in the description.

  • Tejon / about 10 years ago / 1

    There's some way to use with the Raspberry Pi/Beaglebone Black/PCDuino?

    • minisimon / about 10 years ago * / 1

      It works with the Raspberry Pi as well. I got mine working with https://github.com/hzeller/rpi-rgb-led-matrix (there's a pin connection guide in the comments). Thanks Henner Zeller! Oh, and it works fine without level shifting, even when I'm powering the panel with 5V.

    • chrwei / about 10 years ago / 1

      beaglebone has been done http://forums.adafruit.com/viewtopic.php?f=47&t=45032&p=225577&hilit=beaglebone#p225577

    • MikeGrusin / about 10 years ago / 1

      From the hookup guide it looks like you need a maximum of 13 pins (plus ground) to talk to these panels, so hardware-wise any of the above platforms should be able to handle it. The software would need to be written though. Any takers?

      • Embedded Creations / about 10 years ago / 1

        This project is using the Beaglebone Black to drive 8 displays. I believe it is capable of driving even more than that:


      • jasondoe12345 / about 10 years ago / 1

        If I get one, I could write one for the BeagleBone using the PRU. Similar code for the WS2811 exists.

      • opensourcerer / about 10 years ago / 1

        i could write a library for the raspberry pi, although it may take a while... gotta study for my finals.

        • opensourcerer / about 10 years ago / 2

          oh and i also need to buy the thing. thats important too

  • Favicons are 16x16; you could put the most recent four up. Would have to parse that from the browser and send it up via serial/usb...Hmmmm... how would you do it?

  • girlinmotio / about 10 years ago / 1

    Could be a great way to display bus arrival times, weather and more while sipping coffee and getting ready to put in contacts.

  • Is there any information as to what those chips are on the back?

    • jimblom / about 10 years ago * / 4

      Kinda sorta. They're all from some weird Chinese brand (Chipone?). There are 12 16 output current-sink LED drivers -- similar to a TLC5925. Those control matrixed rows of red, green, and blue LEDs. The R0, G0, B0, R1, G1, B1, CLK, OE and STB inputs run into those.

      There's also a pair of something like 74HC138 3-8 demuxes, which is what the A, B, C, and D inputs run into. Those select the common anode columns in the matrix.

Customer Reviews

4.3 out of 5

Based on 8 ratings:

Currently viewing all customer reviews.

2 of 2 found this helpful:

The makings of an LED Wall

I just finished a long day of assembly putting 35 of these together into a LED wall and they look great! Not too bright, not too dim. I am using them with the controller they sell over at Adafruit and if you load in the LED cube setup file, these work without a hitch, getting pixels right from your DVI cable.

2 of 2 found this helpful:


Once wiring up a shield to work with the Arduino Mega, it didn't take long to modify the scrolltext_16x32 example code to work with the 32x32. I was a little worried because there was some odd flashing (blinking) going on. But, then after turning double buffering on the flashing went away. The text was changed to say "Happy New Year!!" and setTextSize(4) was used to have full almost 32 LED height lettering. The screen was going rather slowly, but by changing the loop to only show one of the bouncing balls, the speed became acceptable. Now, the brightness was at 255 (100%), so changing the brightness down to 128 (50%) calmed down the letters.

So, now I have a great "Happy New Year!!" display with a single bouncing ball showing in my office cubicle now :) Several people have already commented on how cool it was.

Unusual mystery: The display has a power connector, but oddly the display started running without the power plugged in. The display was working just from the data signal cable being connected. This is very unusual since there is no direct power signal going to the display control connector. Somehow, the display is using parasitic power from the control cable. The display is not at full brightness, but it looks ok for my purpose at the moment. This is probably not healthy for the Arduinino which is driving the power through one or more of the control lines. I won't push my luck and keep it running this way, but the Arduino and display worked overnight without power being applied directly to the display.

Pros: Fairly easy to setup and use for simple hard coded scrolling text display example. The Arduino Libraries get you started with little effort. Cons: The Arduino is pushed to its limits doing animation using the provided libraries. It would be better to use a hardware assisted solution for any major animation. This is partly due to the Arduino, but also because how the display needs data pumped into it. Perhaps one of the faster Arm boards would handle this better.

Only 4 of 5 stars given because a significant amount of cpu power is needed for a software only solution to driving it. The more animation needed, the more likely you will need to use a hardware (FPGA) solution to driving the display. Otherwise, the display is great.

I am now considering using several of these displays for a display wall. Arduinos will have to be abandoned for this though.

Here are the modifications made to scrolltext_16x32 example program to make it say "Happy New Year!!" in big smooth scrolling letters.

1) To use the Arduino Mega 2560, change CLK, LAT and D to use pin 11, 10 and A3 respectively... #define CLK 11 #define LAT 10 #define D A3

2) For Large Text, a) Add #define TextFactor 4 b) Change the line with textMin to: textMin = - ( sizeof(str) * TextFactor * 6), c) Change the line with setTextSize to... matrix.setTextSize(TextFactor);

3) To setup for 32x32 and double buffering (which removes the flicker), Modify the RGBmatrixPanel constructor's statement to ... RGBmatrixPanel matrix(A, B, C, D, CLK, LAT, OE, true);

4) To reduce to a single bouncing ball. This can be done many ways, I simply changed the 'for' statement to this... for(i=2; i<3; i++) {

5) To say "Happy New Year!!"... const char str[] PROGMEM = "Happy New Year!!";

6) To reduce the brightness, reduce the value of the 3rd parameter to ColorHSV... matrix.setTextColor(matrix.ColorHSV(hue, 255, 128u, true));

1 of 1 found this helpful:

Easy to use and definitely worth the money

The sample sketches are great. The board takes only a few minutes to set up an works like a charm! The pins might be a bit confusing, I'd recommend the set up guide on the adafruit website.

1 of 1 found this helpful:

RGB LED Panel - 32x32

Very nice matrix. It is working with an Arduino Uno very well. It is slow due to the clock speed of the arduino but it was expected. The challenge is to enable the board with an FPGA and also the Intel Edison/raspberry.

32x32 rgb led panel

The panel claims to consists of a 32x32 matrix of rgb LEDs. Mine arrived wth exactly 32 rows and precisely 32 columns, so clearly someone there is keeping a close eye on things. In today's dynamic economy, it's nice to get exactly what you paid for. This product was nice in that way.

0 of 1 found this helpful:

LED Panels

Many thanks for all your help and support. We received the parcel only three days after ordering the items. All Great really what else can I say!...

Great until it breaks

The panel looked amazing when I first hooked it up for a uni project and I worked everything out it was all working fine then I went to test again it failed. No light nothing. I then was glad I bought a second one as a spare but that didn't work at all so a very expensive piece of equipment to fail. Worst of all my project is due in 1.5 weeks and I no longer have a panel to show. I have emailed in but have got no response I would like both to be replaced immediately so I can show my project.

With your unit working originally, then stopping, and your second unit also not working, it would appear that there may be an issue locally that is causing failure or is incorrectly setup. Our support team will be able to assist you. In the event it is determined these are defective, they can help you with a replacement.

very bright !

easy to use thanks to the published library. Very sturdy build, excellent quality.