Monday, 30 June 2014

The Shrimping It! eBook is out - free for a few days.

I've just published the eBook I'll be using for today's session at SPA.

It's called Build your own Arduino clone, and you can get it here. It's a complete set of instructions for building your own version of the Shrimp, as created by the Makers of Morecambe.

For the next few days you can get the current version and all subsequent updates for free. You can pay more if you want to.

In return, I hope you'll provide me with feedback - and a few tweets wouldn't do any harm.

The minimum price will soon be going up to a massive $1.49, so don't wait.

Get it today!

Saturday, 28 June 2014

The homebrew ISP is burning bootloaders for Shrimps

Homebrew ZIF ISP
This morning I finished off the homebrew In System Programmer (ISP) that I started yesterday.

It's now happily burning bootloaders onto the chips I'll be handing out on Monday's SPA session.

I'm relieved to find that the installed code includes a blink sketch. That means that the Shrimp-builders will see that their new creations are working as soon as they power them on.

I need to prepare 20 chips for the session, plus a couple of spares just in case. At this rate I'll be done by teatime.

Friday, 27 June 2014

Programming Shrimps - the best laid plans...

I'm working on the preparations for my Monday evening Shrimping session at BCS SPA 2014, and as always things are taking a little longer than planned.

Phenoptix AVR ISP
I got an AVR ISP shield from Phenoptix a while back and verified that it would program the chips I need for Monday. It has standard IC sockets, which means that you need to be a bit careful when removing the chips after you've burned the bootloader. If you don't do a straight pull you can bend the legs of the chip and the damage can make the chip unusable.

I decided a few days ago that I'd use a Zero Insertion Force (ZIF) socket for the programming. These allow you to drop a chip in, close the gripper of the ZIF, program the chip and then release it. You can then remove the chip easily without any risk of damage.
ZIF Socket

It's a ZIF socket, Jim, but not as we know it

I got a couple of sockets which were surprisingly hard to find in the UK. When they arrived I discovered that they had pins 0.6" apart, rather than the 0.3" that the Phenoptix board expects.

No problem, thought I. I can use a bit of stripboard and add two rows of header pins 0.3" apart, solder in the ZIF socket, and plug the whole thing into the Phenoptix shield.

Today I tried. It won't work, because the pins on the ZIF socket are too short. Even worse, the pins are so short that they won't work reliably in a breadboard.

Plan B - DIY ISP

So here I am, at 6 PM on a Friday evening, soldering up my very own ISP shield based around the ZIF socket. I'm nearly done, and will finish it tomorrow, but a task that should have taken 5 minutes will end up taking the best part of a day.

Luckily I still have plenty of time in hand, so don't worry if you're planning to attend Monday's Shrimping session.

If you are coming to Monday's Diversion


  • Sign up on Monday Morning. We're limited to twenty people.
  • Bring a Laptop with WiFi and a spare USB port, and
  • Install version 1.0.5 of the Arduino IDE before you come

Wednesday, 25 June 2014

Slipping deadlines

I've a list of about five blog posts that I'd like to finish and publish, but they will have to wait a while.

I need to get everything tidied away for next week's diversion at BCS SPA, and there's still quite a bit to do. So - apologies to everyone who demonstrated in the afternoon at the OpenLabTools day, and everyone I met at Southend's Raspberry Jam.

I'd hoped to cover your events by now, but don't worry: your time will come :)

IoT Security Analogies wanted, please

Lunchtime at Covent Garden
I've just got back from a delightful lunch near Covent Garden with an old friend, Ron Condon.

Way back in the early 80s, I was running a software house and Ron was editor of a rising upstart newspaper called datalink.

The industry hadn't yet been infested by PR roaches, and I was able to build up a great relationship with one of Ron's reporters. We gave datalink lots of good stories and they gave us lots of good press coverage.

Many years have gone by. Ron and I have both retired, and we have both found things to do that keep us busier than ever. Ron now edits contributions to The Analogies Project, which finds and shares analogies that help non-specialists understand issues in IT security.

I'm getting more and more worried about the in-security of the Internet of Things. My post-lunch homework is to come up with an analogy which can help the person in the street understand why IoT security matters so much, and why it cannot safely be retro-fitted. Suggestions welcome!

Tuesday, 24 June 2014

3 Simple steps to test your new Arduino Clone:

is your brainchild going to work?

