It all started with Chumby One
Being a programmer my whole live, I have never really touched the hardware. I have developed all sorts of Applications, Platforms, web pages, etc. Being fascinated in small and mini computers I found myself buying a Chumby One a few years ago. This rather useless device (for me) launched my interest in small computers and programming them.
The Raspberry PI came into my home
A few month later I bought a Raspberry Pi (Model B) and started developing an interface for my ADF-Scanner. I loved the scanner, but I hated to mount it to my laptop and spending an evening scanning papers coming in the last months. I wanted a solution that runs the scanner and uploads the generated PDF-Documents to my Home Server (QNAP NAS) so I could scan a paper every evening without hooking up USB cables. As a simple user interface I ordered a simple LCD-Screen, hooking it up to the Raspberry PI. I got results, but I really did not like it and it was very unreliable. The Raspi lost WLAN connectivity, crashed or stopped. I think it has been powering issues perhaps now fixed in B+. But even besides that programming the Raspberry PI did not made me happy. Why? Because I had to use the Linux Shell, because all just felt like programming ordinary Computers without learning anything new but being restricted to odd C++ Frameworks, etc… And I did miss my Cocoa Frameworks. When developing rather large scale applications I really miss the clean, fast and reliable Cocoa-APIs for Mac OS X or iOS Programming. I ended up implementing a small App on my rather old Mac Mini running fine till today.
Anyone else out there who is waiting for a small, cheap ARM-based Apple Device with GPIOs that can be programmed with Cocoa?
Arduino got my heart
A few months ago I discovered Arduino for me. I have heard of it a few times before. But I never really got behind the idea until I took the time to read a few articles about it. For anyone who does not know what Arduino is, I try to sum it up in a few sentences:
Arduino is a convention and a product. The Arduino products are small mini computers based around rather slow Atmel Microprocessors, ranging from 8 MHz around 70 MHz and memory measured in KB and not GB! But it’s also a convention in that everything around Arduino is Open Source and there are a lot of rules all Arduino devices follow – if a device follows there rules it is Arduino compatible and should run everything that has been developed for Arduino before by other groups or person that followed these rules. What makes Arduino even more great is that every schematic is open, so you can build your own Arduino compatible device from scratch if you follow the basic principles defined by Arduino.
Why would you ever want to buy an Arduino for the same amount of bucks like a Raspberry PI you ask? Well, that is the reason why it took me so long to really look behind it. Microcontrollers like the Atmels used in Arduinos are very cheap (around $3), so the whole device is very cheap, but low specs. But to drive a stepper motor you do not need 700 Mhz offered by an ARMv6. Arduinos cannot be used for Machine Vision Systems, they cannot serve web pages very well, but they are perfect to drive other small, battery powered devices.
Arduinos are programmed in C or C++ using a special IDE called the Arduino IDE. You often read about Processing or Wiring. This is a C framework making it rather easy to program the Arduinos, but you can also program these little devices in pure C.
In the first weeks building stuff with Arduino I had a lot of fun and felt the same like a kid playing with Lego building great stuff. But looking at a few of my prototypes on a breadboard I thought: Well that’s great, but I cannot really use it. My wife is working hard to keep our home nice and clean looking, decorating it – well you know what I am talking about. I just cannot really put a Breadboard, cables, batteries, etc into a “Tubberware”-Enclosing and put it on our sideboard in the living room promoting it as a wireless sensor node that measures temperature, brightness, etc. every five minutes sending data to a web service for whatever I ever will build on these data.
So I really learned the new stuff. Building my own hardware, programming them with my own software and building whole, good looking devices from scratch, running a specific purpose. Arduinos Open Hardware and Open Source philosophy is just great, providing a very motivating learning curve. And of course other Companies like Sparkfun or Adafruit that sell electronic devices and all kind of electronic stuff, but delivering schematics to build everything at home if you like and even providing a lot of source code that shows you how to use a specific component.
I started this blog to document the stuff I learn, to document the products I build and perhaps to give others some help that want to build on my own work.
Have fun reading my blog… And thanks for listening.
Phillip