Keith Packard, aktiivinen Debian-kehittäjä, X.Org-projektin johtaja ja monien X-laajennusten luoja, mukaan lukien XRender, XComposite ja XRandR, toimitettu uuden standardin C-kirjaston julkaisu PicoLibc 1.1, kehitetty käytettäväksi sulautetuissa laitteissa, joissa on rajoitettu pysyvä tallennustila ja RAM. Kehityksen aikana osa koodista lainattiin kirjastosta newlib Cygwin-projektista ja AVR Libc, kehitetty Atmel AVR -mikro-ohjaimille. PicoLibc koodi jakelija BSD-lisenssillä. Kirjastokokoonpanoa tuetaan ARM- (32-bittinen), i386-, RISC-V-, x86_64- ja PowerPC-arkkitehtuureissa.
Keith Packard aloitti kehityksen sen jälkeen, kun hän ei löytänyt kunnollista Libc-vaihtoehtoa, jota voitaisiin käyttää sulautetuissa laitteissa, joissa on vähän RAM-muistia. Hanketta on kehitetty viime vuodesta lähtien. Ensimmäisessä vaiheessa projekti oli variantti newlibistä, jossa stdion toiminnot korvattiin kompaktilla versiolla avrlibc:stä (newlibin stdio ei sopinut suureen resurssienkulutukseensa). Koska Keithin nykyinen työ sisältää jatkuvaa työtä RISC-V-arkkitehtuurin parissa ja sulautettujen laitteiden työkalujen kehittämistä, hän tarkasteli äskettäin libc-toteutusten tilaa ja totesi, että newlib- ja avrlibc-yhdistelmä voisi olla hyvä yleiskäyttöinen. ratkaisu. Aluksi projekti kehitettiin nimellä "newlib-nano", mutta sekaannusten välttämiseksi Newlib-kirjaston kanssa se nimettiin uudelleen PicoLibc:ksi.
Nykyisessä muodossaan Picolibc on jo tehnyt työtä poistaakseen kaiken koodin, jota ei toimiteta BSD-lisenssillä (tätä koodia ei käytetty sulautettujen laitteiden rakentamisessa), mikä on merkittävästi yksinkertaistanut tilannetta projektin lisenssin kanssa. Paikallisten streamien toteutus on siirretty 'struct _reent':stä TLS-mekanismiin (lankapaikallinen tallennustila). Avrlibc-kirjastokoodista lainattu kompakti stdio-versio on oletusarvoisesti aktivoitu (ATmel-kohtaiset assembler-lisäkkeet kirjoitetaan uudelleen C:ssä). Kokoonpanossa käytettiin Meson-työkalupakkia, joka mahdollisti sen, että se ei ollut sidottu newlib-kokoonpanoskripteihin ja yksinkertaisti muutosten siirtoa newlibistä. Lisätty yksinkertaistettu versio alustuskoodista (crt0), liitetty suoritettavaan tiedostoon ja suoritettu ennen kuin ohjaus siirretään main()-funktioon.
Picolibc-versiossa 1.1:
Lisätty apukirjasto tukemaan tekniikkaa "puolihosting"sallii virheenkorjaus- tai emulaattoriympäristössä ajettavan koodin käyttää isäntäjärjestelmän I/O-mekanismeja;
Järjestelmiin, jotka tukevat järjestelmäkutsujen avaamista, sulkemista, lukemista ja kirjoittamista, tinystdio lisää standardoidut POSIX stdio I/O -liitännät, mukaan lukien fopen- ja fdopen-funktiot, sekä sitomisen stdin/stdout/stderr POSIXin määrittämiin tiedostokuvauksiin;
Viimeaikaiset muutokset newlib-koodikannasta on siirretty. Sisältää lisätyt libm stubs for fenv.h, jota voidaan käyttää järjestelmissä ilman liukulukutukea;
Lisätty esimerkki "Hello world" -sovelluksen rakentamisesta pikolibcilla ARM- ja RISC-V-järjestelmille;
Poistettiin newlib-, libm- ja mathfp-hakemistot, jotka sisälsivät käyttämätöntä kokeellista koodia.