Pages

Wednesday, 29 February 2012

Mastering the I2C bus - review

 I just got my copy of Mastering the I2C bus - an excellent book, the first in Elektor.com's LabWorx series.

The author, Vincent Himpe, really knows his stuff. I've been using the I2C bus since I started with PIC micros back in the last millennium, but I learned something on just about every page of the book.

The book covers the background and history of the I2C bus and explains it from hardware and software perspectives.

There's a useful chapter on FAQs, and the book also covers debugging. The author makes a good selection of commonly used devices, and explains how to use them. The last part of the book describes a series of I2C project boards, (available from an Elektor partner) and covers their purpose, their design and application.

You're encouraged to download code from a dedicated website. I had  a problem getting on the site yesterday, but after a fast response from Elektor I now have access to the software and PCB layouts.

We'll be supporting I2C on the board we're making for the Raspberry Pi over at quick2wire.com, and the book is now recommended reading for all the hardware and software developers on the team.

Eben Upton talks to /.

Eben Upton recorded this video with Slashdot about the distribution of  Raspberry Pi a few days ago.

Pi please

The Raspberry Pi launch has happened. Sort of.

The Pi is selling from from Farnell and RS Components. Except both sites have crashed, due to the demand.

There will be a lot of impatient people today, and for now I suspect that the main mood among RasPi supporters is frustration.

That will pass.

Somehow this tiny $35 computer has captured the minds of people in the same way as the Apollo moon landings did. (Yes, I was watching as the Eagle landed). At a time when we're all feeling the pinch of austerity,  and uncertain about the future, the Pi is a ray of hope - a sigh that bad times may be here, but better times will come.

I spent last evening in the company of geekish friends at the Extreme Tuesday Club. Just about everyone had heard of Raspberry Pi, and there was a warm glow about it. Best of all, I met an old friend who knows someone who might buy my vintage Acorn microcomputer. I offered it in exchange for a donation to the Pi foundation a while back, and was met by a deafening silence, but it seems that there is a collector who may be interested. The money will go to the Foundation.

And soon, Farnell and RS will be back on the air and we will be able to order this miracle. I'm happy to wait.

Monday, 27 February 2012

Grove, the Arduino and Raspberry Pi

I've been crazy busy with our start-up for the last week or so, but I've still managed to find time to look at Seeed Studio's Grove Toy Kit.

The kit consists of an Arduino shield (the Twig), a set of peripherals (the Leaves), and a set of cables that you use to link them up.

OLED display
The Leaves in the Toy Kit include a couple of high-powered servos, a tri-colour LED, a tiny, crisp 128*64 OLED display, a sound sensor, a buzzer, a PIR motion sensor, a 3-axis accelerometer and plenty of cables.

There are many other leaves available, and they can all connected to the motherboard using the cables provided. The documentation is sparse, but usable; we'll do our best to add to it.

At present the Grove is targeted at the Arduino, but we're looking at the possibility of connecting it to the Raspberry Pi. It's a natural fit with our planned extension board, and  would offer an excellent platform for experimenters wanting to explore the Internet of Things.

Friday, 24 February 2012

Virtual friends become real at OSHUG

Last night I went along to an excellent free meeting organised by OSHUG (the Open Source Hardware User Group).

The timing couldn't have been better. The topic was Manufacturing, and we had three excellent presentations about the realities of bringing Open Source Hardware products to market. Since quick2wire is going to open source our Hardware, Software and Documentation, this was spot on for me!

The talks were great, but the session in the pub was also really useful, and fun. I got to meet two people I've previously only known on-line: Sukkin Pang, the founder of SK Pang electronics, and Aaron Nielsen  who runs .:oomlout:. here in the UK. Both are great guys, really ready to share information and help us out. I also got to make a whole raft of other new friends from the Open Source Hardware community.


The group meets once a month and I shall certainly be going along to future sessions. You can find out more at their website.

Thursday, 23 February 2012

Two steps closer to our Raspberry Pi add-on

