Author Archives: Phil Pemberton

Film or digital?

Well, this past weekend has been fun. I spent Saturday slaving away at work, selling cameras and such to the masses (I feel a little like Hank Hill — “Do you have any questions about propane? Or propane accessories?”). Sunday was, however, considerably nicer — I talked the ‘rents into a ‘family trip’ to the second day of the RAF Waddington Airshow, and took most of the camera gear with me.

Total number of photos taken (digital): 1,358.

That’s right folks, one thousand, three hundred and fifty-eight photos. Spanned across five 2GB CF cards and one 4GB. Did I mention the films? No?

Two 36exp Kodachrome 64
Two 36exp Fuji Velvia 100
One 36exp Fuji Sensia 100
… and a 36exp Fuji Reala that was sitting in the bottom of my camera bag.

So that’s another 180 shots, bringing the grand total to 1,538. Nice.

I’ve spent most of today scooting around Leeds dropping films off — the Kodachromes are off to Kodak in Switzerland, then to Dwayne’s Photo Service in Kansas. Why I couldn’t just send them to DPS I have no idea… Anyway, I’m looking at somewhere between 21 days and (insert infinity symbol here) before I get those back… 🙁

I dropped the other films off at a local pro-lab (CC Imaging, the same guys that nabbed the Fujifilm contract for the process-paid Sensia films), so those should be back for Wednesday. I’m looking forward to seeing the shots on the roll of Velvia I had in for the Red Arrows flyover, some of those shots should be pretty damn spectacular (based on the ones I took on the 40D just before my last CF card filled up).

I’ll stick some of the digi photos on Flickr or G2 soon — i.e. when I’ve dug through them and separated out the “keepers”. My keep-rate on film is usually about 45-70%, on digital it’s FAR lower. Like, 2-10% on a good day. Still, at least I only end up paying for what I print… 🙂

And the 40D’s shutter counter is still in the low thousands. 7292 at last count. Gawd, I need to use that camera more often… And >1300 shots out of a pair of batteries (I’ve got a BG-E2N grip bolted on, with a full complement of batteries) with the battery meter still reading “full or very close to it” as of now is *not even remotely bad*. Especially when I had the 100-400IS on there with IS enabled for nearly the whole day. $DEITY, I love this camera. I love the 33V as well, but not as much as I love the 40D (the former is in dire need of a battery grip, assuming I can actually /find/ one).

Although the icons for the various metering modes *could* be a bit more obvious… That said, hitting INFO twice pops up the “idiot’s guide”, so it’s not that big a deal…

That’s all for now, I promise… I need to go find some more after-sun. Note to self: don’t go out in the blazing sun without high-SPF sunblock. Urrgh.

Fun with level translators

Hmm, seems I’m blogging more than usual. Is that a good thing or a bad thing? I’m really not sure…

Well anyway, I’ve spent the best part of two days building up a GPS receiver. It’s based on a FasTrax iTrax321 “receiver on a chip” (actually a SiRFStar III chip and support components mounted on a small, thin PCB) and has one real purpose in life — to take a 5V supply and a GPS signal, and spit out an NMEA0138 serial data stream containing navigation data, and a 1PPS (one pulse per second) timing signal for my GPSDO.

Catch is, the SiRF chip is designed to run off of a very low voltage power supply. Like, 1.8V low. Oddly enough the iT321 takes 3.3V and regulates it down… Basically, this means I need an external level translator, a 3.3V regulator (for the iT321’s main power supply) and a 1.8V regulator (to provide a 1.8V reference for the translator). Using the highly scientific method of “buy ten of whatever’s cheapest”, I ended up with a tube of ten TI TXB0104 level translators, and ten each of the 3.3V and 1.8V versions of National Semiconductor’s LP5951 LDO regulators.

