TinyPICO is the world’s smallest, fully-featured ESP32 development board, designed to give you access to the power of the ESP32’s dual core 240 MHz processor and internet connectivity, all in a package smaller than your thumb - and now it’s even thinner!
There are quite a few ESP32 boards on the market, but they all require you to compromise on one or more features. Some don’t have on-board battery management, while some do but they don’t have low deep sleep current. Others have great low-power modes, but are large and not breadboard-friendly, and none of them have extra RAM unless you go for a more expensive and larger WROVER-powered board.
We just weren’t happy with the status quo - we wanted to have our cake and eat it too!
So we designed the smallest un-compromising ESP32 development board in the world, and then went a step further and gave it 4 MB of extra RAM, an on-board RGB LED, and more juice with a 700 mA 3.3 V regulator. Then we made some shields for it.
There’s no doubt we’ve been a little over-obsessed with how small TinyPICO is and one thing that has always been simmering in the back of our minds was the question "could we make it even smaller?".
Smaller in length and width would mean a different form factor, and we didn’t want to change that, but something we could reduce was how thick it was, so TinyPICO V2 is now a single-sided board (battery JST connection excluded).
To make this change we had to move to a new smaller 3D antenna and shuffle everything around a little, but in doing this we also gained enough room to add a reset button!
TinyPICO V2 is no different from V1 in any functional way, apart from being single-sided and sporting a reset button. It was very important to us to ensure this was an improvement and not a replacement.
Until you hold it in your hand, you really can’t appreciate just how small the TinyPICO is.
TinyPICO ships with mainline MicroPython pre-installed and supports Arduino IDE and Espressif IDF, so you have the flexibility to code the way you want.
We have been working hard behind the scenes on MicroPython and Arduino C++ helper libraries for TinyPICO as well as collecting and even writing MicroPython libraries for all the hardware we use on our shields.
We have basic coding examples on our TinyPICO website and all of our libraries are being added to the TinyPICO GitHub repository.
TinyPICO has been designed with two isolated power paths: a 5 V path and a 3.3 V path. Any components that are not needed for operation via battery or via the 3.3 V power pin are isolated within the 5 V power path, and are totally shut down when no USB cable is plugged in.
In-fact, even the power & charge LEDs are shutdown when no 5 V power source is present.
Deep sleep has been optimised for all development platforms, and though we have seen it go as low as 10 uA, our official current rating in deep sleep is 18 uA.
Note: TinyPICO includes an on-board APA102 RGB LED that has a quiescent current of 1 mA.
Thankfully we have a solution for deep sleep. GPIO13 controls the power to the APA102 using a PNP transistor via a high-side switch, so taking GPIO13 high shuts down power to the APA102. It’s essential to do this before going into deep sleep to ensure the lowest current draw possible.
In MicroPython, it’s also required to shutdown GPIO2 and GPIO12 (DATA and CLK for the APA102) as MicroPython uses IDLE HIGH as the default clock state, so you can get current leakage via the CLK or DATA, even with no power to the APA102 directly. We have created some helper functions for you in our TinyPICO MicroPython helper library to make this easy.
We love open source hardware! Seon started his electronics journey digging through schematics and board layout files from the likes of Adafruit, Sparkfun, and many others, and it’s only fitting that we now gave back to the community by making TinyPICO fully open source.
All hardware is released under the CERN open hardware license, so please make yourself familiar with it before you decide to fork or use the files.
All software is released under the MIT open software license, so again, please make yourself familiar with it before you decide to fork or use the files.
All of the design files for the TinyPICO and all of the shields shown here are available from the TinyPICO GitHub repository.
Each TinyPICO comes in an anti-static bag that includes:
The headers and JST connectors come loose, so you can chose which you would like to use and solder those on yourself.
Why do we ship with two different JST connectors? The smaller MicroBlade connector is becoming more popular because of how small it is, but many of you (like us) already have LiPo batteries with the PH connectors on them, so we decided it was just nicer for us to provide both, so you can choose which one suits you best.
We have an assortment of shields available for TinyPICO, and others in the community are designing shields and plugin boards too.
We will be keeping a list of all add-on boards and shields being made for the TinyPICO on our TinyPICO website.
All shields come with appropriate headers, but they are loose, so some soldering is required.
The Play Shield was designed to be a multi-purpose board that can be used for all sorts of activities like prototyping output, experimentation, and even games. It has lots of goodies on it, including:
If you power the Play Shield and TinyPICO from the shield JST connector, you can use the slide switch on the shield to power down everything. Make sure you have the switch turned on, though, if you want to charge the battery when the USB cable is plugged in.
The Audio Shield brings the noise with:
Audio-in is connected to GPIO25, one of the two DACs (Digital to Analog Converter) and GPIO4 is connected to the amplifier (PAM8301) to allow you to shut down power to the amp to reduce current… ideal when running off battery.
Accurate timing is important with electronics! The RTC Shield helps with that - featuring:
Grove is an incredibly convenient connection system with a large ecosystem of add-on boards. The Grove I²C Shield lets you quickly tap into that ecosystem:
Note: Grove connectors can be used for more than just the I²C protocol, and though you can technically connect other protocol Grove devices to this shield, it’s not recommended or supported by us.
Sometimes you just want to add a few small components to a project, and pulling out the perfboard seems like too much hard work. Yes, that’s how we feel too! Also, how often is it simply a button or two that you want to add?
The Proto Shield gives you the space to do just that, but with two buttons already on and wired up to GPIO14 and GPIO15 so you can skip that step. It also breaks out the reset button as a convenience.
The 3 Up shield is a simple and convenient way for you to connect a TinyPICO and two other shields together without needing to go to a breadboard or use stackable headers.
The shield also comes with a 3D-printed base for it to sit on, so that you won’t scratch your desk from the header socket solder joints!
The Espressif PICO-D4 is a very powerful SIP (System In a Package) for its size, and when running Wi-Fi continuously it gets hot, and because the TinyPICO is small, there is not a lot of place for heat to transfer to.
This is nothing to be alarmed about though. Even when running hot, everything is well within spec. It’s just something we wanted everyone to be aware of.
If you need to keep Wi-Fi active for long periods of time, like for a soft-ap setup, make sure you don’t enclose your TinyPICO in a small case that has no air flow, and maybe even consider adding a small heatsink to the board to help with heat transfer.
We built a custom TinyPICO Flashing & Testing Jig, and every TinyPICO goes through the test jig twice.
Note: TinyPICO V1 shown here.
Each time through the test sequence we perform the following:
We are pretty serious about making sure every TinyPICO works great.
"Unexpected Maker’s new TinyPICO ESP32 stands out, because it’s significantly smaller than any other board on the market."
"The designers of the board wasn't satisfied with the existing ESP32 boards that compromised some of it's features, so they decided to build TinyPICO by adding a set of new capabilities."
"You can easily fit TinyPICO into even the smallest projects in order to gain all of the benefits of the ESP32."
Produced by Unexpected Maker in Melbourne, Australia.
Sold and shipped by Crowd Supply.
Your very own TinyPICO V2 with MicroPython pre-installed. Comes with unassembled male headers, stackable headers, a JST PH battery connector, and a JST MicroBlade battery connector.
A Shield Pack for your Tinypico: you'll receive an Audio Shield, an RTC Shield, an I²C Grove Shield, a Proto Shield and a side-by-side 3 Up Shield + all headers.
I've spent my life sitting in front of a computer screen for work and for play and recently I decided I wanted to do more things with my hands... electronics, woodworking or 3D printing... I don't mind what it is, so long as I am not staring at a computer screen. Please join me on my journey as I make and break projects, discover new things, and hopefully inspire you to go out and make something too!