oomlout's ARDX starter kit
Over at Quick2Wire we're two steps closer to the launch of our Rapsberry Pi add-on - an experimenter's kit, inspired by the many great starter kits you can get for the Arduino. (I've often mentioned my favourite, the oomlout starter kit, which started me on this road a couple of years ago.)

We've had quite a few people signing up for email news at our rather minimalist website. Today I'll be sending out a few details of what we have in mind, along with a very short questionnaire about the contents of the planned kit.

Meanwhile I'm prototying the board that will be at the heart of the kit. It uses a few surface mount devices.

I'm a bit old to be soldering things I can hardly see, but I've just got the first level shifter chip mounted on a DIP board, and I'm hoping to breadboard a working interface over the week-end.

Of course, we don't have a Raspberry Pi to test against yet (hint, Liz!), so we will be using BeagleBones until we do. Both can be programmed in Python, both use 3.3 volt I/O, and both run Linux, so the move from Beagle to Pi should be fairly painless.

I'll be posting more as work progresses, and we'll have more information on the Quick2Wire website soon.

Meanwhile, if you're interested, drop by the site and sign up for email updates.

Tuesday, 21 February 2012

Fun on the river with oomlout's Arduino starter kit

I've just got back home after an enjoyable afternoon introducing my brother-in-law to the Arduino. He's a designer by profession. He lives on a Dutch barge near Canary wharf, so he's a competent electrician, but he's new to embedded hardware and micro controllers.

(If you want a quiet but luxurious place to stay in Docklands with a 5 star breakfast, take a look at their website).

I took along oomlout's excellent ARDX arduino starter kit, and by the afternoon he was tweaking happily tweaking example sketches. He now sees why I find the embedded world so exciting, and I hope he'll be contributing to our Raspberry Pi-based projects at quick2wire.

At the end of our session we started talking about CAD for electronics. As a designer he uses CAD a lot and wondered what CAD tools were used for electronics. Since we'd spent the afternoon working with a breadboard, I showed him Fritzing, When he saw how easy it was to lay out a breadboard circuit, then go to a schematic and a PCB layout it blew him away.

"Is that used in schools?" he asked.

Not yet, that I know of, but it soon will be if we have our way :)


Team tweeting with respect for the audience

We've got an interesting problem to solve over at quick2wire.com.

There are eight of us active in the project right now, and @quick2wire also has its own twitter account. Several of us have known each other for years; there is quite an overlap between the groups of people who follow us on twitter. There are also some big differences.

We're trying to work out who re-tweets what, in a way that gives us good coverage without our followers seeing nine copies of each tweet.

So I want to find out

  • for each team member, how many unique followers they have and 
  • for each pair of team members, how many followers they share
I have not found a tool that does both those things. If you know of one, please let me know! If we can't find one we will write a script and open source it, as this must be a common problem.

Monday, 20 February 2012

Another morsel of Pi

We're in the last stages of stealth mode, so you'll have to wait a little longer to find out what we're up to. At least the quick2wire website is now officially open. No content yet but you can already subscribe to our mailing list and get more information as soon as we release it.

Like you, we're eagerly awaiting the sale of the first production versions of Raspberry Pi. There are 100,000 of us on the mailing list waiting to buy it and over 20,000 followers on twitter. Raspberry Pi is the result of great dedication from the small team of volunteers who've got us this far. They've earned their huge following.

Good to see today that the customised remix of Fedora should be ready for download on Wednesday. Now that the hardware is coming off the line, the vital thing will be to make sure that there is a stable, feature-rich, well-documented software environment. Pi's army of enthusiastic supporters can make a real contribution to that.

Saturday, 18 February 2012

Something extra with your Pi?

Regular visitors will know that this blog ground to a standstill in December last year, and is only now coming back to life.

For the last couple of months I have been working flat out; first on a series of TDD courses for two of my favourite clients, then on a start-up which is about to come out of stealth mode and go public in the next few days.

The timing is linked to the release of Raspberry Pi - the credit-card sized Linux-capable computer-on-a-board which will be selling for $35 any day now.