The datasheet for the iT321 is pretty concise as to what you need to do to make the chip work. It wants a Vcc between “X” and “Y” volts, the antenna track needs to have a Zo of 50 ohms, and so on. I’ve deviated from the spec a little, however — I wanted something I could build at home, so I stripped the board down to two copper layers, on a 0.8mm FR4 substrate. First power up, the iT321 booted, sent a couple of debug messages across the serial port, then immediately started sending NMEA0183 navigation (GPGGA) reports.

Problem is, the RS232 data was going as far as the iT321 side of the 220-ohm protection resistor (in the signal path of all I/Os that run between the iT321 and the TXB0104), but all the PC on the other end of my debug cable was seeing was… well… noise. A quick buzz with my scope revealed noise on both sides of the the TXB0104. And by noise I mean something that looked distinctly like the TXB0104 going into self-oscillation. A 40MHz sine wave on every line that was connected to a piece of wire, but the one open-circuit output was transmitting the exact data the iT321 was telling it to (the VALID FIX output).

So it seems the TXB010x series (TXB0104, TXB0108 and similar) have issues with driving inductive loads (like, say, a metre of six-core flexible wire). I added a 74LS244 buffer between the TXB0104 and the debug cable, and the noise vanished — in fact, I’ve been sitting here watching the GPS board’s output on Fastrax’s debug app, GPS Workbench. Eight SVs in use, two more being tracked, first fix in 17.8 seconds, and a HDOP of 0.90. No doubt about it, the SiRFStar III is a very nice receiver… I just hope its 1PPS output is as well-implemented as its navigation algorithms.

Plan of action now is to design the GPSDO (which will probably be based on a couple of 74HC dividers and a HCT4066 PLL chip) and then build up that and a Rev D GPS receiver board. Then I just need to build up the frequency counter and Zener diode tester…

EDIT: Before anyone asks, the iT321 is based on the SiRF GSC3LTf — see http://www.sirf.com/products/GSC3LTf%20Product%20Insert.pdf. The specs for the iT321 are here: http://www.fastraxgps.com/products/gpsmodules/300series/it321/

ubuntuUsers++

I am in the process of bringing one more user into the Linux fold… my mother.

Basically she wants to use Skype, but the webcam she bought doesn’t come with Windows 2000 drivers, nor are any available (it’s a Microsoft Lifecam VX-1000… *spit*). Choices are upgrade to Vista or XP (her laptop is slow enough as it is!), or switch to Linux. She’s already using Firefox, Thunderbird and OpenOffice, which all have Linux versions available. In her case, there is no learning curve — Win2000 asks for a username and password when it’s started, so does Ubuntu. All the software is the same; the only thing I’m going to have to do is say “the recycle bin is there, the CD recording software is called Brasero, and this is how you get onto the LAN.”

And she gets to use her webcam. I also suggested that her creaky old laptop (Toshiba Satellite Pro 4600 — upgraded to a 1GHz Pentium III, with a 40GB hard drive and a DVD writer in a very non-standard configuration) might run a little faster under Linux. Well, the antivirus and firewall won’t be sitting there eating clock cycles…

The HDD is backed up, so tomorrow all I have to do is pop the CD in, boot off of it and hit “Install”, then “Erase existing partitions”.

This is going to be fun.

And bringing another person into the OSS/FS community can’t really be considered to be a bad thing. Can it?

Green eggs and spam

I’m seeing rather a lot of spam turning up from Telecom Italia’s netblock.

So much so, in fact, that I’m seriously contemplating blocking their entire IP address range on all the servers I admin. Or at least adding another rule to SpamAssassin: “if it comes from *.TelecomItalia.it, give it a score of 2.5 to start with”

Fun.

Repair Tip: Viewsonic VX922

*Device:* Viewsonic VX922 TFT monitor

*Fault:* Power light blinks green “long on, short off”. Some signs of backlight activity, but display otherwise black.

*Cause:* Defective “Capxon” electrolytic capacitors on AC power board. Possible issues with defective “Teapo” electrolytic capacitors on the controller board.

