Category: Electronics

I need a holiday! (by )

This year, I've been alternating between bleak depression and enthusiastic elation.

Luckily, it's easy to see a pattern - the elation is when I let myself get distracted by interesting things; the depression is when I have to tear my attention back to what needs to be done rather than what I feel like doing!

It's been a funny year. On the one hand we've moved into a much larger house, with much better facilities, that's warmer and easier to keep clean and tidy. My work is great, and I've managed to catch up on some things that have been hanging over me for years - tax paperwork, terminating my limited company (that had become nothing more than a thorn in my side since I stopped freelancing), simplifying and upgrading my server setup, tidying up my home directory and organising my life. On the other hand, I've been so busy that the new home has mainly been a place to eat and sleep rather than something I've had much chance to enjoy, and I'm behind on the (small, reasonable) list of projects I wanted to do this year - with no year left to do them; I've so far spent only a handful of days on my own projects in the entire year.

I spent a whole day sorting out my workshop on my birthday in April, and ended that day with a few little things to finish off - which are still waiting for me. I've not finished the ring casting, which should only take a couple more days, nor rebuilt my furnace, which should take a few days more.

I've done a bit better on computer-based projects as I can do them wherever I have my laptop; I've done some work on my fiction project, and made progress on my organisational infrastructure to convert a huge pile of "things that need investigating to even begin to decide what needs doing about them" into a tractable TODO list, and done some writing for the ARGON project web site.

But, with my ability to concentrate on what I'm supposed to be doing rapidly waning, it's clear that I need some time off. So, I've booked the week before Christmas off of work, and I hope to:

  1. Do what I can to fix the roof in the workshop.

    • It leaks. This will be hard to fix properly, as it'll require spending lots of money on materials; and possibly can't be done until there's some warmer, drier, weather to dry the decking out. But I'll see if I can improve on the current bodge somewhat, at least to give the decking a chance to dry properly without regular re-soakings.
    • There's great big gaps in the eaves, all round the walls, varying from a centimetre up to about twenty centimetres, through which an icy wind blows. All the warm air from the heater disappears, and ivy creeps in. I need to seal them up (minus a controllable air vent to let out humid air and fumes from welding - perhaps an air vent plus an extractor fan with a fume hood would be the way to go in the long run). I plan to saw some strips of wood to length so they can go between the rafters, nail them in place, and use judicious amounts of sealant to keep the tenacious ivy at bay and to account for my general inability to cut wood to exact lengths properly.
  2. Run Ethernet to the workshop so I have an Internet connection there. This will involve spending some money on outdoor-suitable conduit and fittings, and trunking for the interior runs, then drilling lots of holes in walls and running cables through and sealing the gaps. But the result will be that I can actually do computer work at a desk with a comfy chair, rather than hunched over a laptop on the sofa with children tugging at me.

  3. Start building the computer infrastructure in the workshop. I'm looking at a battery-backed low-voltage power system feeding a Raspberry Pi (which I already have, waiting - Sarah got me one for my birthday), bristling with sensors. Because sensors are fun.

  4. If the weather and time permit, work on my ring casting and the furnace, although that somewhat requires dry weather. We'll see.

  5. Chill out, play computer games, write fiction and ARGON prose.

  6. Order the bits to build a chord keyer - I doubt I'll have time to build it by the time they arrive in the post, so I'm saving that for a project I can do at Bristol Hackspace in the new year.

But I need to take care that next year isn't like this one. Taking on so many responsibilities that I struggle to maintain my productivity means I get less stuff done, not more, and makes it hard to prioritise my effort sensibly. I'm going to book three weekend days each month, in advance, for my projects or simple relaxation, rather than just thinking I'll do them "when I get a free day" only to find that all of my weekends are booked up months in advance. I'll be open to rearranging them in order to fit around the days when Sarah or the children need me, or we're visiting people for events - most of the time, it doesn't matter what actual day I do things on. Sometimes this will involve getting a whole weekend, and then just a single day at the other end of a month; that's fine, just as long as it lets me keep making progress on my projects, and giving me a chance to unwind from the stresses of constantly doing what I must do, rather than what I want to do.

Of Biopsies and Dreams and 5 Dimensional Poetry (by )

Today I went to the Drs for my biopsies and de/re-coiling and a chat but unfortunatly the chat took up too much of the time - what with the fact I've had a biopsy that showed polyps not being in their records for me etc... But I am actually feeling alot happier about the whole thing after the chat - I've signed the consent forms and have another appointment when it will all happen and have the good news that the swabs were all negative drastically reducing the chances of nasty things like pelvic infections.

I had to go in with out Alaric as the baby was being full of beans and as always I found it difficult to get the words out to the Dr. It's like my brain goes - ARG! A doctor!

