Monday, September 19, 2011

Memory, Imaging and Arduino

Hi All,

I am not sure at this point if anybody will be looking at the blog now that I am not showing anything interesting or documenting any project. Unluckily I did not have time to hack around with my electronics for several reasons.

My main reasons are work (as everybody's), family (I just have a kid that is going to turn 9 months in a couple weeks) and the start of my new little business of making mosaics out of people's pictures, using faces as tiles. Check it out under www.mosaicyourself.com , still working on the website but I do not seem to have time to keep up with Drupal, php and being webmaster.

Anyway, other than apologizing for not posting for the last couple of months, I wanted to highlight some of the events that have huge impact in the Electronics Hardware Hacking world (if you read this blog you are probably already aware of those anyway). Specially to what I am interested

a) Arduino goes ARM - ARDUINO DUE
That is great! I am really excited about this. I have been looking for a more powerful Arduino for a while, specially for imaging purposes in a small and affordable platform. Having Arduino in a faster form factor will allow us to do image acquisition. The chip powering the Arduino Due (SAM3U from Atmel) counts with 96MHz with 256Kb of Flash, 50Kb of Sram, 5 SPI buses, 2 I2C interfaces, 5 UARTS, 16 Analog Inputs at 12Bit.
As you all know Imaging on the Arduino requires a lot of memory (128*96/8 bytes). Now with 50KB we can even hold a color image!!
A couple of comments on this
- That might screw the plans from LeafLabs which I closely followed. I consider using them for my image procesing platform. Now (sorry guys) I will provably wait for the efford by Arduino.
- I am not sure how the programming interface will be on the Due but it potentially means that some of the shields will not be (fully or at all) compatibles. Also forget about assembly coding and restart with a new device, so the shields relying on that, such as the Video Experimenter Shield will not be compatible.

b) Memory expansion for the Arduino
Two different approaches recently came up at hackaday to extend the memory on the Arduino. I wanted to give my particular point of view on those and how do they relate to the little imaging project I did on the Arduino.
- Expanding the RAM on Arduino Mega - Unluckily this approach is not going to help much in our case as the Video Experimenter Shield, as mentioned in my blog post, is not compatible with Mega. Hackaday suggested using that expansion for image acquisition (thanks for the quote), but unfortunately that is not possible.
- Using a CPLD to get more memory - I am sorry to say but it looks like an overkill to use programmable logic to expand the memory of Arduino. I personally think I could code the CPLD with no Arduino anyway to get my image processing platform. It is versatile but I do not believe is a good solution (anybody could say that Arduino is simply not meant for image processing, I sort of agree but, still want to pull it!!). This leads to my next point:

c) Getting an Arduino-like platform on FPGA
That is definitely something I have been looking for for a while. LeafLabs are sort of pursuing that goal with the Oak, I do not want to jinx it but maybe somebody comes first or a bigger platform oversteps it (like the Due). But as always it is good to push the industry, specially the open source, although sometimes the outcome is not the best.
A kind of neat player in this platform is the Xula Board by Xess. I am kind of afine to Xess as I had them as a reference in my VHDL coding for firmware on FPGAs before, so I think they are great. The Xula Board is an Open Source effort lead by Xess to solve problems microcontrollers cannot reach (wow it looks like imaging falls in that framework).
Other than the technical I like this Xula board because
- It is cheap
- It does not need programmer
- You can use free software (the Xilinx Webpack)
- It uses FPGAs I am already familiar with

I also want to mention that Dave, at Xess is a great guy. I particularly like his blog and the way he mixes documentation and blogging. He was supper cool to send me a Xula board for my evaluation (sorry Dave for the reasons mentioned above no time yet, but I will soon get to that, I hope!).

This is it for my roundup. I have a couple of short term projects in mind I will try and pull out soon. I will keep you (reader) posted!!