More tea please.

Gerber hacking

I’ve spent some time lately sorting out a utility to tile Gerber files. I’ve wanted a utility to do this for a while, but I couldn’t find a utility that would work for me. Then I came across libgerbv, which is the backend library of gerbv, a Gerber viewer.

Since then, I’ve submitted two patches to gerbv, which were both accepted really quickly (yay!).

I had some other issues with libgerbv that I have fixed locally, and I’m working on cleaning up my patch for submission. It needs to touch some more things than my last two, so it’ll take me a little longer. I’ll be talking about that more soon when it’s compatible with gerbv CVS (CVS == sneeze).

It was only after I’d written most of the utility and come across the first libgerbv bug that I discovered that gerbv can do Gerber file tiling when invoked from the command line. My utility has a slightly different than gerbv’s. Anyway, more on that later.


I’ve also been working on making a utility to make spirals on PCBs. It’s available here. If you’re interested, you can build it like so:

git clone git://gitorious.org/pcb-spiral/mainline.git pcb-spiral
cd pcb-spiral
git submodule init
git submodule update

Maybe it’ll be useful to someone else too…

Posted at 3:09 am on Tuesday 31st March 2009

FET430 Firmware Already Fixed

I just had a very quick look into what could be done to fix the FET430 UIF firmware loading issue I wrote about before. The issue looks like it was fixed in this commit. That’s in Linux 2.6.29, which was released 6 days ago.

No work for me to do there then…

Posted at 4:28 am on Sunday 29th March 2009

fetproxy: An open source replacement for msp430-gdbproxy

Just under 3 months ago, Tom and I reverse engineered the protocol to talk to the TI FET430UIF MSP430 debugger.

We weren’t confident that we could release the source without legal repercussions. We couldn’t really afford to pay a solicitor to find out what our legal position was (I got a quote from one of £600). We gave the problem some thought.

Letter to Texas Instruments After many discussions about what we could do, we decided to send a letter to TI to ask them whether they’d mind us releasing our code as open source. That letter is here on the right. Click on it to be able to read it. (You may notice that I’ve blacked out my address.)

Today I got a phone call from Thomas Mitnacht, who is Texas Instrument’s Development Tools Manager for MSP430 Microcontrollers and is based in Munich. After I’d explained to him why we’d reverse engineered the protocol, he said that he was happy for it to be released as open source. This is amazing. Thank you Thomas Mitnacht and TI!. I was quite surprised how quickly TI responded to this request.

He said he’d prefer for it to be under LGPL or GPL version 2 so that they could use the code, as apparently they’re not sure yet about how to deal with the patent requirements that GPLv3 has. Personally, I think the patent clauses in GPLv3 are useful and will help to make our software more free. However, given that TI could have given us a much harder time about this, I’m willing to release it under version 2.

Thomas also informed me about some important things to do with the MSP430 debugger. They’re not able to release the source code of their FET430 interface library at the moment. I think this is because of some licensing issues they have with that code. They’re working on a replacement library that will be open source and available at the end of this year. Sounds good. I’m looking forward to it.

I’m extremely happy to release the source code that Tom and I hacked together at 25C3. It’s a bit dirty at the moment, but now that we can have it out in the open we’ll definitely be putting more work into it.

Quit rambling, just give me the code!

I’ve put the code up in a git repository on gitorious. You can grab it like this:

git clone git://gitorious.org/fetproxy/mainline.git fetproxy

Several people have emailed me over the last couple of months asking me for the source. I’ve had to give them all a bit of a disappointing reply, which was “sorry, please wait”. If you’re one of those people, I hope that you understood.

P.S. Further good news: My msp430-gcc Fedora package passed its review a couple of days ago. It’ll hopefully be shipping within the next week.

Posted at 8:08 pm on Wednesday 25th March 2009

Formica Community Site

I’d really like to get a development community around the Formica robots. I really enjoyed seeing Toshaan and colleagues build upon and develop the Formica designs for themselves. From the response we got from Jeff’s 25C3 talk, we know that there are quite a few people interested in building these tiny robots.

So we’ve set up formica.srobo.org; a wiki to act as a hub for Formica robot development. We would like to invite everyone who’s involved in Formica related projects to get involved with it and use it as a repository for information. This site is generously hosted by Student Robotics. Our thanks go to everyone in SR for that.

We’ve also opened up the mailing list that we used whilst the project was part of our degree. We hope this will become a place for people to publicly discuss projects relating to the Formica robots.

In moving to formica.srobo.org, I also transmogrified our subversion repository into a git repository. Details of this can be found on the software page of the Formica wiki.