I'm going to have another coil put back in as it is pretty much the only option open to me to thin the womb lining down and having looked at family history it seems the best course of action. Unless something happens like perforiation or the biopsies show something nasty up all this should not have an impact on my fertility. But due to the thickness I am looking at a good long stint of bleeding once the coil is put in (hopefully in the right place this time). So I maybe going onto the pill aswell initially to reduce just how much it will bleed.

The coil is going in specifically to thin the womb lining - I hope it works but I have to wait a month for this next bit due to the over capacity nature of the Drs Surgery.

So that is that and then there is my dream!

Last night I had a dream in which I had made this poetry book out of fabric and lace and different textures. It was a textiles visual poem but more than that - it had my written poetry in and the words actually spoke, the words were woven in and around the substance of the book and the substance of the book told it's own story as did the type and placement of the letters - it was a bueatiful thing.

And then David Tennant (spiky haired Dr Who) appeared and he looked at this textile book and was in love with it and the power of my words and he wanted me to write Dr Who episodes with Neil Giamon. He was convinced that anyone who could produce such a book as that would write amazing Dr Who episodes. In my dream I was embarrased and was trying to explain that I had once been asked to try and write an episode before the new lot started but that I didn't as I thought I had to take into account the film that shall not be named! (This bit actually happened to me whilst I was at Uni but mainly as I was on the right mailing list at the right time).

As I was trying to explain assasins from the future appeared to destroy the book and maybe kill me - I had been encoding the concousness of the universe in the patterns within the book and other pieces of my work - that is why they had such awe and power.

Just as it looked like it was curtains for me Alaric (hubby) appeared and turned out to be an actual Dr Who and defeated the assassins with the gadgets within his coat of many pockets (those of you who know us will be laughing at this bit!).

This was a great dream and I was sad to be rudely awoken from it by Alaric asking where the school uniform for Jeany was this morning.

Now last night I went to sleep mulling over the story line/arch for the series I am currently working on - I plan to write the middle book for NaNoWriMo and I have gotten a long way into the first book of this trilogy. This would sort of explain the book being a code but more than that - I have actually been trying to work out how to make a piece of textile visual poetry since seeing the little knitted bits at the Cheltenham Lit Fest. Also last night just before I went to bed I was noodling around on this blog. Add in the Placebo music and the dream makes a bit more sense.

From this dream I now have a much better idea of what I want to make with regards to my poetry and textiles. And that is 5D textile and wearable electronics highbred of visual, audio and the written word. It is not 4D as though there is a sense of narrative there is no one correct direction of flow. The whole thing can fed back into itself and go round in loops, jump over several pages and so forth. I may have it as a ball book rather than a standard bound tome. It is forming in my mind and it is beuatiful and complex.

Getting kids into programming (and what the Raspberry Pi is lacking) (by )

Back when I were a lad, if you bought a computer, you'd bring it home and plug it into the telly and turn it on and a BASIC prompt would appear.

Tough luck if you wanted to do practical tasks like word processing, but you could type a single command (such as CIRCLE 100,100,50) and be instantly treated to a circle appearing on the screen. Before long, my generation were writing programs to crunch numbers for our statistics homework, and lots and lots of games. And thus a generation of software engineers was born.

