Lilydale lake panorama

If you have ever taken multiple shots of a scene hoping to one day stitch them together in to one great panoramic shot, or if you hadn’t thought about it before now but like the sound of it keep reading. Photo stitching is nothing new, in fact I have heard some digital cameras can even do it for you, or at least assist you in aligning successive shots. I am a sceptic when it comes to software or a device automatically doing it for you – it won’t always work out! I prefer a more hands-on experience, with the option of automation once I find the process tedious.

Hugin is a cross-platform (meaning it will work on Linux, Windows, Mac) panorama photo stitcher (and much more). I can’t remember exactly how I stumbled across this excellent piece of software, but I am sure glad I did! I was simply amazed by the quality of the result this software produces with my photographs. Hugin brings together and utilises features of other open source projects such as Panorama Tools and Enblend/Enfuse and combines them into one user-friendly interface.

After I played around with my first few panorama photo stitches I found myself hunting through all of my photo albums trying to find photos that overlapped in any way so that I would be able to stitch them together. I started to experiment with stitching photos with close-up objects, usually stitching like this does not work out due to parallax error, the object in the foreground will change with respect to the background on each shot therefore when you try to stitch them together, the background and foreground objects between shots do not line up.

Photo stitching is not the only thing Hugin is capable of, it can also change the perspective of a single photo, it can assist in creating 3D models of objects and buildings, the photos being stitched together do not have to be in the horizontal plane nor do they have to be a single row, it can also stitch panorama’s from photos with different exposures by use of exposure blending, and it can blend multiple exposures of the same scene such as a sunset to get a resulting exposure where below and above the horizon look perfect. All of these features make Hugin a very powerful tool, and a must have for the experimental photographer. I suggest you have a look through the list of tutorials to get an idea for the capabilities of this program and have a look through the gallery at some amazing and bizarre stitches.

I’m just getting started with this program but you can check out my Experimental Panorama web album, there are a few stitches there already.

Try it out today and start stitching! It will become addictive, I guarantee it.

Hugin Download Page

I recently purchased a PMG 332AT black Bakelite telephone which I have been after for some time now. I love the look of this old phone and I wanted to restore it and have it up and running as a functional extension in my home. It was to complement the PMG switch board which has been waiting to be restored by myself for the past 10 years (more info to come).

PMG 332 AT Bakelite TelephonePMG Wooden Switchboard (PBX)

A bit of history about this phone and its origins; back in the year this phone was introduced (1939) Australia’s telegraph/telephone systems were run by the post office then called the Post Master General (PMG) until it was split off into Telecom Australia (now known as Telstra) and Australia Post in the 1975. The phones were manufactured by the British Post Office (BPO) and imported into Australia and re-badged as PMG.

The phone’s casing is constructed from Bakelite, one of the first plastics ever devised. Items which were made with Bakelite might have felt a bit cheap at the time, however now days radios and phones made from Bakelite have become collectors items, and hence if in near mint condition can be worth quite a bit of money.

One of the problems with Bakelite is that it can be very brittle, especially after aging, the phone which I managed to pick up for a decent price contains a small chip in the draw cover on the base, and a large chunk of the mouthpiece cup is missing, along with a crack down the side of the mouthpiece. I am currently hunting down replacement parts to start to restore this phone.

In the meantime I was able to open up the phone and get it functioning again. The phone’s design is fairly simple, so not too much can go wrong with them. When I first got the phone home I needed to wire a suitable modern connector to the existing cord, after plugging it in I noticed that the phone had a few issues, I could not dial out, however the phone bells would ring on an incoming call, but picking up the hand piece would not take the phone off-hook so I could not answer incoming calls either. The phone’s rotary dialler was lose in the case, however I could dial it and it would return nicely so I was confident that part was still functioning.

I opened up the phone and started to clean the contacts which contained a bit of corrosion. I tightened up all the fittings and screws to secure the rotary dialler firmly in the case, connected all the wires back into the terminal block and with some luck plugged it in and it worked! The bell would ring and I could pick up incoming calls.