You've built your latest (or maybe your first) Arduino clone. It might be breadboarded, on stripboard, or a PCB. You've visually checked the connections, over and over, and maybe done some quick continuity checks with a multimeter. Everything looks fine. But will it actually work?
Follow these steps to check it out.

Use blink- The Secret Sauce

Here's my secret sauce for building testable clones:
  1. Use a chip that has both a bootloader and the standard blink sketch pre-loaded.
  2. Use a 5V LED for testing.
Let's look at those in a bit more detail.

Use a chip that has both a bootloader and the standard blink sketch pre-loaded

When you test your clone with a pre-prepared chip, you're starting with a known good core component. If the blighter doesn't blink you know you've made a mistake in the wiring. For more detail on why this is a goo idea on courses, see here.

A 5v LED is the tester's friend

Many makers have yet to discover the wonders of the 5V LED. In case these components are new to you, I'll explain what they are and why they work so well in this situation.

Normally you need to use LEDs in series with an appropriate load resistor. This limits the current through the LED. If you omit the load resistor, the LED will rapidly burn out.

With 5V LEDs, you don't need an external load resistor because the LED maker has built one into the LED.

You can connect the LED across 5V directly and it will light up, confirming that there's 5V between the (negative) cathode and the (positive) anode. You can tell which is which because the anode is the longer lead, just like a normal LED.

Plug one into your circuit across your power supply rails, and you have an instant power-on indicator.

Connect the anode to +5V and the cathode to pin 13 (which is adjacent) and the blink sketch will flash your LED on or off.

Place one across ground and TXD or RXD and you can see if serial data is being transmitted.

Share this: A 5v LED is the tester's friend.

I love 5V LEDs and use them a lot.

If you're in the UK you can get the ones I use from Farnell. Farnell also stock 3.3V LEDs which are useful if you're working with a Raspberry Pi, an mbed or a teesny 3.x.

If the LED doesn't come on when you connect things, disconnect quickly and move on to troubleshooting.

Next, load a sketch

I'm going to make a couple of assumptions here: your Arduino clone has some way of uploading a sketch, and it involves an FTDI cable or equivalent. Since 95% of the clones I've seen satisfy this criterion, it's pretty likely that this applies to you.

In that case, the next step is simple. Connect your clone to your computer, and try to upload a sketch.
There are a couple of things to watch out for here; you'll need to make sure that the Arduino IDE has the right board and the right port selected.

I develop on Linux, and the FTDI cable normally shows up as /dev/ttyACM0. If you're not sure how to find out which port to use, the Arduino website has good advice for Windows, Linux and OS/X users.

You'll also need to tell the Arduino IDE what board you're programming.

If you're using an Atmel ATMega328p (which I recommend) with a 16 MHz crystal (which I also recommend), chose Arduino Duemilanove w/ Atmega328

Which sketch should you use?

The simplest sketch to use is the Basics/Blink example. Open it from the Arduino IDE and click the upload Icon. The IDE will show you when it's compiled and will then upload it.
You're looking for a message 'done uploading' on the status bar. If you see that, the upload worked; go on the next step. If not, go to troubleshooting.

Now tweak it and marvel at your success

If you are as skeptical as a good engineer should be, you'll want to do one more test: change the blink sketch and watch your clone's behaviour change.

Edit the sketch by changing the delays in the LED blinking loop from 1000 to 100. After the change, the relevant bit of the sketch should look something like this:

// the loop routine runs over and over again forever:

void loop() {
  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(100);               // don't wait for a second :)
  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
  delay(100);               // wait for a tenth of a second

When you have uploaded the changed sketch you should see the LED blinking much faster. If so, you're done. You have a working clone. Time for a break and a celebration!


We'll look at troubleshooting in another post.

Shrimping It! - why start with a blink sketch on the chip?

Today I tweeted for advice about the best way to put a bootloader and a blink sketch on the chips I'll be using for the BCS SPA conference next week. (There's still time to book!)

Shrimping It!
One respondent asked how people could learn to program if the chips already had a blink sketch on them. That's a good question which deserves a full answer, hence this post. But first, some background.

I'm semi-retired but over the years I've taught courses about aspects of IT to a lot of adults.

I've learned a couple of things that have worked well for me and my students:

  • I make sure everyone starts and finishes with a win, and 
  • I introduce one new idea at a time
