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.

Sunday, 2 March 2014

Current Status

Sniff is currently running nicely on Mac, Linux and Pi, with good support for the Arduino Uno.

When running on Arduino Uno it includes support for a range of sensors, and shields (which appear inside Sniff as "devices"). Devices current supported include:

  • dht11/22 temperature and humidity sensor
  • DS18 Temperature Sensor
  • BMP180 Air Presure Sensor
  • LCD Shield
  • TFT Shield
  • Ethernet Shield (Wizznet)
  • SD Cards (read and write ascii files)
  • IR Receiver
  • Real Time Clock (DS1307)
  • Wii Nunchuck
  • DMX Shield
  • Motor Shield
  • RFID Reader (MF522 )
  • Magnetometer/Compass (HMC5883)
The Sniff model means that each of these can be used with only a few simple lines of code, and without needing to understand the specific details of the hardware. However source code for all of these drivers is included in the release, and we welcome contributions of new devices and/or bug fixes to existing ones.

The current areas of development are:
Raspberry Pi GPIO support: Currently Sniff works great on the Pi in that you can write Sniff programs and they run. However there's no way to control hardware from Pi/Sniff. We hope to use wiringPi to allow the Pi to directly control hardware in the same way that the Arduino can. While the Arduino is usually a better choice for controlling hardware, the Pi is really popular, so we want to support it as best we can.

Creation of an IDE: Sniff is currently command line based. That's not a bad thing - we like it that way, and plan to support Sniff as a standalone tool, but we'd also like something like the Processing IDE, just so uses can get up and running without worrying about the shell.

Improved Documentation: Sniff comes with a pretty large manual - not that you need to read it all, but it includes getting started tutorials, and reference pages for every block and every device. While it contains a lot of information, we'd like it to be better, and new development work means it constantly needs updating.

Project Ideas and Lesson Plans: To go with the documentation of Sniff itself we'd love to have as many well documented projects, as possible. Even better of those can explain how those projects might be done with kids.

More Devices!!!!: This is our favourite. We're constantly scouring ebay for new pieces of hardware to integrate into Sniff. Currently very high on the radar are RF24 radio transceivers which let two devices communicate wirelessly for about $1 each, and at the other end of the hardware range we can't wait go get our hands on a Gameduino 2, which adds hardware accelerated graphics on a tft screen.

Windows Support: We don't do Windows right now. Building these kinds of tools on Windows is far harder than supporting them on the current range of platforms. We know its important, but so far its not something we have the resources to develop.

If you're interested in getting involved, or can help with any of these contact us at

No comments:

Post a Comment