We're going to be developing and selling some add-on products to complement Raspberry Pi. I'll post more details here as soon as I can, and I think you'll find them exciting.

We plan to launch with the help of a crowd-funding site, which means that we'll need all the publicity we can get. So when the great day dawns, take a look at what we're doing, and if you like it, please

  1. Fund us! You'll be able to do so for a very modest amount, though  bigger donors will get some very tempting perks.
  2. Blog about us!
  3. Re-tweet the stream of tweets that we'll be putting out.
Anyone who follows me on twitter (@romillyc) will have seen a few hints already.

We hope you'll find the products as much fun as we do.

Friday, 10 February 2012

Could this be your chance to win an Arduino due?

tronixstuff are running an exciting competition with two prizes: an EtherMega board and a mystery prize.

From the tantalising description this sounds as if it could be your chance to win the new ARM-based  Arduino due which will give you Arduino libraries running on a 32-bit CPU.

John Boxall's tronixstuff blog is a great resource if you're into Arduino. The only thing to note about the competition is that tronixstuff is based in Oz, so you may have to pay import duty, VAT and other annoyances. It still has to be well worth a go.

Wednesday, 8 February 2012

Go, FORTH, and multiply

In an exchange on twitter yesterday I was (gently) taken to task for suggesting that it would be a good thing to port FORTH to the Raspberry Pi so that young developers could learn about it.


It's hard to conduct a fully developed argument in 140-character bites, so this is an attempt to set out my position in a bit more detail.


My first assumption is that the goal of Raspberry Pi is education, not training: in other words, I think it's aiming to broaden the horizons of young minds rather than (just) teaching young people how to write programs for money.


To support my case, I'm going to rely on advice from one if the giants of computing: Alan Perlis. One of his epigrams was 'A language that doesn't affect the way you think about programming, is not worth knowing.'


Of course, we shouldn't infer that a language that does affect the way you think about programming is worth knowing: the most obvious counter-example is brainf**k. Admittedly, bf manages to do with eight characters what C++ needs the whole keyboard to achieve, but that is scarcely a recommendation.


I believe that there are some languages which have a big effect when you learn them, and are worth knowing. My personal list includes Snobol, APL, FORTH, Smalltalk, Python, Haskell and clojure.


I think these are landmarks of computing in much the same way that the works of Homer, Virgil, Chaucer, Dante, Cervantes, Shakespeare,  Moliére and Dickens are landmarks of literature. No 19th century European would call him or herself well-educated without a passing knowledge of them. When we read these authors we change the way we think about the world.


I'd argue that the languages in my list (among many others) can have a profound effect on the way we think about those stores of knowledge we call programs. We shouldn't force anyone to learn these languages, but we can  make them readily available, and might even seek to pique the interest of the young.


So what's special about FORTH?


Like the others on my list, it is a concise, expressive language. It's also easy to port, and amazingly compact. You can create a FORTH runtime in 2k bytes. You can create a self-hosted development environment, complete with file system and editor, in about 8k bytes.


FORTH enjoyed a minor renaissance with the advent of 8-bit microcontrollers, but 32-bit chips are more forgiving of bloat. It may get a third boost, though, when home-made 3D printers can print a few thousand transistors, which I suspect will happen within the next 5 years.


In the mean time, FORTH is worth looking at for embedded applications. It has been used on the majority of NASA space probes for the last 50 years; there's probably room for it in less ambitious engineering projects.

Tuesday, 7 February 2012

Raspberry Pi - two things you've been waiting for without even knowing

The first production batch of Raspberry Pi boards will be finished on 20th February. Yay!

It's been a long wait, but an understandable one. Anyone who has been involved with getting a product to market knows the pitfalls that delay, and delay, and delay again. With the Pi, the team have done an amazing job; we're getting all the functionality that was promised at an astounding price.

The other good news is that Broadcom have released a datasheet describing the peripherals available to the ARM chip used in the Pi. This will make to easier for us to use things like the timer; it also explains memory mapping and other topics which will be of interest to anyone who wants to work close to the metal of the Pi.