This approach starts students off by giving them something that's easy to copy and is more or less guaranteed to work.  Then I guide students as they experiment with changes and enhancements until they have mastered all the skills they need.

So for the Shrimping lab, students will do three things to test their completed breadboards.
  1. Apply power and see the LED blink, using a pre-loaded sketch
  2. Upload the blink sketch and see the 'done uploading' message
  3. Change the delays in the blink sketch, upload again, and see the LED flash faster.
Once they've done all three, they know their breadboarded Shrimp is working, they know how to adapt and upload sketches, and they can start to explore programming on their own.

We'll see how well it works next week. I'll report back here.

Monday, 23 June 2014

Bill of Materials for Shrimping It!

The Shrimp Farm
As you may know I am running a diversion on Shrimping It! at BCS SPA next week.

People attending the diversion will be given the kits, and will get to keep the Shrimp they build.

I'm writing build instructions in an e-book on LeanPub. I'll be publishing it Real Soon Now(tm), before it's finished, with an initial minimum price of £0.

That means that you can get the e-book free and will get all subsequent updates without paying anything more. If you do, please provide feedback and let me know of any mistakes.

SPA Shrimp Kit
Once the book has been debugged I'll raise the minimum price to 99p, but early customers will still get updates free of charge.

The book is detailed enough that I hope you can build your own Shrimp following the instructions.

If you want to build a SPA-style Shrimp on you own, you can get just about everything you need from ShrimpingIt!

To my surprise and delight, buying from them will cost less than I paid for the SPA Kits, which I self-sourced. You'll need to order the Shrimp kit, a 400 point breadboard and a CP2102 programmer kit.

The kit doesn't include the Really Useful Box that SPA participants will get: one other thing you can't get from ShrimpingIt! (yet) is the LED I'm using. The LED has an integral resistor, so it's safe to put 5v across it. Get them from Farnell.

Sunday, 22 June 2014

Open Technology Workshop at Cambridge

Engineering Labs

I spend a delightful and stimulating day last Friday at the Cambridge Open Technology Workshop.
I was joined by a friend who runs a lab at UCL. I've been trying for a while to persuade him that his teams should build more of their lab equipment. He's always resisted this; the powers that be tell him that researchers should do research, rather than build equipment.
Alexandre Kabla

Alexandre Kabla's introduction gave a possible solution; why not get undergraduates to work on equipment as part of their project work? There was a splendid example of this approach on display in the afternoon.

Morning talks

In the morning we listened and learned from a series of 15-minute presentations. At the end of the morning sessions we heard lightning introductions to the afternoon's demonstrations.

Alex Bradbury

The first morning talk, The Raspberry Pi as a building block for Creative Engineering, was delivered by Alex Bradbury. This was a great introduction to the talks that followed, as many of the projects used the Pi. Some also used Arduinos - more and more people have decided that the two complement each other very effectively.

James Scott

Next came James Scott who works at the Microsoft Research Labs. He introduced the Microsoft .Net Gadgeteer ecosystem. It's a collection of hardware implementations of the Open Gadgeteer specifications, supported by Open Source software implemented within the .Net framework. MS use Gadgeteer boards to prototype new devices.

Damien George

I first discovered abut the Open Technology Workshop when researching Micro Python, a subject covered in the next talk by creator Damien George.

Damien is a post-doc at DAMPT; Micro Python is a personal project. All the more impressive that he has managed to create a very useful, compact, quick implementation of Python that runs on a small and inexpensive microcontroller board.

I'll say more about Micro Python and the PyBoard in another blog post.

Laura James

Laura James wore two hats: as an advocate for the Open Knowledge Foundation and a member of Cambridge Makespace.

Her talk was passionate and compelling. We have the technology to make available everything our civilisation has learned, and to make transparent the workings of Government at every level. We could, but we don't (yet); she argues that we must.

Laura delivered one bombshell: it seems that works licensed under the Creative Commons non-commercial license cannot safely be used by Educators. I've had to rethink the licensing on an e-book I'm writing, as I want it to be freely used in Primary, Secondary and Tertiary Education.

Andrew Moore

Andrew Moore told us about an Open Source initiative that has had profound consequences - the netFPGA project. One spin-off, the OSNT, does much of what commercial network testers costing £500,000 do, but at a fraction of the cost.

Boris Adryan

Boris Adryan
Boris Adryan talked about Low Temperature Monitoring and explained how he became an accidental entrepreneur.