Now one of the problems I face with this phone is the pulse dialling, modern phone systems use tone dialling known as DTMF (Dual-tone multi-frequency). I have read that the telephone system still supports pulse dialling, however my situation is different, I do not have a real phone line.

I am running a VoIP (Voice of Internet Protocol) system at home, the service which connects the VoIP to the PSTN (Public Switched Telephone Network) which allows me to make calls to phone numbers on the telephone network at lower rates is supplied by my ISP (Internet Service Provider). My Internet connection is ‘Naked ADSL2’, “naked” meaning its using the physical phone line for the connection, but the phone line has its connection to the telephone network “stripped” off.

Traditionally with a VoIP system, VoIP telephones are used, however a small device known as an ATA or Analogue Telephony Adapter which implements an FXS or Foreign Exchange Station (sorry about the telephone jargon) can be purchased that allows you to connect a traditional ‘analogue’ telephones to VoIP systems. I am running my own internal VoIP server on my home network. Asterisk which is an open source telephony PBX (Private Branch eXchange) software package allows me to have multiple lines in-use at the same time in either direction, I can implement voicemail, music-on-hold, extensions, and much much more.

I purchased a Grandstream HandyTone 286 (HT286) which is an ATA device and this was actually the first way I had of testing the Bakelite phone. It actually works very well although here comes the problem I was getting to earlier… it does not support pulse dialing! So I can only receive incoming calls, I can not dial out :( After doing some reading online, devices are available especially for these old phones that will convert pulse dialling into DTMF tones, so this seems like the solution to my problem.

Ok… I think that I have rambled on enough in this post so I’ll cut it short here and save the good stuff for part 2!

I have always been interested in it, but until now I had never taken the plunge into the world of free to air satellite TV. The idea of having so many channels from different countries available at your finger tips is both exciting and worrying, although I don’t think ill be in risk of becoming a couch potato – I can’t sit still long enough!

The decision to purchase some satellite reception equipment was partially due to my partner wanting to watch TV shows from her home country, I just figured this was a great excuse to buy the equipment and play around with picking up satellite transmissions.

During my research into what equipment would be required and what satellites and channels I could pick up, I came across a number of very useful online resources, Lyngsat – which lists all the available satellites, their location, various beams and their footprint, channel/frequency list, and much more. Another site I found useful is DishPointer and as the name suggests, it assists you in  pointing your dish to your desired satellite, it utilises Google maps and can visually show you the line of site to the required satellite from your location. Very helpful to see if trees or tall building would be an issue. There are also numerous forums containing many posts of almost all questions you would want to ask.

One thing I decided early on, and that was to only start this project if it is possible to do away with a set top box and utilise my existing MythTV set up. The last thing I want is more boxes under the TV, and even worse, not being able to schedule recordings! For those of you who are not familiar, MythTV is a great Open Source DVR (digital video recorder) software package available for Linux. I might do another post shortly explaining my existing MythTV configuration for those who are interested.

After researching what I needed, I determined that a 2.3m C-Band dish would be my starting point, mounted in a fixed position for now but with the ability to add a linear actuator at a later date. I ended up purchasing a kit, which contained:

  • 2.3m Joysky heavy duty dish
  • OpenBox X800 Receiver (Set Top Box),
  • Strong C-Band 15K LNBF
  • 30m RG6 coax cable.
  • 4 F-type crimps.

2.3m C-Band Satellite DishOpenBox X800 Satellite Receiver

I didn’t actually want the set top box, however the kit price seemed quite good and I thought it would be better to tune into my first satellite on something I know ‘should’ be able to work the first time and once I have the system working I can sell off the set top box and purchase a DVB-S2 card for the mythbox.

After reading about the systems used for satellite TV, it seems that currently most systems are using DVB-S, and the newer DVB-S2 is starting to gain momentum. From what I understand, DVB-S gives you stardand definition (SDTV) using MPEG2 and DVB-S2 gives you high definition (HDTV) using MPEG4. I am not sure if any free to air (FTA) channels would be using DVB-S2 yet, however I want the hardware I buy now to last a while. There are a number of suitable DVB-S2 PCI, PCI-E and USB devices available which seem to have Linux support. I am currently considering the Twinhan AD- SP400 which also includes a CI (Common Interface) slot which allows CAM’s (Conditional Access Module) and would provide me with a way to access Pay TV if I wish to subscribe at a later date.

Another satellite TV standard that I found interesting and useful is DiSEqC (pronounced Die-Sec, meaning Digital Satellite Equipment Control). I had seen the configuration options for it in the mythtv-setup program before, but before now I had no idea what it was about. From what I understand about it so far, it is basically a communications protocol that allows your satellite receiver to control LNB’s, switches, and motors/actuators over the same coax cable that you are receiving your signal on (and also powering the devices with). I won’t go into the details of it as there are already plenty of online resources for it, see DiSEqC on Wikipedia, or take a look at the specifications over at Eutelsat where the standard originated.

I have not done much apart from open the boxes on the kit to see all the various parts, I have not purchased a pole to mount the dish on yet, I need a 76mm diameter pole and to get above the roof I would probably want it around 4m long. My plan is to secure the pole into the ground and attached the pole to a wall with at least two brackets. I am also considering moving house at the moment so I don’t want to set up the dish at my current house if I have to rip it all down again in the next month, therefore I probably wont be posting a part 2 for a while.

A few months ago I had purchased two Sony FCB-EX470L block cameras (an ebay bargain!) with the intention of playing around with machine vision, image processing, and stereo vision which would lead me into building an autonomous robot.


I had been intending to design and build a video capture board using two NXP SAA7113‘s for video input, an FPGA, ARM9 and Ethernet, however as things like this always go time and money were lacking.

I was browsing dealextreme a few weeks ago and came across a very cheap USB 2.0 video capture device with composite, S-Video and stereo audio inputs, the device was called EasyCap. I immediately did some research (google search) on the device and found an open source Linux device driver named stk11xx which seemed like it would support it. So I ordered two of them!

Once I received the devices, first thing I did was pull them apart, I was pleasantly surprised to see that the cables came in to a connector which I had housings, crimps and a crimping tool for (Molex PicoBlade p/n: 51021-0800, Digkey p/n: WM1726-ND), so I wired up a cable direct from the camera block to the EasyCap using the S-Video C, Y and GND signals. The PCB looked like it had been manually re-worked, there was a large amount of dried up flux around some of the chips, so I cleaned it up with flux remover, this is to be expected with devices so cheap out of China.

I had quite a bit of trouble getting a picture out of the driver, first of all the latest release of the driver which at the time was 2.1.0 would not compile under my kernel (2.6.31). After reading through some forums of people in the same situation it turns out that I needed the trunk of the subversion repository, so I checked it out and compiled it, it compiled fine and loaded into the running kernel without any problems. I ran mplayer with the suitable command line switches but all I got was a blank window, I could not seem to get any picture from the device even though multiple people reported it working fine.

After a while I gave in and decided to try it under Windows. The day I was testing this I did not have the CD that came with the device, so I found some drivers on the net from a forum that explained how to get EasyCap working in Win XP SP3. I got the drivers installed and ran the application that came with it, selected NTSC-M, S-Video, enabled Preview, and it worked! A very clear 640×480 @ 25fps appeared, I was very happy with the quality of the video. So this tells me that the hardware is working fine, which is what I needed to know before proceeding with the Linux driver.

The first thing I thought could be causing the problem of it not working in Linux is that perhaps the stk11xx driver is hard-coded to only use the composite video input, so I plugged in a composite source and tried it again, It worked! It was clear what I now needed to do, I grabbed the NXP SAA7113 datasheet, looked up which registers would need changing to switch from composite video to S-Video input, there were a few combinations so without tracing the tracks on the PCB to figure out which I needed, I just changed the register values, going through modes that supported S-Video input one by one until I got it working.

I will do another post shortly with more detailed information on what is required, however if you can’t wait, all I had to do was write to the SAA7113’s Video control register to change the mode, the existing code was writing 0x80 to register 0x02, the lower 4bits set the mode, I needed to write 0x87, so I just replaced every line I could find that wrote 0x80 to register 0x02 and changed it to write 0x87 and now it is all working great from the S-Video input! I am very happy with this purchase.