Posted at 7:30 am on Tuesday 10th March 2009

High resolution with a Matrox G550

Klaus and I spent several hours on Friday getting his new monitor to work with his slightly aged graphics card. His new monitor is a Samsung 2048×1152 LCD/TFT.

The G550 specs claim that it supports this resolution through the VGA output. Unfortunately, somewhere along the line, the DDC data was being ignored. The display specs stated that it supported a pixel clock up to 157 MHz, but Xorg told us otherwise and would limit it to 140 MHz.

So the first thing to do was to get it to ignore the DDC data, as this was definitely wrong. The “NoDDC” option in xorg.conf does this:

Section "Device"
    Option "NoDDC"

After much testing of various modelines and configuration, we discovered the undocumented “ReducedBlanking” option that allows higher resolutions to be sent over VGA connections with a short blanking period between lines. Modern TFT displays support a reduced blanking interval, as they don’t have to allow time for an electron beam to move back to the other side of the screen.

This did make me wonder whether in the days of CRTs anyone had thought of alternately reversing the direction of each horizontal line supplied through a VGA cable. I think this would allow for a reduced blanking period, higher resolution or reduced pixel clock. I guess CRTs never got up to the resolutions where this was an issue.

The trick is to put this in the “Monitor” section of your xorg.conf:

Section "Monitor"
    Option    "ReducedBlanking"

This isn’t mentioned in the xorg.conf man page. It should be!

Once we’d found that option and used Erich Boleyn’s CVT Timings Program to generate the required ModeLine with a reduced blanking time, the monitor and graphics card worked fine.

The next challenge was getting a second monitor to work on DVI output of the graphics card. Unfortunately we came across a bug that would have required us to rebuild the mga driver from source. After spending many hours getting the first monitor to work, this was too much for us to bear for one day.

There is a patch in the Xorg bug tracker that will hopefully make it’s way into a release of the mga driver in the future (unfortunately I can’t remember the bug details). Then Klaus’ monitors will both work.

Posted at 3:32 pm on Monday 9th March 2009
One Comment

Formica IEEE Talk

Jeff and I are giving a presentation on the Formica robots on Tuesday evening for the University of Southampton IEEE Student Branch. We’ll be doing a live demonstration with robots. More information can be found on the UoS IEEE site.

If you’re at the University of Southampton, this should be a nice opportunity to see what sort of stuff you can get up to during your fourth year.

Posted at 9:00 am on Monday 9th March 2009
One Comment

Shed Roof Manufacture

Jeff and I spent a chunk of the weekend working on constructing our shed. I haven’t blogged about our progress for a while. Since my last update, we’ve constructed the four walls:

Shed with Walls


Yesterday we spent about 2 and a half painful hours in B&Q. Most of that time was spent in the insulation aisle trying to decide which insulation offered us the most efficient translation of money into thermal resistance. (Yes! Our shed will be insulated :-) This took ages because all the products provide different statistics on how good they are at insulating. The means to understand or convert between these values were not available to us. We asked a B&Q employee, but he was more interested in telling us that there was some insulation available for half-price.

We eventually resolved the issue after Jeff found the datasheet for one of the products with his iPhone, allowing us to compare it against another.

Saturday then dissolved into other non-shed related things.


We’d also bought some other bits and pieces at B&Q, including some OSB and roofing felt. As soon as we started moving tools outside, it started raining. Of course by the time we’d finished repairing and putting up the awning, it had stopped raining.

We had to leave the protection offered by our awning to assemble the roof frame further down the garden. Five minutes after we’d started work on the patio, it was raining hard. A couple of minutes later, it was hailing. I think Joe took a video of us cursing about the rain from my window.

The hail stopped after a few more minutes and we spent the next couple of hours fitting the studwork into the frame. Then we began adding the OSB that will form the top of the roof:

Shed Roof Construction

It then got dark. We went through the familiar rigmarole of getting a light out and deploying the extension lead from the house. More rain. Wet sawdust is not nice! Our roof now has the outer layer of OSB on it. Unfortunately I have no pictures of this, as we were trying to get out of the rain.

Hopefully we’ll get the roof up in our next episode of construction. After that it’s the exterior cladding. It’ll be really good once that’s on, as it’ll feel like we’re really in a shed!

Posted at 2:55 am on Monday 9th March 2009

Student Robotics Documentary

Last year, Franzi, who’s in the University of Southampton Film Society, made a fantastic documentary film on a team that entered Student Robotics. I’ve only just got around to getting it online. Here it is:

Can’t see the video? View it here.

Posted at 12:35 am on Monday 2nd March 2009

Site by Rob Gilton. © 2008 - 2019