# Introducing our new firmware library manager!

**URL:** <https://community.particle.io/t/introducing-our-new-firmware-library-manager/28790>\
**Category:** Particle Updates\
**Created:** [January 23, 2017, 6:22pm UTC](https://community.particle.io/t/introducing-our-new-firmware-library-manager/28790 "2017-01-23T18:22:07Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![will](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/will/32/23374_2.png) [@will](https://community.particle.io/u/will)\
**Post date:** [January 23, 2017, 6:22pm UTC](https://community.particle.io/t/introducing-our-new-firmware-library-manager/28790/1 "2017-01-23T18:22:07Z")

</div>

##Introducing our new firmware library manager!

![](https://us1.discourse-cdn.com/flex026/uploads/particle/original/2X/5/50b1b71d893aedc2c7e32164b2b4c720051901d4.png)

Firmware libraries are an important part of how you connect your Photon or Electron to sensors and actuators. Collecting temperature data from your garage? Buy a DS18B20 sensor and add the DS18B20 firmware library to your Particle project.

Particle has a library manager in our Web IDE, and it’s used quite a bit. It now includes:

- **7 Particle-built libraries** for hardware like the Internet Button and Asset Tracker
- **371 community-built libraries** for popular sensors, actuators, and communication protocols

In total, these libraries have been imported into Particle projects more than _82,000 times!_ That’s a lot.

We’re pleased to announce that today **we’re launching our new and improved firmware library manager** , which brings several improvements the experience of using libraries with Particle devices, including:

- **Support in all our IDEs:**  
Support for the Particle library manager in our web IDE, desktop IDE, and command line interface (CLI)

- **Improved Arduino library compatibility:**  
Most Arduino libraries can now be copy/pasted into our library manager without modification

- **Libraries with dependencies:**  
Add one library to your Particle project and if it requires others, they’ll be included automatically

- **Verified libraries:**  
Libraries that have been tested for ease-of-use and completeness by the Particle team to ensure a high quality development experience

- **API access** :  
Libraries can be accessed through the Particle Cloud API, so you can build plugins for other popular IDEs to access our firmware library manager

Want to try out the new firmware library manager? Login to our updated [Web IDE](https://build.particle.io/?utm_source=email&utm_campaign=Libraries_Announce&utm_medium=email) or download the latest versions of our [Desktop IDE](https://www.particle.io/products/development-tools/particle-local-ide?utm_source=email&utm_campaign=Libraries_Announce&utm_medium=email) and [CLI](https://www.particle.io/products/development-tools/particle-command-line-interface?utm_source=email&utm_campaign=Libraries_Announce&utm_medium=email).

Looking for more info? Check out our [blog post](http://blog.particle.io/2017/01/23/particle-libraries/?utm_source=email&utm_campaign=Libraries_Announce&utm_medium=email) for more details on the awesome features included with our new firmware library manager.

[**READ THE BLOG POST**](http://blog.particle.io/2017/01/23/particle-libraries/?utm_source=email&utm_campaign=Libraries_Announce&utm_medium=email)

Enjoy!

The Particle Team

---

<div class="post-metadata">

**Author:** ![keithrussell](https://avatars.discourse-cdn.com/v4/letter/k/a4c791/32.png) [@keithrussell](https://community.particle.io/u/keithrussell)\
**Post date:** [January 23, 2017, 11:48pm UTC](https://community.particle.io/t/introducing-our-new-firmware-library-manager/28790/2 "2017-01-23T23:48:08Z")

</div>

I use the Web IDE. The only difference I have seen with the new firmware library manager is that the Verified Libraries have disappeared.

---

<div class="post-metadata">

**Author:** ![kennethlimcp](https://avatars.discourse-cdn.com/v4/letter/k/c0e974/32.png) [@kennethlimcp](https://community.particle.io/u/kennethlimcp)\
**Post date:** [January 24, 2017, 12:01am UTC](https://community.particle.io/t/introducing-our-new-firmware-library-manager/28790/3 "2017-01-24T00:01:01Z")

</div>

Do you see this: [https://build.particle.io/build/new#libraries](https://build.particle.io/build/new#libraries)

 ![](https://us1.discourse-cdn.com/flex026/uploads/particle/original/2X/3/3cba64e10b66d51ab2e35380ff4caebef34743b0.png)

Description here: [https://docs.particle.io/guide/tools-and-features/libraries/#kinds-of-libraries](https://docs.particle.io/guide/tools-and-features/libraries/#kinds-of-libraries)

---

<div class="post-metadata">

**Author:** ![csnbailey](https://avatars.discourse-cdn.com/v4/letter/c/8491ac/32.png) [@csnbailey](https://community.particle.io/u/csnbailey)\
**Post date:** [January 24, 2017, 12:08am UTC](https://community.particle.io/t/introducing-our-new-firmware-library-manager/28790/4 "2017-01-24T00:08:46Z")

</div>

Are all of the library dependencies definitely linking? I’m getting messages like the following:

lib/Adafruit\_HX8357/src/Adafruit\_HX8357.h:21:46: fatal error: …/Adafruit\_mfGFX/Adafruit\_mfGFX.h: No such file or directory  
#include “…/Adafruit\_mfGFX/Adafruit\_mfGFX.h”  
^

I included both Adafruit\_mfGFX and Adafruit\_HX835 in my script. Is the “…/” the problem?

I didn’t have this problem just yesterday. Please help!

Christian

---

<div class="post-metadata">

**Author:** ![kennethlimcp](https://avatars.discourse-cdn.com/v4/letter/k/c0e974/32.png) [@kennethlimcp](https://community.particle.io/u/kennethlimcp)\
**Post date:** [January 24, 2017, 12:20am UTC](https://community.particle.io/t/introducing-our-new-firmware-library-manager/28790/5 "2017-01-24T00:20:28Z")

</div>

> [@csnbailey](#):
>
> `#include "../Adafruit_mfGFX/Adafruit_mfGFX.h"`

did you include this manually? When you add a library to your user app, the statement would be automatically inserted.

Try: `#include "Adafruit_mfGFX/Adafruit_mfGFX.h"`

---

<div class="post-metadata">

**Author:** ![csnbailey](https://avatars.discourse-cdn.com/v4/letter/c/8491ac/32.png) [@csnbailey](https://community.particle.io/u/csnbailey)\
**Post date:** [January 24, 2017, 12:33am UTC](https://community.particle.io/t/introducing-our-new-firmware-library-manager/28790/6 "2017-01-24T00:33:13Z")

</div>

I used the IDE to include library rather than adding it manually. I tried the code change you provided in my script, but it didn’t help.

The error is coming out of the Adafruit\_HX8357.h library that is built into the IDE. That library can’t find the mgGFX library and I don’t believe I can change the code in a built-in library right?

---

<div class="post-metadata">

**Author:** ![kennethlimcp](https://avatars.discourse-cdn.com/v4/letter/k/c0e974/32.png) [@kennethlimcp](https://community.particle.io/u/kennethlimcp)\
**Post date:** [January 24, 2017, 12:44am UTC](https://community.particle.io/t/introducing-our-new-firmware-library-manager/28790/7 "2017-01-24T00:44:28Z")

</div>

Hmm… Seems like you need to include the `Adafruit_mfGFX` library as well. and revert the path to `#include "../Adafruit_mfGFX/Adafruit_mfGFX.h"`

---

<div class="post-metadata">

**Author:** ![csnbailey](https://avatars.discourse-cdn.com/v4/letter/c/8491ac/32.png) [@csnbailey](https://community.particle.io/u/csnbailey)\
**Post date:** [January 24, 2017, 12:56am UTC](https://community.particle.io/t/introducing-our-new-firmware-library-manager/28790/8 "2017-01-24T00:56:40Z")

</div>

Ok, I’ve tried all of these statements in varying combinations:

```
// This #include statement was automatically added by the Particle IDE.
#include <Adafruit_HX8357.h>

// This #include statement was automatically added by the Particle IDE.
// #include <Adafruit_mfGFX.h>

#include "Adafruit_mfGFX/Adafruit_mfGFX.h"
#include "../Adafruit_mfGFX/Adafruit_mfGFX.h"

```

 ![](https://us1.discourse-cdn.com/flex026/uploads/particle/original/2X/8/860d0a76417b7ee062848f7cb17ee5e923731f37.JPG)

---

<div class="post-metadata">

**Author:** ![csnbailey](https://avatars.discourse-cdn.com/v4/letter/c/8491ac/32.png) [@csnbailey](https://community.particle.io/u/csnbailey)\
**Post date:** [January 24, 2017, 12:58am UTC](https://community.particle.io/t/introducing-our-new-firmware-library-manager/28790/9 "2017-01-24T00:58:00Z")

</div>

![](https://us1.discourse-cdn.com/flex026/uploads/particle/original/2X/a/afd73592bf900fa0e4534153811604ca7cc0671c.JPG)

---

<div class="post-metadata">

**Author:** ![ScruffR](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/scruffr/32/6952_2.png) [@ScruffR](https://community.particle.io/u/ScruffR)\
**Post date:** [January 24, 2017, 7:22am UTC](https://community.particle.io/t/introducing-our-new-firmware-library-manager/28790/10 "2017-01-24T07:22:49Z")

</div>

This `Adafruit_HX8357` library is my port that I haven't yet migrated to Libraries v2.0 😊  
I'll do it ASAP an report back when done.

Thanks for the heads-up 👍

Meanwhile you could try a previous version of the `Adafruit_mfGFX` library that wasn't yet migrated to v2.0.  
You can do that by clicking on the _(i)_ icon next to the library name and then clicking on the previous version number.

* * *

_Update:_  
I've got the fix, but currently have problems uploading the new release due to some unexpected issue

> [@Library upload broken? \[CLI 1.19.0-libraries.22\] \[was solved v23, but back in 1.19.1\]](https://community.particle.io/t/library-upload-broken-cli-1-19-0-libraries-22-solved-v23/28168/6):
>
> @jvanier, I’ve just tried to particle library upload a migrated lib and got this for it on CLI 1.19.1 $\Particle\Adafruit\_HX8357\>particle library upload Network error from https://api.particle.io/v1/libraries That used to work with 1.19.0-libraries.23 Update: Strangely enough I was able to upload another (smaller) migrated library just fine, but this one doesn’t want to be uploaded for some reason [https://dl.dropboxusercontent.com/u/60050879/Adafruit\_HX8357.zip](https://dl.dropboxusercontent.com/u/60050879/Adafruit_HX8357.zip) Update: I found the reaso…

---

<div class="post-metadata">

**Author:** ![ScruffR](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/scruffr/32/6952_2.png) [@ScruffR](https://community.particle.io/u/ScruffR)\
**Post date:** [January 24, 2017, 2:12pm UTC](https://community.particle.io/t/introducing-our-new-firmware-library-manager/28790/11 "2017-01-24T14:12:21Z")

</div>

@csnbailey, I’ve just uploaded the new version 0.9.3 of the `Adafruit_HX8357` lib.  
Can you remove the library from your project (and also `Adafruit_mfGFX`) and and reimport _only_ `Adafruit_HX8357` and see if it works now?

---

<div class="post-metadata">

**Author:** ![csnbailey](https://avatars.discourse-cdn.com/v4/letter/c/8491ac/32.png) [@csnbailey](https://community.particle.io/u/csnbailey)\
**Post date:** [January 24, 2017, 8:21pm UTC](https://community.particle.io/t/introducing-our-new-firmware-library-manager/28790/12 "2017-01-24T20:21:43Z")

</div>

OK, everything compiles now without an error. Thanks!

Christian

---

<div class="post-metadata">

**Author:** ![csnbailey](https://avatars.discourse-cdn.com/v4/letter/c/8491ac/32.png) [@csnbailey](https://community.particle.io/u/csnbailey)\
**Post date:** [January 24, 2017, 8:27pm UTC](https://community.particle.io/t/introducing-our-new-firmware-library-manager/28790/13 "2017-01-24T20:27:23Z")

</div>

I’m guessing some of the other libraries haven’t been updated. For example, I’m running into the same issue using the Spark-Dallas-Temperature library, and it cannot find the OneWire library.

---

<div class="post-metadata">

**Author:** ![ScruffR](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/scruffr/32/6952_2.png) [@ScruffR](https://community.particle.io/u/ScruffR)\
**Post date:** [January 24, 2017, 9:06pm UTC](https://community.particle.io/t/introducing-our-new-firmware-library-manager/28790/14 "2017-01-24T21:06:00Z")

</div>

Yup, in that case importing the missing lib should still work.

---

<div class="post-metadata">

**Author:** ![rjones33](https://avatars.discourse-cdn.com/v4/letter/r/82dd89/32.png) [@rjones33](https://community.particle.io/u/rjones33)\
**Post date:** [January 28, 2017, 7:21am UTC](https://community.particle.io/t/introducing-our-new-firmware-library-manager/28790/15 "2017-01-28T07:21:00Z")

</div>

Using the previous version number worked for me WRT: OneWire and dallas. FYI and Thank You!

rjones

---

<div class="post-metadata">

**Author:** ![ScruffR](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/scruffr/32/6952_2.png) [@ScruffR](https://community.particle.io/u/ScruffR)\
**Post date:** [January 28, 2017, 7:47am UTC](https://community.particle.io/t/introducing-our-new-firmware-library-manager/28790/16 "2017-01-28T07:47:50Z")

</div>

The `OneWire` library is here  
[https://build.particle.io/libs/OneWire/2.0.1](https://build.particle.io/libs/OneWire/2.0.1)

I have just noticed (with other libraries too) that the samples don’t build out the box.  
But when you just change something on the code and save that change the sample builds - rather confusing, but give it a try

---

<div class="post-metadata">

**Author:** ![Fragma](https://avatars.discourse-cdn.com/v4/letter/f/5fc32e/32.png) [@Fragma](https://community.particle.io/u/Fragma)\
**Post date:** [January 28, 2017, 11:01pm UTC](https://community.particle.io/t/introducing-our-new-firmware-library-manager/28790/17 "2017-01-28T23:01:06Z")

</div>

How do you remove a legacy library from a project in the WebIDE? The X button that used to appear next to each of them no longer shows for me in Chrome.  
 ![](https://us1.discourse-cdn.com/flex026/uploads/particle/original/2X/6/6f2d07f10f105ce2cec009ce4f81c220a6cd8562.png)

---

<div class="post-metadata">

**Author:** ![ScruffR](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/scruffr/32/6952_2.png) [@ScruffR](https://community.particle.io/u/ScruffR)\
**Post date:** [January 29, 2017, 11:27am UTC](https://community.particle.io/t/introducing-our-new-firmware-library-manager/28790/18 "2017-01-29T11:27:36Z")

</div>

That’s an open issue

> <https://github.com/particle-iot/particle-dev/issues/180>

But you can try with FireFox

---

<div class="post-metadata">

**Author:** ![Fragma](https://avatars.discourse-cdn.com/v4/letter/f/5fc32e/32.png) [@Fragma](https://community.particle.io/u/Fragma)\
**Post date:** [January 29, 2017, 5:10pm UTC](https://community.particle.io/t/introducing-our-new-firmware-library-manager/28790/19 "2017-01-29T17:10:10Z")

</div>

Same issue in Firefox and IE; across every project of mine that I tried.

---

<div class="post-metadata">

**Author:** ![will](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/will/32/23374_2.png) [@will](https://community.particle.io/u/will)\
**Post date:** [January 30, 2017, 6:17pm UTC](https://community.particle.io/t/introducing-our-new-firmware-library-manager/28790/20 "2017-01-30T18:17:01Z")

</div>

Hey folks – thanks for reporting this issue. It’s been confirmed and assigned, we should have a fix shortly.

[Next page](https://community.particle.io/t/introducing-our-new-firmware-library-manager/28790.md?page=2)