In particular, it looks as if the datasheet would be invaluable to anyone porting Forth to the Pi. I'm hoping that Frank Sergeant will port his Riscy Pigness Forth implementation to the Pi at some point; it would be both useful and instructive, and the intended school-age audience would get great value from it.

Monday, 6 February 2012

Daleketta and the Robot Cake Trolley

I recently met a bright and friendly group of trainee engineers in BBC North Lab at MediaCity, Salford. They kindly showed me a couple of things they'd done in their '10% time', which allows them to work on things that are vaguely relevant but not directly related to their current projects.

One of them - Daleketta - got a lot of coverage recently  in the National Press after a BBC North Lab Open Day.  She's also featured in a BBC R&D story about Women in Technology.

Daleketta is a mobile r/c 13" model Dalek , purchased from the BBC shop and modified for wifi control. An experimental Set Top Box transmits programme details live, and Daleketta stirs into action in sync with the relevant moments of Dr Who episodes as they are transmitted.

The micro controller is an mbed, but there's room within the Dalek for a BeagleBone or Raspberry Pi. I feel another project coming on.

I also saw their robot cake trolley. It's in an early prototyping stage, but looks as if it will be fun. The biggest obstacle for it to negotiate will probably be Health and Safety :)

USB Microscope

I couldn't resist another play with the USB  Microscope this morning. Here's the result - a Bank of England £20 note at 200x magnification.

The detail is amazing.

Maplin currently offer this at £39.99 but from time to time it's been on offer for about half that, and at the lower price it is fantastic value. There are warnings among the reviews about Windows drivers, but I've used the microscope with Windows 7 32-bit and 64-bit, and I'm currently using it with Ubuntu Lucid.

The only gotcha seems to be that cheese (the standard Linux webcam software) does not recognise the device if the microscope is plugged in at boot time, but it's fine if you connect it later.

Sunday, 5 February 2012

Pick and Place on a budget - Part 1

This afternoon I did a quick spike test to check out the feasibility of a project I will be starting in a few weeks' time. I'm building a low-cost pick and place device to help me solder Surface Mount Devices (SMDs).

It's becoming essential to use SMDs. The space saving over traditional through-hole components is considerable, and more and more components are only available in SMD format.

Soldering SMDs is fiddly and risky if you're young, and very difficult for someone my age. My eyes are not good enough, and nor is my dexterity. I've soldered the odd SO8 device but a micro controller would be almost impossible for me to manage.

Enter PAP, my low-cost Pick snd Place 'bot for the older developer. Commercial Pick and Place robots cost tens of thousands of pounds; manual Pick and Place workstations are cheaper, but start at a few hundred pounds. I'm hoping that mine will cost me will end up costing me a lot less.

The idea is simple. PAP use a human (me) as the main controller, aided by a USB microscope.

I'll put the PCB on the bed of a compound milling table. The table will set me back about £70, but will normally be used for machining. Above the table will be a mini-drill press with an arduino-controlled geared motor to rotate the part. I hope to pick up the component to be soldered using an improvised vacuum tool - a plastic tube with a large syringe at the far end.

The soldering process will go like this:

  1. Place the PCB on the compound table, and make it secure.
  2. Use the vacuum pick-up tool to pick up and hold the SMD component.
  3. Move the PCB under the component by using the compound table
  4. Use the USB microsope to help me locate and rotate the component
  5. Use the drill press to place it on the board
  6. Solder, release the vacuum, and celebrate!
All this will take a while to set up, but today's experiment had a less ambitious goal. I wanted to check that I could use my USB microsope with Linux. I got the microscope for £15 in a special offer from Maplins; it worked well with Windows, but I no longer run Windows at home so I needed to try it out on my workstation, which runs Ubuntu Lucid.

I installed cheese, the standard USB Webcam software for Ubuntu, and the USB microscope worked right away. Here's a photo of a PCB at about 100x magnification. Focus isn't perfect but the detail is amazing.

There's much more to do before I can test PAP for real, but the USB microscope should work really well.