Nicholas Skinner - Freelance website/web application and embedded software developer, hobby electronics enthusiast
From memory I started out mainly just wiring up simple lights, buzzers, switches, and sometimes integrating them into existing (non electronic) toys. I can also remember a few other projects such as making small games out of cardboard box lids where if you connected a wire to the terminal next to the correct answer of a maths question a light would go on, building a crystal radio, and several others put together from simple kits such as a potato clock, small cars, and a robot that moved from a wired controller.
I had an “All-In-One” electronics kit and completed a few of the projects with that however my main interest was wiring up actual things around my bedroom and my parents house. These were usually 12V lights, and speakers salvaged from old electronics equipment. I installed an intercom system from my room to 3 rooms downstairs, and extended a remote door entry system up to my bedroom. I also bought an old mains operated wired alarm system (complete with magnetic reed sensors, and PIR sensors) which I setup in my bedroom. My parents did not particularly approve of wires trailing around the house so I had to get creative / lay them under carpets when they were out.
I can remember having a local Tandy electronics store although it later shutdown, I also sometimes received bags of various electronics components from Tandy such as LEDs, bulbs, motors and switches for birthday and Christmas presents, most of which went to good use in one project or another.
Soon however I started getting a bit more adventurous, a few more memorable projects that come to mind:
My doorbell “tricks” apart from Halloween were always aimed at my friends / family.
On the programming side my first memory was programming our Olivetti 386 in GW-Basic to earn a Scouts Computer Programming badge. I later moved onto QBasic. I wrote a few applications, and simple games such as one moving a character across the screen if you answered questions correctly. I also modified the Nibbles game that came pre installed, adding level cheat codes. In school I programmed a guessing game on a basic graphics calculator (I do not own a more modern graphics calculator but I believe they are now much more advanced – at the time however it was not particularly straight forward). Throughout the years I purchased (usually at car boot sales), programmed, and then sold on several other computers such as the BBC Micro and ZX Spectrum.
For most part projects I work on do not need any particularly advanced tools, however I do need a few basics that work reliably. One purchase I would consider very worthwhile was a simple 2 port PCI serial card. Serial ports used to come as standard on the motherboard for all PCs and usually worked fairly reliably. Then they moved to only being available on headers for which you needed to purchase a breakout for (not great, but something that could be worked around – I purchased one and changed the pinout to work for the motherboard I had at the time), and then they stopped being available even on headers. At first I tried using various USB to serial adapters, first cheap imports, then more expensive brand name models, but they still never seemed quite as reliable as those provided from the motherboard. Finally after some searching I found a PCI serial card that worked with Windows 7 64-bit, it seemed like an expensive purchase at the time just for two serial ports (considering USB dongles are so cheap), and they used to come as standard, but it well worth it in the end.
In terms of other tools, I have found my simple DB9 serial switch to be very useful (before I was constantly unplugging/re-plugging serial cables), along with my Fluke 115 multimeter. The multimeter again was something that seemed expensive considering all the sub £20 meters available however I started to need something a little more reliable, and a little more accurate even for the basic work I was doing.
On the software side Edit Plus (text editor) is my favourite tool, and one I use on an almost daily basis, I have used it for years first mainly with PHP, HTML, CSS, JavaScript, and later with Python, Perl, and C. Another tool I use frequently is RSterm it has some issues you need to work around but it saved a great deal of time when developing on the Telit Python platform. I also use Realterm which also has its issues but I am still searching for a serial terminal application I like.
I am currently in the process of trying to debug an issue with a GSM based device that happens seemingly at random and only in certain locations of the country. This makes debugging it rather difficult as I am unable to replicate the problem and also physically going to the location is not that helpful because it may not occur for several hours/days. I also do not really have the option of leaving expensive debugging equipment (laptop, development board etc) due to the nature of the location, and also the software debugging tool needs someone “technical” to watch over it / restart it if needed further complicating things.
The solution I eventually came up with was to build a special version of the hardware that included an AVR based datalogger, this meant it was low cost and could be put inside the existing device. To get this working I logged the Windows based debugging software’s initialisation string with a serial port monitor tool, then programmed the AVR to emulate it therefore causing the device to start outputting debugging data which is then logged to the SD Card.
My favorite is an RFID door entry system I custom built and programmed a few years ago mainly because it is still something I use every day. The first version was a Parallax 125kHz RFID based model and was connected to my network via a Moxa serial to Ethernet board and then to a server which authenticated tags with a custom written C# application running as a service. I chose the design because I initially wanted the ability to easily audit entry logs, and enabled/disable tags straight from my PC. However it had a few issues since the 125kHz readers range was not great, and there seemed to be on occasions an unpredictable delay due to what I am assuming was network congestion / server performance issues. As I came to use it more / depend on it I decided to update it to a self contained system, and upgrade the RFID reader. I chose to use a 13.56MHz RFID reader which had a much improved read range, and linked it to a Parallax Basic Stamp which I wrote the code for (partly based on some example code for another model of RFID reader).
There is only one occasion that comes to mind where I nearly got locked out and that is when the power adapter broke, I previous had 2 adapters of the same model break after 2-3 years operation so should have replaced it sooner. Luckily on that day I just happened to also have my key with me (not something I usually carry) but needless to say after that I replaced it, this time with a more expensive commercial model from Farnel rather than the cheap adapter I had purchased from a local consumer orientated shop.
A Batter backup is something I know I should / need to setup but I just have not got around it yet, and with the power supply being fairly reliable in the UK not something I have made a priority.
When I was younger once ran a 24 core IDC cable a good 20m-30m from my bedroom downstairs, and attempted to run a few things over it including 12V power, audio, and composite video from a CMOS security camera. I ended up just breaking the camera.
Not understanding the reason behind, or having access to any shielded cable I frequently found myself picking up local radio stations on audio long cable runs which I can remember finding very annoying after just spending the last few hours carefully running a cable under the carpet.
There have been a few of them:
I used to spend a lot of my free time when I was younger wiring up simple circuits but grew more into the programming side of things studying Computer Science at university. Over the past few years work wise I have been moving slight more into the embedded software side of things, and occasionally hardware as well, particularly recently. I will likely continue to get a little more involved in the embedded software / hardware side of things rather than more focusing solely on software (mainly based developments) as I am at the moment. I have found it very useful to be able to do both ends of a project from programming the hardware in the field to interfacing it with a e.g. a PHP web server running in the cloud.
At home I sometimes work on personal programming / electronics projects, such as those mentioned, outside (I am based in London, United Kingdom) I enjoy riding my bike and skiing either on a local dry slope or the indoor snow slope at Milton Keynes. I have also started getting back into inline skating again lately, mainly around Hyde Park (London).