Boris runs the Adryan Computational Biology and Genomics Lab, in which there are many specimens that need to be maintained at a temperature below -80 C.

He came up with a solution involving chilled XRF boards  from Ciseco  (with custom firmware) within the refrigerators to report their temperature to a room-temperature Raspberry Pi.

The XRF boards coped with the low temperature, but the batteries didn't, until he replaced them with high-endurance versions, NASA approved, which will work for weeks at low temperatures. The batteries are not cheap, but they are readily available from Argos!

You can read more about the project here.

Boris has become deeply involved with the Internet of Things, and will be running a NodeRED tutorial at the CamJam on 5th July. There are still a few places available, so sign up soon!

Boris now runs an IoT consultancy Thingslearn Ltd. - it's @thingslearn on twitter.

Courous Mohtadi

Courous Mohtadi of Mathworks told us about MatLab and Simulink support for the Raspberry Pi and Arduino. I waited eagerly for an announcement of a free Pi version of Matlab - in vain.

Jim Haseloff

Jim Hasselhof talked about Open Biology, including OpenPlant, and invited people to join the Cambridge Synthetic Biology Meetup.  They meet each week at the Café Synthetique.

Rachel Rayns

Rachel is the Artist-in-residence at the Raspberry Pi Foundation. She gave us some fascinating background to Zoë, her chatbot-cum-gardener. Her story included a van full of vintage cine equipment and a space called Soup Labs; remarkable.

Zoë sounds like a lot of fun; I'm sure we will see more of her.

Garth Wells

Garth Wells told us about the lessons he had learned through his involvement with FEniCS, a community based around Open Source Software for automated, efficient solution of differential equations. The talk was excellent, and deserves a wider audience. I hope he publishes it.

And an excellent afternoon

Josie Hughes in the afternoon
The morning session concluded with very brief introductions to the afternoon demonstrations. This post is already long; I'll cover the afternoon in a later post.

Everyone I spoke to shared my enthusiasm for this event.

Thanks to Alexandre Kabla for organising it so well, and to everyone who contributed. It was fun, fascinating and informative.

I hope that OpenLabTools runs another event soon.

Wednesday, 18 June 2014

Teachers change lives

School Chapel
I lunched in Westminster today with old friends. Three of us have known each other for more than 60 years; the fourth taught us Chemistry over 50 years ago.

Another old friend had organised the meeting to celebrate and thank the teacher who inspired us, but sadly could not join us today.

Of my three schoolmates two are now eminent scientists; the third switched from Chemistry after graduation and has reached the top of his chosen profession.

So here's to all those who teach or have taught. You change lives, and you will always be remembered.

Tuesday, 17 June 2014

The LPC810 - an 8-pin DIP ARM processor

If you're interested in Electronics you will know that ARM-based chips are found at the heart of many fantastic consumer products: mobile phones, tablets, and of course the Raspberry Pi.

ARM technology has been hackable for a while. I first met the mbed a couple of years back. It's useful, and fun, but what I want now is an ARM board that I've designed and built myself.

Sadly, my ageing eyes and fingers make SMD soldering a challenge. What I need is an ARM processor in DIP format.

And here it is!

nxp actually make two DIP ARM chips. This one is the LP810 - a 32-bit processor in an amazing DIP8 package. Adafruit have a super tutorial on how to breadboard and program it - just what I want.

That promises to be fun, and opens up all sorts of possibilities: imagine stripboard-based projects with a 50MHz 32-bit processor at their heart.

The LCP801 should keep me busy for a while, but I've just ordered its big brother, the LPC1114. That offers
  • 50 MHz
  • 32KB Flash
  • 8KB SRAM
  • SPI
  • I2C
  • 10-bit ADC
  • 1×16-bit timer
  • 2×32-bit timers
in a DIP28 package.

Farnell does not carry the DIP version of the LPC1114 but I got a single chip at a reasonable price from a UK seller on eBay. Now I just need to buy some time :)

Farnell does carry the LPC810, which costs an amazing £0.82 + VAT.

Sunday, 15 June 2014

Making the Shrimp - the eBook is on its way

I've been working hard on the notes for the Shrimping It workshop I'll be running as a diversion at BCS SPA next week.

A Shrimp
The diversion is running on Monday 30th at 19:15. That's slightly later than the time I originally posted.

The notes should be useful to anyone who wants a detailed guide to building a Shrimp, and I've decided to open source them under a CC Share-Alike Non-Commercial License.

