10 January 2018
The current issue of The MagPi includes a feature I wrote about Midimutant, a Raspberry Pi project for programming the Yamaha DX7 synthesizer. The DX7 was popular in the 80s, but was hard to create new sounds (or patches) for. Richard James, who records as Aphex Twin among other aliases, suggested that there must be a more interesting way to program an FM synthesizer and his friend Dave Griffiths took up the challenge. Using a Yamaha TX7 (which is like the DX7 but without a keyboard), he made a Raspberry Pi project that randomly generates sounds and then mutates them until they come close to a particular target sound.
The project is broadly applicable, because it doesn't need to understand how the synth works: it just needs to be able to create random data for it to play back, and then listens to the result.
"It's actually most interesting when it doesn't quite work," says Dave. "Discovering that some cymbals were all evolving to silence as the background hiss from the TX7's 12 bit processor was considered a close enough match, was an 'aha' moment - these types of evolutionary algorithm have a tendency to surprise you like that."
Richard says he will be using the results on his tracks whenever possible, so you might well hear Midimutant's results before too long.
To find out more, check out issue 65 of The MagPi. It's in shops now, and it's available for free download too. While you're there, you can also pick up MagPi issue 64, which includes my report on Pycon.
(If you're interested in the Raspberry Pi, check out the new, updated third edition of Raspberry Pi For Dummies here too.)
08 January 2018
We were in St Ives over the holiday period and had a chance to see the St Ives Lifeboat, RNLB Nora Stachura (RNLI 13-11) on exercises at sea, and coming in to land.
I had my pocket camera on me, and took the opportunity to take some photos and record some video clips, which I have edited together into the short film shown below. I was a bit late realising I could make a video of this, so there's one sequence of the boat and the tractor joining which I would ideally have captured on video, but I have bridged that using a series of photos. I found that some of the clips required a cross-fade because their composition was too similar and it jarred when I just cut between them. The whole process took about an hour, but I've edited this film down to about three minutes.
This was an enjoyable exercise in photography and film editing, and I hope captures the spirit of the experience. It was wonderful to see the lifeboat and its dedicated crew at work.
27 November 2017
Flick, from Pi Supply, is a series of add-ons for the Raspberry Pi that you can use to detect taps, touches and finger movements. There are three devices in the series:
- The Flick HAT for Raspberry Pi sits on the GPIO pins of a full-size Pi. It's about 6.5cm by 5.5cm
- The Flick Zero for Raspberry Pi Zero sits on the GPIO pins of a Pi Zero. It's about 6.5cm by 3cm. You can also use the main Flick HAT on the Pi Zero, but the Flick Zero matches the Pi Zero's board size.
- The Flick Large connects to the Pi's GPIO pins using wires. It's about 15cm by 10.5cm, so you would typically put it on the desk or mount it on a wall.
The board can be used to detect touches, taps and double taps. The ability to detect taps in five positions (north, south, east, west, centre) means it can be used as a simple five-button interface. It can also detect airwheel gestures (spinning your finger above the board) and the finger position above the board, including height. In my experience, the device can detect heights of up to about 7cm or 8cm above the board. Height detection still works through the case (there's a set of cases available to compliment the device), although the contact gestures (tap and touch) don't work when the device is in the case.
The Flick can also be used to detect flick gestures (hence the name!), swiping across the board from top to bottom or left to right (or in the other directions). This seems to work at a slightly lower height than the maximum height for finger position detection, based on my setup.
There are lots of potential applications for the Flick. The swiping gesture lends itself well to scrolling through options, and the airwheel could be used as a control for volume or similar parameters. The Pi Zero form factor could be used to make a remote control for a robot or other device. The first thing anyone thinks of is probably a theremin, but that remains a cool project and the Flick could be a nice way to add one discreetly to an existing object. Robot projects could use Flick to add the ability to detect touch. One of the endearing things about the commercial Pepper robot is that it responds when you stroke its head, and that kind of feature could be easily implemented using the Flick.
The most promising format is the Flick Large, because it could give you greater freedom for expressive movements, and so open up new creative possibilities. There's lots of potential in creating robot control panels by putting a decorated sheet of paper in front of the Flick Large, indicating where the virtual controls are for tapping or hovering over. If it works through your desk, the Flick Large could be used to add an invisible touch interface to your furniture. Pi Supply has thought of this and designed a case that enables it to be mounted under the desk in this way.
A Python API is in development, and this will be a big help. The flick-demo program is good for testing the Flick and provides some hackable code, but a few "hello world" examples and a documented API would make it more accessible and easier to build into projects. Here's my "hello world" program for position detection, based on stripping down the flick-demo program:
x_pos, y_pos, z_pos = 0, 0, 0
def move(x, y, z):
global x_pos, y_pos, z_pos
x_pos = x
y_pos = y
z_pos = z
If you're looking to add gesture controls to your projects, or are interested in innovative new interfaces, Flick can be a great addition to your Raspberry Pi. Find out more about the Flick family at the Pi Supply website here. Thanks to Aaron, Francesco and John at Pi Supply for their help with this review.
15 November 2017
I am delighted to say that my book Super Skills: How to Code has been shortlisted for the ALCS 2017 Educational Writers’ Award. The book was illustrated by Venitia Dean and published by QED Publishing/Quarto.
Each chapter covers a different super skill in coding, using Scratch to make interactive programs and HTML for website design. The book includes one of my favourite Scratch games of those I've created, a platform game called Treetop Catnap.
The judges said: "Providing a lively way into an exciting new subject for all age groups, this book approaches complex ideas with both humour, and beautiful clarity. Full of handy tips and easy-to-understand instructions, it succeeds in making coding a fun activity for both boys and girls."
The other shortlisted entries are:
- Secrets Of The Sea (Author: Kate Baker; Illustrator: Eleanor Taylor)
- Fluttering Minibeast Adventures (Author: Jess French; Illustrator: Jonathan Woodward)
- Genius! The Most Astonishing Inventions Of All Time (Author: Deborah Kespert; Designer: Karen Wilks)
- Tree Of Wonder: The Many Marvelous Lives Of A Rainforest Tree (Author: Kate Messner; Illustrator: Simona Mulazzani)
- The Book Of Bees (Author: Wojciech Grajkowski; Illustrator: Piotr Socha; Translator: Agnes Monod-Gayraud)
The winner will be announced at the All Party Writers Group (APWG) Winter Reception at the House of Commons on Tuesday 5th December.
I'd like to thank the team at QED and illustrator Venitia Dean for all their great work on How to Code, and the judging panel and organisers for reviewing and shortlisting the book. You can find out more about How to Code here, and you can play Treetop Catnap below if you have a compatible browser (click flag to start; cursor keys move, space jumps):
[UPDATE: Congratulations to Piotr Socha, Wojciech Grajkowski and Agnes Monod-Gayraud on winning with The Book of Bees! Many thanks to ALCS, the Society of Authors and the APWG for a lovely evening on the Terrace at the House of Commons, and for shortlisting How to Code for the award.]
12 November 2017
Last week I dropped in to the London studio of Fun Kids to be interviewed for the Science Weekly podcast. Host Dan asked me about computer code, where it comes from, and how computer languages work. It was a lot of fun taking part in the interview, and I would like to thank host Dan and producer Imogen for having me along. As always with these things, I thought of better answers to some of the questions on the tube home!
The interview was recorded to coincide with the publication of Coder Academy, which is out now and provides an introduction to Scratch programming and simple web design. The book is aimed at children aged 7-10 years old, and includes lots of interactive activities on the page. You can take Scratch further with Scratch Programming in Easy Steps and Cool Scratch Projects in Easy Steps. Follow those links to get free chapters and bonus content.
You can hear the podcast using the player below. For more episodes, or to find a link to play this one in your favourite player, check out the Fun Kids Science Weekly here.
31 October 2017
As you might have seen, my new book Coder Academy is out now. The book is mostly based on Scratch, the free coding language popular in schools. There's also a chapter about coding a web page.
Aimed at children aged 7-10 years old, the book uses a mixture of on-the-page and on-the-screen activities. For example, there's a section where you use the stickers in the back of the book to design a sprite, and see how to make it in Scratch. There's also a pattern to complete in the book that you turn into a tune in Scratch.
In the back of the book is a poster, a coding pairs card game, press-out paper robots to assemble, and stickers for designing sprites and marking your progress through the book.
I'm delighted with how the book has been received. How It Works magazine gave it a five-star review and said: "The need for youngsters to become coder-savvy is as important as ever. For those seeking to inspire the next generation to go down this important path, Coder Academy would make a most welcome addition to the bookshelf. Coder Academy... transforms a typically dry subject into something much more palatable through informative and enjoyable activities."
The Week Junior made it book of the week and said: "If you're looking to code for the first time, then this book is the perfect way to get started."
LoveReading4Kids made it non-fiction book of the month and said: "This well-designed, interactive workbook provides a really good introduction to coding for children. It breaks it down into fun, step by step exercises and each bright, visually attractive page sets children tasks to do, with sticker rewards when they get the answers right... As the author himself has said, coding is highly creative, and even without the press out robots on the end pages, this is a fun, appealing and stimulating approach to one of the key skills of the 21st century."
TechAgeKids wrote: "Coder Academy is a fantastic activity book for tech-loving kids and would appeal to children from age 6 and up... We love the combination of coding, craft and design. Coder Academy would appeal to children with a wide range of interests and who are new to coding."
Parents in Touch wrote: "With extras at the back of the book including a game, a pull-out poster, stickers, and even a robot model to press out and make, this is the must-have book for any future junior coders. It's straightforward and does not require any previous knowledge. Ideal for coding clubs in school as well as for home use."
Thank you to all those publications and everyone else who has written a review or is otherwise helping to spread the word. Visit my Coder Academy mini-site for a free sample chapter, a Scratch sprite pack, desktop wallpaper, bonus content and more. You can find links to order the book here.
10 October 2017
Want to make a case for the Raspberry Pi that's environmentally friendly, cheap and requires no special equipment? Paper or card is the perfect material! To celebrate the publication of the fully updated third edition of Raspberry Pi For Dummies, we have created two new case templates you can use to house a Raspberry Pi 3, Raspberry Pi 2 or Raspberry Pi Model B+.
The first design features the new For Dummies brand, showing the Dummies Man with a slick new haircut and glasses. Download the PDF template for the branded case here. It's not just the Dummies Man who's changed: the design of the book interiors has been completely updated too. Check out my PDF sampler of Raspberry Pi For Dummies to see what it looks like now.
There's also a design with minimal branding that you can use for decorating your own case. In the photo, the case on the left was printed on coloured paper that had been painted by my son. I did also look to see whether there were any cool magazine adverts I could make a case out of, but it seems like music mags have far fewer full page ads than they used to. Tweet me your box art. I'll be curious to see your designs! Download the lightly branded case here.
If you have an older Raspberry Pi, you can still download the original case we made when the first edition of the book came out. It features the old For Dummies branding, but will keep your Model B nice and snug in the cold winter months. Download the original Raspberry Pi case template here. (The new edition of the book still includes advice on setting up the original Raspberry Pi models, by the way - there are lots of them out there, and it would be good to think they can be put into service somewhere).
The original paper case, called The Punnet, was designed by Ian McPhee, who kindly allowed us to create the branded version. Find out more about the new edition of Raspberry Pi For Dummies here.