Sniff - A Language for Arduino and Pi
Sniff - A Language for Arduino and Pi
Written by Lucy Black   
Monday, 01 September 2014

Sniff, a language that is based on Scratch in which you write regular text-based code rather than dragging and dropping blocks to create programs, has reached Beta 8.

Sniif is described as:

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.



Its website went online in February 2014 with Beta 3, which supported Mac, Linux (x86) and Arduino Uno. The real idea is to provide the next step for enthusiastic Scratch users who otherwise have to make the transition to more difficult text based languages like Python:

"So why do they fail to move on?  Because they're ready to write SCRATCH!!!!. They know the blocks of Scratch, they know the control structures, they know the messaging model. They can create Scratch programs without reference to the block palette, because they're Scratch programmers. Python (or any other language), looks different, has different syntax --- how can anyone remember Python when everything they've been taught is Scratch."

Beta 4 has improved support for the Raspberry Pi and each successive beta has gone further as regards the Arduino versions and devices users can work with. The latest version adds support for: 

  • Gamebuino 
  • Punchthough Bean (not quite finished)
  • SIM900 Mobile Phone Shield

Beta 8 also has device aliasing. The Release Notes explain:

Devices were previously identified by their device types, so if you made a dht device it was called dht. That still works, so you can carry on as before, but we've added the option to name devices so you can:

make thermometer dht11 device

make display lcd device


This means you can swap out a ds18 for a dht11, or an lcdi2c for a regular lcd just by changing the declaration, rather than the whole code. However we've also taken the opportunity to rename some of the devices. Previously we tried to keep device names "meaningful" so for example the ds1307 device was called clock. Now you can name your own devices we can give the devices more specific names, and then you give them your own friendly names: "make clock ds1307 device". If you want a different kind of clock device (like the nativeClock device), then you can select it for yourself.


One thing that is clear from the above is that Sniff is good at tinkering with gadgets. However its main concept is helping those who have learned Scratch move on to a conventional "written" language and since Beta 5 it added a Minecraft device so that its users could program the Raspberry Pi version of Minecraft. 

A Programmer's Guide to Scratch 1.4

Scratch 2.0 Released - Use It In A Browser

A Programmer's Guide to Scratch 2

Let's Teach Kids To Code!


To be informed about new articles on I Programmer, install the I Programmer Toolbar, subscribe to the RSS feed, follow us on, Twitter, Facebook, Google+ or Linkedin,  or sign up for our weekly newsletter.



Rust 1.26 Adds Existential Types

There's a new version of Rust with support for existential types via impl-trait; better performance and support for 128-bit integers. The new release also has better match bindings and support for sli [ ... ]

Udacity Launches Data Scientist Nanodegree

Udacity has launched a new Data Scientist Nanodegree program. At an advanced level it has projects designed by Bertelsmann, Figure Eight, IBM Watson, Insight, Kaggle and Starbucks which map to the ski [ ... ]

More News






or email your comment to:

Last Updated ( Monday, 01 September 2014 )

RSS feed of news items only
I Programmer News
Copyright © 2018 All Rights Reserved.
Joomla! is Free Software released under the GNU/GPL License.