A bit of background
Possibly some of what I'm talking about here may be a bit basic for many hackaday regulars. I am an experienced software engineer & hacker but have not had as much time as I would like to have played with the micro end of embedded, so I am documenting experiences that are either new to me, or I am very rusty in. Recording my experiments may also help other new users.
Early Prototyping Efforts (hardware Hello World)
I will be building various prototypes using the digisparks even if a more evolved sensor design requires something else eventually.
The only arduino I had previously used to any extent was the leostick. I had purchased a comple of digispark last year (and a lot of other unfotunately sitll unused gear) so today I finally had a chance to find my feet with them.
Any competent software engineer will tell you that a very important task in any new software project is to build a hello world, to exercise the toolchain and the source code management systems, and sometimes overlooked, keep it maintained. I figure this is probably just as important even for something relatively trivial like an arduino based project. So I have started a github for my efforts already.
Running on older PC hardware
Rather than dragging around laptops I have an older desktop configured, a SFF case with a now-venerable VIA EPIA-5000 fanless motherboard. I built this up running Debian Squeeze 486 from a compact flash card, so it is a noiseless computer, which is great, because my lab is out the back and is a bit closer to nature than my office, I can hear the wind and birds and wildlife, etc. Anyway I got the digispark IDE which is essentially the Arduino IDE with digispark hardware running, and after fixing the usual permissions issues still had a problem, an Illegal Instruction error. This had be stuck for a bit then it clicked that my hardware is actually not even capable of running all 686 code... so after rebuilding the micronucleus driver and digispark avrdude things finally worked and I had a flashing LED / hello world.
One quirk with the digispark is you need to keep un/re-plugging it before re-flashing or the upload fails.
I then had to add in serial debugging by lashing together a couple of resistors and a diode, this worked quite well. (One reason I still have the old PC in the lab is it has two proper RS232 ports...)
Finally I hooked up a DHT-11 temperature and humidity sensor, using a low-memory no-frills DHT library. I verified this was working with a very brief blast frmo the heatshrink gun. So far, so good...