Getting started in programming is trickier for the contemporary twenty-first-century child; they have to install a software development environment (their computer probably didn't come with one), and then go through a wizard to Create New Project, write initialisation code to open a window, then write a redraw event handler that takes a graphics context and draws a circle with it. A little less approachable than "CIRCLE 100,100,50". At least you get a simple word processor and a Web browser out of the box, though... I'm no nostalgic Luddite 🙂

Now, the Raspberry Pi has been widely hailed as the answer to our woes; costing just twenty pounds and usable given access to a TV and a dirt cheap USB keyboard and SD card, it's cheap enough to be purchased and given to a child to play with, unlike Mummy's laptop. Also, it has a user I/O port, meaning it should be relatively easily to integrate with home-built robots and other such fun electronics projects.

However, that's just the hardware side. What's seriously lacking is the software. If you buy a Pi and install one of the available Linux images onto an SD card and boot it up, you'll be presented with a Linux desktop environment. You'll be able to get to a shell prompt with little effort, and start learning shell, or get into a Python prompt and start to write Hello World, but that's not incredibly inviting; the effort required to do anything interesting from there is quite high. In particular, getting graphics going is hardly a job for a beginner.

So, I set out to improve on this situation. I've written a turtle graphics engine on top of Chicken Scheme, called Simple Graphics. Installing it is often painful as you need to get all the required bits of SDL and Cairo installed, but once that's done, thanks to Chicken's excellent egg system, installing simple-graphics is easy. And once you've done so, it's just a matter of:

(use simple-graphics)
(forward 10)

...to get started with drawing things on the screen.

However, that initial installation pain can be bypassed by making a Raspberry Pi image, based on the existing excellent work on basic Linux distributions for the Pi, that has Chicken and simple-graphics pre-installed, with a desktop icon to fire up a Chicken prompt with the simple-graphics library already loaded so you don't need the use line. But then I'd also like to add Chicken eggs to drive the I/O port on the Pi, including I2C and SPI. And sound generation, so you can make noises to go with your graphics while driving a real robot turtle through the I/O port...

It would also be good to have a version that boots straight into a full-screen Chicken prompt (which, if you start doing turtle graphics commands, splits into two, a graphics area that can be hidden/revealed/made full screen with hot keys, and the command-line area), for people using small screens.

That way, kids of all ages could immediately have an interactive environment that lets them program the full range of capabilities of the Pi. And being based on Scheme, it wouldn't be a "dumbed down" environment they'll grow out of and have to learn a new language in order to do more powerful things; they'll be able to use all the Chicken Eggs available, as well as being able to write their own code in a language eminently capable of the full range of programming tasks - yet still simple enough for anybody to get started with. Sure, I could have based Simple Graphics on Python or Ruby; but anything they can do, Scheme can do better.

AVR microcontrollers and Arduinos. (by )

I'm a fan of the Atmel AVR microcontroller. The main competitors in its area are the older 8051 and PIC architectures, which have less pleasant instruction sets and are generally harder to program.

Ease of programming is key. Most AVRs can be programmer via a SPI link, which is just four digital I/O pins following a widespread standard that most microcontrollers can drive, and there are widespread interfaces to drive an SPI bus from a PC. It's almost as good as the LPC2000 series 32-bit microcontrollers' asynchronous serial programming interface, which can be driven from an RS-232 port with a little bit of level shifting. I'm also a fan of the LPC2000s, but they fit into a higher-powered niche than the AVRs!

A long time ago I did some AVR development professionally, with a programming board driven from a PC parallel port by some Windows software. I still have the board, and a windows PC with a parallel port and the software installed sitting under a desk, but the "activation energy" of getting the PC powered up and plugged into a keyboard and monitor, and digging out the board, and having to deal with Windows-based development software and all that has stopped me from doing anything with AVRs for a while, given my shortage of time.

However, Sarah has tasked me with developing some electronics for her, as part of a project she's working on. And it looked like the easiest way of doing what's required will be to drop an AVR in.

But rather than dig out the Windows-based dev environment, I've just picked up a USBtiny ISP kit for less money than my original AVR dev system cost. It runs off of a USB port, and supports an entirely open-source AVR toolchain that I can run on my laptop. Inside, it's just an AVR itself, with a USB interface on one end and a SPI interface on the other; everything that I need in one neat little package.

As a plus, it has a cable coming out that I can plug into a header on the board the AVR is part of; my old dev board needed me to pull the chip out of its circuit and put it into the board to program it. Pah!

But while I was there, I also picked up an Arduino Uno. This is a little gadget that has been taking the hobbyist electronics world by storm lately; it's basically an AVR on a board with an inbuilt USB programming interface and a bunch of female headers to make it easy to wire up to various things, and some software to let you program it in C easily with a useful library. There's a wide range of boards that plug directly into the headers to do all sorts of fun stuff, too.

Now, I'm a bit disdainful of the Arduino; given the ability to program bare AVRs directly and to assemble my own circuits on protoboard, I can easily do all sorts of stuff that Arduinos can't, at a fraction of the cost.

However, they're great for beginners, as they are plug and play devices; you can get started without touching a soldering iron or having to work out which pin is which. My disdain is purely personal, I think they're a great thing for the community as a whole 🙂

So why am I getting one, I hear you ask? Well, I have a wife who wants to be able to control LEDs and a six year old daughter who is passionate about building a robot, so I'll be glad to have an easy-to-use module I can just hand them rather than needing to build AVR boards for them all the time; but mainly, I plan to use it as a Bus Pirate clone by putting a FORTH on it along with some words to do things like I2C and SPI...

Alaric’s projects for this year (by )

This year's going to be pretty busy with settling into the new home, but I have a few projects.

  1. Finish the ring casting I nearly finished before the move. That's a priority.
  2. Resurrect my aluminium foundry. In particular, it's our bronze wedding anniversary, so Sarah's going to design a pattern for a sundial, which I will cast in Aluminium bronze, a nice alloy that I can make myself from my scrap aluminium and bits of old plumbing...
  3. Continue with minor stuff on Ugarit, but as a milestone, build the distributed storage backend, which will rock.
  4. Work on my wearable computer project. No specific milestone for this, as it's currently a long drawn out research/prototyping phase as I sort out many details.

Wish me luck... I usually suffer from "all my weekends getting eaten up", but as my New Year's Resolution has been to spend at least one day every two weeks doing something fun with my children, I'm going to be booking weekend days in my calendar in advance through the year for that and my own projects. Before they get filled up!

WordPress Themes

Creative Commons Attribution-NonCommercial-ShareAlike 2.0 UK: England & Wales
Creative Commons Attribution-NonCommercial-ShareAlike 2.0 UK: England & Wales