The notes are currently a work in progress, but I'll be editing and completing them on-line over the next few days. I will publish them as an eBook on LeanPub with a minimum price of £0.00. This means that you can 'buy' the book for free and get future updates as they become available.

The eBook is not quite ready for publishing yet, but there's a sample available up on GitHub. When you click on the link you'll be offered a chance to view the whole file; that will download a copy of the pdf for you to view at your leisure. I'll remove the sample from GitHub once the book has been published. Until then, it's here.

Friday, 13 June 2014

Low volume PCB FAB shops

I mentioned a few days ago that I'd started to use Fritzing for PCB layout as well as breadboarding, and promised to share my experience of PCB Fabrication Companies for Fritzed designs. Here we go.

I needed three iterations for the lobstar board, and I got each one made by a different manufacturer.

Three versions of the lobstar


I sent the first iteration (on the left in the picture) to FritzingFAB, the service organised by Fritzing. As you might hope, it's really easy to do from the Fritzing user interface. I was a little over-confident and decided to order two copies of the board. Fritzing charge a set-up fee, and they also charge for postage, so the cost per board is significantly lower if you order multiple boards.

Two copies of the board cost £18.90 (including VAT and Postage), and my boards arrived 11 days after I placed the order. The board has black silkscreen on white solder-mask and the solder pads have a lead-free HASL finish.


I sent the second iteration (middle in the photo) to Ragworm. Ragworm need gerber files (as do most PCB FABs) and these are easy to export from Fritzing. This time I ordered a single board, which cost £9.67 including VAT and Postage. The board arrived in nine days. It comes with white silkscreen on red solder-mask, again with lead-free HSAL solder pads.

As I mentioned a few days ago, Ragworm contacted me later with an offer of more boards at a reduced price, so you may find your cost per board is lower than my figure suggests. Ragworm also included a freebie with each order in the form of a prototyping board.


I've heard good things about OSHPARK, and decided to try them for the third lobstar version (on the right above). They expect gerbers, and they have a neat preview service which shows you what your order is going to look like. You have to order boars in threes, but they are amazingly cheap; three boards cost £5.96 including postage, and they arrived in 13 days.

OSHPARK boards come with white silkscreen on a purple solder-mask and they have ENIG Gold on the solderpads. That finish looks very attractive, and it's also easy to solder. Best of all, it stays shiny and easy to solder for much longer than the HASL finishes do.


All three vendors offer an excellent service. 
  • Use Fritzing if you want to support their wonderful free software.
  • Use Ragworm if speed is the key requirement.
  • If cost matters most, OSHPARK will be hard to beat.

Wednesday, 11 June 2014

The Shrimp: a low-fat Arduino clone

Last week I mentioned the Shrimp-based workshop that I'll be running at SPA on 30 June: 'build your own Arduino clone'.

The workshop will run at the end of a full day so I'm keen to keep it as easy as possible. A random act of kindness has helped to make it even simpler than I'd expected.

A delightful surprise

When Cefn Hoile sent me the batch of CP2102 adapters I'd ordered for the workshop I discovered a delightful surprise: a full Shrimping It kit, complete with diagram and components.

Cefn has been helping people to build their own Shrimps for a while, and he's got things down to a fine art. He's worked out a breadboard layout that reduces the number of jump wires you need. A change I'd planned (using a 5v LED with a built-in resistor) adds a little to the cost but simplifies the breadboard layout even more.

Shrimplified for the SPA workshop

I've ended up with this, which is about as simple as I can get using a crystal oscillator.

Next I'll finish the builder's guide which I'll be open sourcing under a CC SA License.

I really want to do a dry run before the SPA session, and I'm going to try to recruit a few guinea-pigs at next Tuesday's XtC.

There are still places available at SPA so if you want to exchange ideas with an amazing group of software practitioners book your place now.

Friday, 6 June 2014

Shrimping It at the SPA

based on the Shrimp
I'm running a workshop at BCS SPA 2014 called 'Make your own Arduino clone'.

The clone you get to build is based on the Shrimp - a low-cost and very successful breadboard or stripboard based version of the popular Arduino microcontroller board.

The BCS SPA conference is an annual event that's been running for 18 years, bringing together experts and practitioners to share the latest thinking in software development.

SPA conferences are unique; the sessions are interactive and hands-on, so no-one suffers death by Po***Point.

