The original Sleepy Pi was introduced over 2 1/2 years ago and has been doing sterling service ever since, finding it’s way to all four corners of the globe. With the 26-pin connector it is compatible with all models of Raspberry Pi.
However, with the introduction of the Raspberry Pi B+ a new 40-pin GPIO and HAT form-factor became the new standard and from that point on Sleepy Pi 2 was on the drawing board. The design has taken about a 1 1/2 years and gone through several conceptual versions before arriving at the version we have today.
Here’s the skinny on it…
HAT Form factor
The Sleepy Pi 2 is designed around the standard HAT form factor and has a 40-pin GPIO. The connectors are the same as those used on the Raspberry Pi Sense HAT and you can change the bottom connector to either a short pin or long pin version (for stacking). I didn’t realise that you could change the connectors and unfortunately a Sense HAT gave up it’s life whilst I was working out how to do the connectors 🙁
The good news is that you can change the header connector to either low profile or stacking without soldering, yay! The further good news is that the boards stack a treat.
Differences to Sleepy Pi 1
Sleepy Pi 1 and Sleepy Pi 2 are broadly similar is high-level function, but there are some important differences and enhancements in the detail.
Increased Voltage Range
Sleepy Pi 1 can accept voltages up to 17V whereas Sleepy Pi 2 will take then up at least 30V (it’s actually around 35V but I haven’t been able to test that – my power supplies top out at 32V) . This can be very useful if you find your Pi in need of being powered from industrial systems which typically run at 24V (as do Armoured Personnel Carriers, so I’m told 🙂 or when connecting to big, nutter, b*****d, solar panels (see SLA Blanket below).
Despite the increase in voltage range the DC-DC converter on-board is still super efficient with consumption generally down to sub-100nA (!) when the Sleepy Pi is asleep. I don’t know of any other Raspberry Pi battery solutions that go this low – one popular mobile battery board (who shall remain nameless) consumes around 25mA when quiescent (which is quite frankly scandalous).
The DC-DC also has an extra bit of spice up it’s sleeve (which attracted it to me) in that it is designed to cope with current pulse surges commonly found when using 3G dongles. Sweet.
Minimising GPIO Pin usage
Sleepy Pi’s generally handshake with the Raspberry Pi over some GPIO lines to signal to the Raspberry Pi that it should shutdown and also to the Sleepy Pi Arduino that the RPi is running. With both versions Sleepy Pi there has always been the option to not use any GPIO other than i2c and use the Sleepy Pi as a smart peripheral. With Sleepy Pi 2 there are solder jumpers to physically disconnect the extra GPIO lines. This is useful for stacking with other HAT’s where there may be a conflict with the same GPIO’s used on the different HATs. Initially the Sleepy Pi 2’s will ship with compatible GPIO setup to Sleepy Pi 1, but this may change as the software support gets developed further.
Continuing on from the theme of minimising Raspberry Pi GPIO impact, the Sleepy Pi 2 has a means of monitoring the current consumption of the Raspberry Pi. The primary reason for including this feature when designing the board was to provide a definitive indicator that the Raspberry Pi had shut down independent of any GPIO handshaking. When the Raspberry Pi shuts down (shutdown -h now) the current drops to below a recognisable level, so you can tell if it’s finished it’s ablutions and you can pull the plug on it.
I have to say now that the feature is in, it’s actually very useful to just monitor the Raspberry Pi current usage. I see a lot of confused chatter online about power supplies, how big they should be and how much the Raspberry Pi actually uses. I tend to forget with my bench power supplies and test gear that this is a mystery to most people. Thus should help.
If you use the Raspberry Pi to develop Arduino code and upload it to the Sleepy Pi, the first thing that the programmer does is to reset the Arduino. If the Arduino is reset, it’s I/O pins all turn into inputs. As one of those is controlling the Raspberry Pi power, the Raspberry Pi gets powered off. Doh! To combat this, there is a jumper that forces the power on when you are developing code.
For Sleepy Pi 2 this is still the preferred way to develop, but there is now the facility for the Raspberry Pi override the Arduino and force the power to itself to be turned on. Mwah-ha,ha. This could be useful for remote applications when you need to update the Sleepy Pi code over air and can’t physically get to it to install a jumper.
Improved RTC – Timers and Alarms
The RTC on Sleepy Pi 1 has a binary counter that acts as a countdown timer. When the counter expires it fires an interrupt, reloads and starts again. This forms a periodic timer facility which is very good at waking the system consistently every hour or day, for example. However, if you wanted to wake it up at a specific time, you had to pull a few programming strokes.
Sleepy Pi 2 has an RTC that includes both a periodic timer and an alarm clock. The alarm clock works as you would expect: if you want to wake up 8.00am on Monday, every Monday you can now do this easily without exercising your programming chops too hard.
The RTC also has a nice feature that allows you to tune the crystal in your exact setup to get maximum clock accuracy. Neat.
Introducing the Blanket System
A major difference with the Sleepy Pi 2 is the Blanket System. No, they’re not shields, or capes or HATs, they’re of course, Blankets for your sleeping Raspberry Pi. Whilst he’s tucked up in beddy-bye-bongo-land, a Blanket will help him sleep.
The Sleepy Pi 2 is designed to be expanded. Rather than have different versions of the Sleepy Pi itself, there will be one standard base unit – the Sleepy Pi 2 and plug-in Blankets to add further functionality.
The first Blanket is the Prototyping Blanket which, due to the lack of real estate on Sleepy Pi 2 over Sleepy Pi 1, has the prototyping area that Sleepy Pi 1 had broken out.
Solar Lead Acid Blanket
The second Blanket (which is in alpha at the moment and will be available soon) is the Solar Lead Acid Blanket. This adds the facility to connect a wide variety of solar panels to the system and charge and serve from a Sealed Lead Acid (SLA) battery together with an SLA gas gauge for accurate capacity monitoring. The intention is that you won’t need a custom solar panel for this, but can use the commonly available ones intended for camping and caravanning.
BTW: among the other Blankets on the drawing board is the Solar Lithium Blanket which takes the place of the Sleepy Pi Lithium that was slated. The SLA Blanket has beaten the Lithium Blanket to the punch, because in practical terms for remote systems, a SLA battery is actually a far better solution – much larger capacity and better temperature stability.
Sleepy Pi 1
Sleepy Pi 1 will still be available and is still the go-to solution for the older 26-pin GPIO Raspberry Pi boards. There are no plans to discontinue it in favour of the Sleepy Pi 2.
It’s in production and will start shipping from 6th June 2016. Yay!