[chbot] AVR Butterfly progression?

Volker Kuhlmann list0570 at paradise.net.nz
Mon Feb 13 09:37:16 GMT 2012


On Mon 13 Feb 2012 14:28:42 NZDT +1300, Robin Gilks wrote:

> I'm looking at a couple of projects that currently use an AVR Butterfly
> but are starting to run out of code space (the Butterfly has 16k).
>=20
> I'm looking for 'the next step up', hopefully cheaper than an Arduino mega
> R3 with LCD shield - with say a mega 256 onboard and a graphics LCD.
>=20
> Anyone any suggestions?

If by the "next step up" you mean butterfly with more space, I'd look at
Atmel's site for something preferably pin-compatible, unsolder the one
=66rom the butterfly and solder a new (bigger inside, not outside - gee
sounds like Harry Potter) one on.

If you mean to change platform a lot depends on how much you care about
freedom and open source. For quantities of 1-3 price isn't so much of a
factor, though I admit to balking at the cost of some of the arm boards.
Having spent a bit of time evaluating platforms here's my conclusion.

For 8bit, basically the only one properly supported is AVR. Forget about
renesucks and all that pic rubbish, no matter how good the silicon is
(or isn't), there's no support, period. Ditto for 16bit, there's nothing
worth looking at.

That leaves 32bit. PIC32MX (and only that pic) is worth a look, but make
sure you want to go down that route. Digilent did a superb(!!) job
releasing Arduino compatible CPU boards that are both(!) compatible with
the Arduino form factor (but not the 5V level - big plus in my opinion,
Arduino needs to get their 3.3V act together) and the Arduino
programming environment, all released under open source licenses. This
is the easiest (and only) way to easily port your Arduino softare to
32bit. It's not 100% the same (for reasons of platform restrictions and
the usual improvements), but it's pretty close. The architecture uses the
SGI MIPS core (I understand) with 32bit instruction word. I compiled
some of my Arduino apps to test the compatibility as well as the code
size - expect code size to be 2.5 times of AVR for the same job, which
makes the chipkit uno not look so big any more. Unfortunately Microchip
is not an open source friendly company and their licenses are just
offensive.

The other 32bit alternative is ARM, and it's a very good one, offering
the biggest flexibility for just about anything. Unfortunately getting
familiar with a particular CPU line takes a lot of time, and although
they're all ARM there isn't a clear winner. Leaflabs has got the right
idea about making a kind of hardware abstraction layer library, but it's
not in any way Arduino compatible and it hasn't got very far yet. They
use ST STM32, and the boards are expensive. Beagleboard use TI OMAP
ARMs, they're way too expensive and I don't know about software support.
Rumour has it Arduino will use Atmel ARMs, but nothing out yet. The
cheapest entry (about $40) is an lpcxpresso board with a big NXP LPC1769
ARM, with free-beer JTAG debugger but castrated to 1/4 of code space and
C, full code and C++ is US$1000, unless you use it as an entry and then
ditch the Code Red eclipse IDE (which I have some issues with) in favour
of free solutions (like a current eclipse) and a generic JTAG debugger.

In all the ARM cases the time investment in manufacturer specifics is
substantial and there is no good hardware abstraction layer, like the
Arduino one with AVR. I find that important because it saves my time at
the expense of some cheap hardware and is the main reason I haven't
ditched AVR in favour of ARM. Of course if you prefer to program bare
metal none of this matters.

FeeRTOS looks really good too, and won't run on 8bit jobs.

You might find the raspberry pi interesting - US$35 for a full computer
on a board about the size of an Arduino, running Linux I think - pretty
damn good, major yuck is the broadstuff job on it so don't expect to see
a datasheet.

If you need an LCD, perhaps a cheap Android is the way to go?

Volker

-- 
Volker Kuhlmann
http://volker.dnsalias.net/	Please do not CC list postings to me.



More information about the Chchrobotics mailing list