This year SPA is running from 29 June to 2 July at the BCS offices in central London.

One part of the SAP tradition is that the formal programme is supplemented by diversions; the workshop is the diversion for Monday 30th June.

It will run from 18:00 to 19:00 (at which point I'm off to the pub).

Even if you're new to electronics and the world of Physical Computing, this hands-on workshop will send you home with a simplified Arduino-compatible computer-on-a-breadboard that you have built yourself.

You will need a laptop with a spare USB port and version 1.0.x of the Arduino IDE installed.

Book soon: the conference sells out every year.

Thursday, 5 June 2014

Near death by Mobile?

The night I think I nearly died

A couple of nights ago I felt chilly and put on a sweater. A little later I felt something painfully hot against my chest.

I realised that it was my mobile, which was in my shirt pocket under the sweater. I hastily took the phone out and turned it off. It was almost too hot to touch.

A few minutes later it was back to normal and it has worked fine ever since. Here's what I think must have happened.

My body heat and the heat from the phone were retained by the insulation of the sweater, and the phone's LiPo battery must have started thermal run-away. Remember those exploding laptops a couple of years ago?

I reacted in time, but overheating LiPo batteries are bad news. My phone was conveniently located next to my heart. A very close run thing!

Lesson Learned

Keep your phone ventilated and do nothing to overheat it.

Jam tomorrow

If you were expecting a post about PCB FAB companies, I'm afraid that has taken longer than I thought. I'd put some of the boards somewhere safe and it took ages to find them.

The post is almost finished, and I will do my best to publish it tomorrow.

Wednesday, 4 June 2014

PCB design - Eagle and Fritzing

Yesterday I got involved in a couple of discussions on Twitter on two related topics: choosing software for PCB design, and choosing PCB Fab companies to make short runs of prototype boards.

I'll write a little about the PCB Fabs in another post. At the risk of having to don flame-proof safety gear, I'll share some of my experience from the last couple of years, and my current preferences.

Quick2Wire Analogue Board


Please don't expect an exhaustive survey. I don't normally work on Windows, and I don't have a Mac, so this is written from the perspective of a Linux user. That's why I have not tried DesignSPark PCB. Nor have I looked much at KiCad, simply because my first attempts some while ago were discouraging.

Eagle and Fritzing

The two products that I have used are Eagle and Fritzing.

Eagle is very well established as a design tool for amateur and professional users. It's very capable, and has very extensive libraries. Since CADSoft ( the authors) were acquired by Premier Farnell, it has good integration with the Farnell website. Some PCB Fab shops accept Eagle .brd files directly for manufacture, and almost all will accept the gerber files which Eagle can export.

When we started Quick2Wire we decided to use Eagle for all our PCB designs. Two of the team had good Eagle skills, and I was somewhere between novice and competent.

Quick2Wire MCP23017 board
Sadly, one of the Eagle experts was a temporary team member: he'd warned us at the outset that he was involved with a couple of other start-up projects which would eventually have to take priority. (He's gone on to create the very successful Nova).

Even more sadly, the other expert became seriously ill after he'd completed the layouts of our first three boards, and was unable to carry on with the project.

My own expertise was limited, and there were too many other calls on my time for me to ramp up my skill level.

The Eagle learning curve

Another member of the team decided to have a go, and spent several weeks trying to get to grips with Eagle. He's a very bright guy, and his degree was in Electronic Engineering, but he still found Eagle hard to use. His experience mirrored mine when I first encountered the product, and we're not the only ones who have found the Eagle interface hard to master.

Some while before Quick2Wire started I'd come across another software tool called Fritzing. It's open-source software that you can use to capture a breadboard layout. Once you've done so, you can edit the corresponding schematic and go on to produce a PCB design.

Illustrating projects with Fritzing

When I first met it, Fritzing had great potential for illustrating educational material but reports suggested it was a little immature as a PCB deign tool. We made considerable use of its breadboard view but never experimented with the board design capabilities.

With hindsight that was a mistake. When I started work on the lobstar I decided to use Frizting for the PCB design. I made a couple of mistakes before I got the design right, but that's par for the course: Quick2Wire had three runs at each of our boards.

Fritzing for manufacture

Fritzing has been intuitive to use and has generated the files required by the three companies I used to make lobstar prototypes.

I'll tell you who those companies are in a later post, and show you the results.

Tuesday, 3 June 2014

