Mike Harrison - Freelance Electronics Engineer
I genuinely can’t remember a time I wasn’t interested in anything with wires – my parents think it may have been due to my father rewiring the house when I was at an impressionable age. As a kid I was forever taking things apart, but quickly became good at putting them back together without too many bits left over.
A bit of a long one, but the multi-stage cause is an example of how obscure things can bite you many years down the line.
Many years ago I designed a product for a client, using one of the first Atmel AVR microcontrollers. After a few years, the MCU went obsolete, and my client changed to the manufacturer’s recommended replacement, which had twice as much EEPROM and ROM space, but didn’t need any firmware changes, so I wasn’t involved at this point.
A few more years pass, and this second part also became obsolete, and its replacement had a few differences, so I had to make some small chnages to the firmware. All appeared to go well, products were manufactured, tested, calibrated and shipped. Then some customers started reporting what looked like corruption of the EEPROM calibration data, sometimes on delivery, sometimes weeks later. Some reported the problem came and went,
We spent several weeks of frantic testing and eventually managed to repeat the problem.
What I eventually figured after reading through every page of the datasheet in fine detail was this: although the first replacement part had twice the EEPROM (512 vs 256 bytes), and so had an additional high-byte address register, it was initialised to 0 on reset, so the first part change introduced no problems with the original firmware. One of the subtle changes on the second replacement that I’d initially missed was that the high-byte address register no longer got initialised on reset, but powered up in an undefined random state.
In production, the device would power up with the EEPROM high address register in a random state, and the calibration data would be written to whichever page it selected. This would probably have been caught in production if it wasn’t for the fact that the product had a large capacitor across its supply. The effect of this was that the randomly selected EEPROM page would maintain its state for a day or two after powering off – right through the production test and calibration process – and would only take a new random value after it had been powered down for several days, i.e. when it had reached the customer.
Fortunately we were able to send customers a firmware update to fix the issue.
Before the web, I had a huge wall of shelves full of databooks, however the only paper books I use regularly nowadays are distributor catalogues from Farne,, rapid, RS etc. Although I mostly use their websites, there are times when only a paper catalogue allows sufficient speed of browsing and easy location of related products. I just can’t see a time when a website will ever be as fast and convenient as flicking through a paper catalogue for some types of search. It’s not uncommon for projects to arise from something stumbled upon in a catalogue whilst looking for something else – “That’s an interesting part… now what can I build with it?”.
Always assume everything that can go wrong, will – that way you only get nice surprises.
You can never have too many test points on a PCB, and labelling them on the silkscreen can save a lot of time when debugging.
My favorite project is probably the custom LED panels and control system I designed for a public art installation in an office building on Broadwick Street in London’s West End. The installation records the motion of two lifts (elevators) in an external glass shaft during the day, then plays back the movements as ghostly graphics on large LED panels during the night. There were many interesting challenges, not least of which were the physical and regulatory constraints of installing inside the lift shaft of a working building. I particularly like the large scale and very public aspect of it. Also any project that uses 60,000-odd LEDs has to be a good thing in my book!
Another interesting challenge was a crazy art project which involved flying a custom-built UFO sporting over 3000 LEDs from a helicopter over the cities of Gdansk and Rio.
Although one of my hobbies is playing with ridiculously high voltages ( I built a 1 magavolt marx generator that can make 4+ foot long sparks), I got most of my shocks out of the way at an early age, and also quickly learned never to try to catch a falling soldering iron.
Several projects involving ludicrous numbers of LEDs and LCDs – can’t say any more yet!
The projects I get involved in are so varied and random that I honestly have no idea – this is what makes it interesting.