Wednesday, March 24, 2010
March has been a frustrating month - I feel like I have just emerged from an extended illness - and am now feeling a lot better.
In all truth, this is the case. For 2 weeks, from 5th March - I had a really chesty cold which refused to shift. Meanwhile, my old Toshiba laptop was going through its own strains of virus infection - which have proven almost terminal.
Whilst searching for some antivirus software, I accidently landed on a bogus website that automatically installed the "av.exe" virus. Within seconds a fake "Windows XP Security" window appeared and claimed that I had 29 viral risks. It then encouraged you to click on a register for upgrade window - which either wanted to harvest your credit card details, passwords or get you to enter the Product Code - supplied on every legitimate copy of XP.
If you didn't choose this option, it sent very irritating popups every 30 seconds telling you that your machine was at risk. Enough was enough - this malware had to go. So I googled "av.exe virus" and got on a forum discussing how to remove it. However, the av virus was a robust little bugger, and if you just delete the av.exe file, it trashes your registry, so you cannot run any application that uses the .exe file extension. This I found out to my cost. After much gnashing of teeth and tinkering in the registry, I finally got shot of this plague - took me a whole day to get things back to normal.
However, the old Toshiba was running as slow as a 1 legged arthritic dog - so I bit the bullet and treated my self to a new Dell Inspirion - which I am typing on now. It turned up an hour ago, having been sent direct from Dell's manufacturing plant in China - just last Friday. 5 days shipping from China - direct to your door. That is one of the signs that we live truly in a global village.
So I now have a machine that I can host my electronic CAD software on - and get back to doing some real pcb design. In the meanwhile, I have a couple of projects that seem to be following converging paths, and I am looking for an efficient means to use one to solve the problems of the other.
I have been writing an application in C code - and trying to learn C, on the job. About 10 years ago, I borrowed a book from a software friend "Learn C in 21 Days". Well that was about 3650 days ago, and I'm still at the steep point on the learning curve.
From my previous posts, you may know that I have become a fan of the Arduino, and this has been the catalyst, and catapault for me into the exciting world of embedded C programming. For about 10 years I had plodded along with PIC assembley language, preferring to build on code that I had written years before whilst working on telecom products. I never could find the time or justification to switch to C, especially if the job just needed a few lines of assembley to make it run. However, I was finding that I was rapidly running out of steam and my ideas and projects were limited by the fact that writing code for them was just too damm hard. So when the Arduino came along, complete with an online army of code developers who shared their applications and techniques in a big open source "code-fest", I found it a lot easier to rapidly make inroads into C, and develop applications much faster. Whilst I had toyed with the CCS C compiler on the PIC a few years ago, I never really got past the "Hello World" stage.
So, onwards and upwards into the wonderful world of the Arduino, which brings me back to the title of this post. Armed with my new shiny laptop, it was time to buy some replacement Arduinos, as I was down to my last one, and I wanted to upgrade to the Mega328 mcu. So on browsing the Nuelectronics site, I saw that they had the Freeduino Nano for sale for a mere £16.50 complete with the '328 processor. So I settled on two, plus a '328 Decimeillia as a hot spare for the one that I'm developing code on at the moment.
The Nano makes a lot of sense, with its smaller footprint, upgraded processor and a connector pattern that is not only more logical, but not blighted by the stupid connector position error made in CAD some years ago that makes it down right awkward to prototype on Veroboard or breadboard. The Nano has a very compact footprint that will fit into a 28 pin 0.6" DIL socket. It has the added advantage of bringing out another couple of analogue inputs, and uses the much smaller micro USB connector. If only they had had the foresight to put a microSD socket on the back of the board, then it would be a great little engine. Perhaps I'll just have to do my own.
So the Nano is going to play quite a part in future projects. I want to port across a lot of my telecom signal processing routines that I wrote for the 16F PIC. These allow caller ID recognition in firmware and DTMF encoding and decodng, plus a completely soft V23 FSK modem allowing mcus to communicate across phone lines in SMS with very low overhead. Perhaps a bit outmoded in this broadband world - but there are lots of trivial applications where you are miles away from an ethernet connection, and have a few short messages to send.
So one of the first designs I'm working on is an application extender board for the Nano. It's a single eurocard that provides analogue inputs, for temperature or voltage sensing, buffered digital outputs for driving relays or stepper motors, an LCD or keypad interface (Nokia 3310 LCD shield from Nuelectronics) plus some SD memory for datalogging. The applications are for renewable energy monitoring and a wood gas generatore spark ignition and engine control product that I have been mulling over. Inspired by Martin Nile's excellent site:
Well Windows Explorer doesn't seem to allow cut and pasting of text - how lame is that? Time to load firefox and dump this Windows crap.
To be continued - under a new regime. Mozilla Firefox. And yes I do want it as my default browser...
At this point Ken downloaded Firefox 3.6.2 and continued life almost normally....
Ok - so windows Internet Explorer really does not allow Ctrl C and Ctrl V. Thank god for sensible software!
So back on the subject of Nanos - here's an even smaller one - just a real shame that they have chosen a different pinout