The Pi and the Printing Press

By Kristian Bjornard from Baltimore, USA
(Lock up on a metal Gutenberg-style press)
 [CC-BY-SA-2.0], via Wikimedia Commons

From the Printing Press...

Over five centuries ago Gutenberg introduced moveable type to Europe, and the whole world changed forever.

His printing press heralded the era of mass communication, leading eventually to mass literacy, cheap textbooks, newspapers, scientific journals and other media that produced massive and rapid social change.

It helped to fuel Renaissance and Reformation, and its effects persist in the digital age. the Raspberry Pi

Today the Pi is changing worldwide education in much the same way. Two brilliant, simple, Pi-compatible ideas stand out for me: KA Lite and Kiwix.

KA Lite brings the content of Khan Academy to environments without high-speed reliable internet access. In many locations around the world, internet access is limited, expensive or non-existent but smartphones are cheap and widely used.

Run a wifi hotspot on a Raspberry Pi, with a copy of KA Lite and selected Khan Academy content, and you have a classroom that will allow twenty students or more to access world-class learning materials in Mathematics, Science and other Study areas.


Kiwix is an offline reader for web content. It makes it easy to host a local copy of material like Wikipedia using the highly condensed Zim format. Kiwix can run on the Raspberry Pi, so your KA Lite hotspot can double up as a reference library.

Above and beyond

Eben Upton's original goal was to fire up a love of programming in a new generation, in much the same way that the BBC Micro did inn the 1980s. The Pi has already achieved that and more. 

The Pi has been a major factor in re-invigorating the teaching of real computing in UK schools. Carrie Anne Philbin (@MissPhilbin) is a superb role model for teachers who want to inject fun and excitement into STEM subjects, and now she is sharing her experience through the Picademy program.

But the Pi has even more potential for good. The software mentioned above, coupled with the Pi's low cost and low power requirements, brings new opportunities to millions of students world-wide, from primary to tertiary levels.

Unesco states that Education is a powerful tool by which economically and socially marginalized adults and children can lift themselves out of poverty and participate fully as citizens. The Pi, with a little free software and plenty of open content, can help that happen across the globe.

Monday, 2 June 2014

Fabulous fun at Kids Adore Ditch

I spent last Thursday at Kids Adore Ditch, and I can't remember when I last had so much fun.

The event was organised (in less than two weeks!) by James @Monkchips Governor.

It took place in the Shoreditch Village Hall - a great venue, with plenty of space, power and wifi bandwidth.

Just as well! Over thirty kids turned up, and I counted at least nine different activities to keep them occupied.

High spots included a banana-controlled quadcopter, a robotic arm, digital drawing, Minecraft on the Pi, Scratch, and a couple of coding-based games.

Many of the activities were run by IBMers, and local company Kuato Studios also contributed.

Special kudos to Neil Ford, who ran the minecraft station, and Linda Sandvik who introduced Scratch coding.

More details, and some pictures, on Dan Light's blog.

I took along some robots - two Pololu 3Pi models (seen below) and my very own C3pi (in the foreground).

Courtesy Marco Abis @capotribu 
The 3Pi robots tirelessly walked around their tracks and mazes, and everyone managed to control them successfully.

It was fascinating to see how the different age groups reacted.

Four-year-olds could press the buttons, and understood the difference between the line-follower and the maze solver.

Six-year olds were impressed at the way that the maze-follower's second run on a learned maze went straight from start to goal. They quickly grasped the issues raised by the third looping path, and several of them were confident enough to demonstrate and explain the robots to other kids and/or their parents.

By eight, they wanted to experiment and try out the robots in different starting positions. One came up with the idea of dynamically changing the maze with slips of white card covering the black line, and another wants to build his own robots.

Everyone did well and had fun. There were slightly more girls than boys, and they were every bit as confident and competent - great to see.

Several people wanted to know if they could buy the robots. You can get the Pololu 3Pi from several UK-based suppliers. I recommend SK Pang, not least because the owner is a good friend and an active member of the Open Source Hardware community.

The robots come with a simple demo program loaded, but to get them to do anything interesting (like line following or maze solving) you will need also need a programmer. You can write your own programs, and you can even use the Arduino IDE. There are detailed instructions on the Pololu website.

I really enjoyed Kids Adore Ditch, and so did the kids. The place was alive with excitement, energy and fun. Let's hope there will be a repeat event in October.