Sniff is a "Scratch-like" programming language that's designed to help Scratchers move gently from Scratch to more conventional languages. They can start writing programs, without having to learn a new language because Sniff is based on Scratch. They learn a little more about variables, compiling, syntax errors (!), and they can have fun controlling real hardware while they're doing it.

Thursday, 27 March 2014


I read somewhere that the Raspberry Pi  is the stone in the stone soup. It doesn't actually add anything itself, but is a catalyst which attracts attention, to which the real ingredients like Scratch are quietly added. Sniff plays along with that, because we want good things to happen, and the Pi gives us a pot of boiling water to jump into (to drag the metaphor along slightly further than is really appropriate).

However the Aruduino platform has a lot of advantages over the Pi for interacting with hardware. To effectively use the GPIO you need a breakout board of some kind, which is clunky. You then need to work around all the different pin numbers, which aren't in any kind of sensible order, or even abstracted on a consistent way. Just to make it more fun there's a handy 5V or "blow up my Pi" pin to connect to. It's certainly possible to blow up an Uno in innumerable fun and original ways, but they're a bit tougher, and when you blow up an Uno, worst case its a $10 replacement, or you can probably just replace the CPU (it's socketed!) for less than $5.

While some things can't be fixed (like unpredictable timing, and power consumption) the PiBrella board looks like it actually does a pretty good job of solving a lot of the physical problems of Pi interfacing. The PiBrella is clear aimed at kids, providing a red, amber and green LED, a buzzer and a big red button, so they can write a great traffic light simulator.

However it also has 4 buffered outputs (with external power available to drive "big" stuff), and 4 protected inputs. They're clearly labeled (A to H), and with nice sockets to poke jumper cables into. Even better there are 8 surface mount led's to indicate the state of each pin... now that is handy. I also like the fact it plugs straight into the Pi without a ribbon cable, so the whole things in one package rather then being spread out over the desk.

There's an i2c header too, conveniently layed out with all the required signals in one place (though there are no pins soldered in, and it's a non-standard spacing [expletive deleted]). I2c, 8 i/o ports and a few LEDS and buttons looks like a really sweet spot which can cover most projects. While the PiBrella is clearly designed to be a kids first steps into physical programming, it's actually a pretty grown up bit of kit.

For advanced users there are a few niggling issues: To fit all the pre-wired LED's and the i/o ports on the board they've had to use the SPI pins as generic i/o's so SPI won't work with the board plugged in, which is disappointing - looking at the pin usage suggests they might have been able to make this work if they'd allocated the pins differently. Also because all of the i/o pins are buffered that's going to mess with things like the DHT11, and DS One Wire devices which use a single pin for both input and output.

Having gone to all the trouble of laying everything out so clearly, its annoying that the i/o pins are arranged in pairs which are simply labeled + and -. In fact for the inputs, the + is Vcc, and the - is the actual input. I can see this makes sense that kids will just put a switch between + and -, but they'll pretty quickly need to know that these two things are different. Similarly for the outputs.

My final niggle is Sniff specific - Sniff doesn't support the Pi's internal pull up/down resistors, and the "big red button" needs a pull down to work correctly. Yes - you can fix it in code (If Sniff supported it), but it's a fraction of a penny component, which would have meant one less thing for the programmer to deal with. I'll probably solder a 10K pulldown on there myself... (edit - have done! details to follow).

Perhaps the best feature is that all of this costs only £10. Given that a basic breakout board and cable can cost almost that much, there's a lot to like in this package, whether you're in KS2, or an experienced programmer. Despite the niggles, its currently replaced my regular breakout board.

1 comment:

  1. PiBrella is good but if you want something better and cheaper check out the BBoard at

    It only costs £5 and works with Arduino, RPi and Microbit.