*Solution:* Replace all electrolytic capacitors on the power supply board with suitable replacements — e.g. Panasonic FC or FM series. Be aware that space is tight, and as such replacements will need to be the same size as or (vertically) shorter than the existing parts. Vertical height available is ca. 18mm (0.75in).

Replacement of capacitors on the controller board may also be necessary, but be advised that due to a lack of thermal relief on the capacitor pads, desoldering (and soldering of replacement parts) will be difficult using any less than a 100W *temperature-controlled* soldering iron. Try replacing just the PSU capacitors first; do not replace the Teapo capacitors on the controller board unless a PSU component swap fails to repair the monitor.

Makefile template v1.4

Hi folks,
I’ve done a little bit more work on my Makefile template..

Here be version 1.4

I’ve added a small bugfix — if you built a program solely from C code, the C++ linker would still be called to link the object files into an executable. This means that while the executable would work, the C++ runtime would also be linked in, adding an extra runtime dependency (libstdc++), and bloating the executable.

Now you specify the program type — whether it contains any C++ code, or consists solely of C code — in the SRC_TYPE Makefile variable, and the relevant compiler is called at build-time.

“Oops”.

Kubuntu -> Ubuntu, stage one complete…

Well, the upgrade from Kubuntu 8.04.1 LTS to 8.10 was fairly painless. I’ve lost the Eee OSD and ACPI script fixes I applied, and the installer rather helpfully removed the Array.org kernel, so I can’t use the WiFi on my Eee 1000H any more. Those are easy to fix, though.

KDE4.1 is… well… awful. It’s redlining the CPU and thrashing the HDD quite badly (on a 1.6GHz Intel Atom N270 with 2GB RAM no less). The UI is slow. Slow, slow, slow, slow, SLOW! I though the Vista beta in VMware Server was bad, but this takes the biscuit!

I like (some of) the eye-candy, but the plasmoids are completely over the top, and the random graphics glitches are awful.

Four and a half minutes from entering my password to actually being able to start an application.. Ugh.

Going cold turkey on KDE…

Those of you who know me in real life will probably know that I’ve been a KDE user since I started using Linux, back in the days of Mandrake (now Mandriva) 6.1. Wikipedia says that was 1999. Wow. Nearly ten years of Linux geekery… I feel old.

Since then I’ve used Slackware from about 2002 to 2004, then Fedora from ’04 to the back end of ’07. A very nice bloke by the name of Anthony Fielding then showed me the True Light of Ubuntu, and I adopted Kubuntu 7.10 on my desktop box. The one constant through all this was KDE.

Not anymore.

KDE4 is, in my opinion, a total joke. While I realise it’s still under heavy development, its default installation looks far too much like Windows Vista. The default taskbar colour scheme is awful (and KDE Control Centre won’t let you change it, at least not in 4.0 and not easily), and the speed on my Eee 1000H has gone from “reasonable” to “I could make a cup of tea before that finishes!”

I’ve been stubbornly sticking to Kubuntu 8.04.1 LTS (seeing as that’s the last KDE3 release) and lamenting the relative lack of updates to the Intel graphics drivers (which apparently fix a nasty bug that causes the VGA-out to cut out after an hour on 1000Hes, necessitating the use of the internal LCD or a reboot)… This evening I installed Ubuntu 8.10 on an 8GB Cruzer Titanium pendrive (which, incidentally looks awful by comparison to the earlier 2GB Titanium — Sandisk, what are you doing?) and spent a few minutes playing with Gnome.

I’m in love.

Again.

But even though I’m ditching KDE, I’m keeping Amarok. And maybe Kaffeine… Somehow Rhythmbox doesn’t quite suit the way I listen to music, and as for Kaffeine.. well, it’s just about the only Linux video player I can find that handles DVB correctly (as in: gives me a channel list instead of asking for frequencies, QAM constellation types and symbol rates).

Floppy disc reader/writer project — update 200810/1

A few of you might be aware of my pet project — a floppy disc reader/writer that operates at an insanely low level (it operates on individual magnetic flux transitions). The advantage of this thing being that it’ll be able to read (and write!) just about any disc format that can be read in a standard 3.5″, 5.25″ or 8″ disc drive.

Well the big news is that I’ve got approval to cover the software side of things for my final year university project. I’ve also taken a different route to developing the hardware — I’m going to use an Altera Cyclone II Starter Kit (and a pair of bodge-boards) to build a prototype, then work on pulling it into the CAD software later. Given that the HDL code is basically done, this means I can spend nearly all of my 30 weeks (well, 27 weeks now) getting the software finished.

For anyone who hasn’t seen the C2SK board, it’s basically a rebadged TerASIC DE1 development board. 18 LEDs, four momentary switches, 10 two-position switches, a four-digit seven-segment display, 8MBytes of SDRAM, 4MBytes of flash, 512KBytes of SRAM, an SD card slot (!), VGA out, RS232, audio in and out, a PS/2 keyboard connector and two User I/O connectors… which are good old 40-pin IDC sockets. All for £99 plus VAT from Digikey.

And the default startup program does a neat LED chaser display that has been described as “[airport security attract mode](http://flickr.com/photos/68931440@N00/1590316984/)”. I can’t help but agree, the demo sequence is very show-offy.

Software-wise, I’ve done a few quick tests to do histogram analysis of disc track data, but I’m going to have a crack at some MFM decoding over the next week or so. Chuck G. was kind enough to send me some FM, MFM and GCR samples last year, which I’m ashamed to admit I haven’t had a serious look at yet. I really need to get my hands on a few floppy discs from “strange and unusual” machines. I’m aiming for Amiga and BBC Micro at the moment, but I’ll probably add PC floppies to the mix later on.

But first, I need to get the SDRAM working with the FDDReaderWriter HDL code…

Thoughts on sources of small, cheap Li-ion batteries

I think I’m on a “make it smaller” bent again.

I’ve ended up building a laser tachometer to assist in testing the motor speed controller code (which is going to end up using a PID loop for speed control, more later). After I finished it, I realised that I’d ended up designing what effectively amounted to a reusable test/measurement hardware platform. All I needed was a power source.

Farnell stock a decent range of Li-ion batteries, but it seems all the reasonably high-capacity ones are either horrifically expensive, or just plain too big for the Maplin “T2” plastic cases I’ve grown fond of.

Enter the Hahnel HL-5L, a clone of the Canon NB-5L. Truth be told, I wanted the Jessops NB-5L clone (it’s 1100mAh, the Hahnel is 950mAh), but said battery wasn’t in stock at the time…

The measurements of the battery are:

* 45mm long
* 32mm wide
* 8mm tall

So it’s a perfect fit for the T2, among other things. The near-1Ah capacity also makes them very useful for portable gear. I suspect they’re probably Lithium Polymer rather than Lithium Ion, but they’re much better than the Samsung mobile phone batteries I’ve been using recently…

Connecting them would seem to be the hard part – there are three pins — +, T and -. + and – are the positive and negative power supply (actually +3.7V and 0V, but that’s an academic point). The T pin appears to connect to a 10k thermistor inside the battery pack.

There don’t appear to be any magic-handshake procedures involved in getting these batteries working, unlike most laptop batteries (I bought a few Compaq laptop batteries a while ago and ended up stripping them for cells, and adding a custom safety circuit). Charging should be a piece of cake — no doubt the good old [Maxim MAX1811](http://www.maxim-ic.com/quick_view2.cfm/qv_pk/2536) or the newer [MAX1555](http://www.maxim-ic.com/quick_view2.cfm/qv_pk/4002) should be suitable. Both are specced to charge Li-ion and Li-polymer packs.

Next step will be to build a connector for this thing – the Ixus cameras that use this battery (860IS and such) use three thin brass (?) spring contacts mounted in a plastic body. I’m probably going to end up using epoxy putty to make the base, and some brass sheet to build the contacts…