SparkFun Forums 

Where electronics enthusiasts find answers.

Have a good idea for a new product for SFE or Olimex? Let us know!
By NateW
I'd kill for a dev board with an ARM CPU, a couple RS232 ports, a flash disk, a couple megs of RAM, WinCE, and a USB slave port so I could hook it up to my PC and debug with Microsoft's development environment. I'm basically doing this now with my PocketPC but it would be nice to have something less spendy (no touch-screen LCD) and a little more compact and with more IO for use on a robot. WinCE is down to about $5 for a basic kernel, and the development tools are great.

There are vendors out there with PC104 boards like this, and at reasonable prices, but none of them seem interested in selling to hobbyists. If you could talk Olimex into making something like this that would be awesome.
User avatar
By sparky
Interesting idea. What's your price point for something like this? What would you spend?

By SOI Sentinel
I'm going to suggest a possible alternate (or even parallel work): a daugherboard for the Gumstix ( They've taken care of most of the hardware concerns, and have a nice socket to plug into. Only thing missing is WindowsCE, it runs embedded Linux.
By NateW
The gumstix folks have ARM boards from $140-$215, depending on features, which seems reasonable to me. That's a little steep by hobbyist standards but a 400mhz ARM chip has a LOT more horsepower than a PIC or AVR.

What features would you want to see on a daughterboard, SOI?
By SOI Sentinel
Last time I looked for similar ARM based boards (larger ones at least), they were significantly more expensive (several times the price) and far larger.

Well, the Gumstix has an MMC/SD slot and 64MB of RAM onboard already, so OS wise (even if you don't like the pre-embedded 4MB Linux kernel) we're doing good. The daugherboard should probably have something along these lines:

I see since the last time I hit up Gumstix they've added their own breakout boards :)

A basic board would be breakout to 0.1" headers and a separated unregulated power hookup (screw terminals?) and a solid mounting configuration, but made as small as reasonable.

So... call it a wish list:

-All Serial ports brought to .1" headers, possibly with a jumper to send to RS232 if desired.

-Bypassable LDO regulator to provide power from unregulated supplies.

-GPIO fed into a CPLD (user reprogrammable), since the processor only has 20. Set it up for basic parallel port switching to increase the I/O available, but it can be user reprogrammed (possibly socketted for upgradability too, PLCC?) to do all sorts of tricks (hardware PWM and R/C servo controllers, hardware SPI/I2C control and buffering, etc). Heck, I'd compare the price of a CPLD vs low end FPGA's (I'm starting to learn about both). Might be cheaper and far more satisfying to drop in a Spartan3 to really let people go wild (socketted for upgradability, or soldered to possibly quadruple the number of available I/O, I'd actually go later and pick a common package so a "range" can be made available). Also a great excuse to learn about programmable logic. Might be overboard, might not, but that's why I'd say set it up as 16 I/O lines and 4 port selection lines (or similar) so people don't have to play with all this if they don't want to. I'm Xilinx partial at the moment :) But I've only begun to scratch the surface of this stuff (I also have a half dozen CPLD's in PLCC-84 form from Atmel sitting in my samples box right now).

-Premounted or just pads to add on your own A/D or D/A converters.

I know, especially with the FPGA setup, I'm looking at a lot of horsepower. I'd have to see a rough cost estimate and expected hardware list before I'd commit (heck, right now, I'm not ready to commit to the Gumstix as I'm not ready to work on a centeral controller/UI for my stuff, not by many months).

It's pretty common for high end processors to have lots of pins for power and memory, but depend on a databus to get data out, so everything has to go to the chipset to get more I/O. The FPGA/CPLD setup would let you greatly multiply the I/O capability, and even design your own peripherals, or steal them from and modify them to work with the system :)

Heck, crazy enough designer and big enough chip, you could easily integrate a secondary processor into the FPGA to take care of the mundane stuff. For the slightly less crazy, rerouting some of the signals to allow secondary FPGA control from an attached PIC or AVR might work, too :)
By SOI Sentinel
Addendum: whoops, forgot that the header used is 60 pins: ... page=I%2FO

I'd have to sit down and look up the signals in the ARM datasheets to tell what's really needed where, but there's still a lot if GPIO capable data lines that could be pulled off into headers or into a CPLD/FPGA.

Also shows the 2PWM, 2 Serial, 1 IRDA, I2C, NSSP (SPI/Microwire), USB client, AC/97 audio data lines, even JTAG (kinda scary considering that there's already an OS onboard, but nice, too). Oh, and an 16 bit parallel LCD controller. Now, running EVERYTHING (but maybe the USB and one serial interface) through an FPGA/CPLD would be nice (you could then put your output lines just about anywhere you wanted), but might also be messy, and could mess with the timings of the various serial interfaces.

Makes me lean towards the larger pinout non-socketed versions of those chips. I'll have to think on this a bit more.

There's also a PDF with the same information, and a better grouping of the pins:
By SOI Sentinel
Yay, triple post... anyway...

I've thought what I've recommended above over a few times, and came to a little conclusion: it's overboard and perfect at the same time.

The basic "Here's the headers on 0.1" breakout and a power system, have fun" is perfect for the beginner or people who just want to prototype with such a small 200/400MHz system (The gumstix is an Intel Xscale, meant for user interfacing after all). Probably bring out all the listed I/O pins into single or dual row grouped headers for easy access to the hobbyist instead of a GPIO "blob". And probably the hardware for the USB slave and one RS232 onboard. I like the Gumstix waysmall as it stands, but it's still more computer than embedded controller.

Now, the FPGA core'd version actually may be a better choice if set up as a dual purpose development board than a dedicated . You could sell them as relatively low cost FPGA learning boards to students and hobbyists. For those wanting to interface, say, the Gumstix, offer a selection of board choices. These boards would have the mounts for any given selection of microprocessors (Gumstix, or 40 pin DIP 600mil for Atmel, similar for PIC, or 80 pin TQFP for Atmel, similar for PIC, or one of the LPC ARM DIP board processors available here). The majority of the board (headers, accessories, etc) would stay the same, just the area/side of the FPGA where the socket is located would have to be redesigned for each version.

So, am I insane? :)

As I wrote before, the FPGA would be a wish list for me, but I know that to make them effective takes a lot of engineering. High power pull and multiple voltages are their biggest drawback, especially if the plan is to use them in some type of mobile system. A high pin count flash CPLD would work, but it would be best for signal routing and not for any kind of major design. Of course, the greatest strengths of logic like this in these cases are programmable multiplexing, hardware parallel/serial conversion and control, and digital hardware for PWM for instance.
User avatar
By sparky
You realize we are all out of jobs if FPGAs ever hit the $5 at under 20mA?

With the current FPGAs of any size, you can drop in a core of almost pentium 3 size just by the click of a button. Last one I heard of was a FPGA running four (what's that apple chip, not warp, I can't think today) seperate "cores" or processors independantly for rediculous parallel computing power. Problem is the FPGAs are expensive, power hungery, and big. Hmm. What has history told us about these problems? They will eventually go away.

Here's to the microcontroller in the first decade of 2000!

By SOI Sentinel
I know I can get entry level Xilinx Spartan3's in bulk quantities at around $10. And looking at Flash memory based ProASIC FPGA's from Actel (No external PROM, it's a Flash ROM CPLD crossed with a FPGA really) may hold the secrets. It pulls roughly half the power of the standard SRAM type FPGA's, and no PROM interface so more I/O in a given package.

Actel ProASIC+
Lesee.. worst case 300K Gate version (largest programmable w/ free software) is... About 2.5W at 3.3V. Of course, that's running all 8192 logic blocks, 32 memory blocks, 2PLL's, 110 outputs, and 48 inputs (Near worst case and 100% theoretical usage) with a 150MHz global clock driving it all.

Although Xilinx is working on it with "low power Spartans".

Spartan3 Low Power

Anyway, I'm still poking around, thinking an entry level Atmel CPLD would be best for just I/O routing (highly connected, can do some tricks without being too expensive or complex). Oh, and they do ICSP just like the Atmel AVR's it appears (so far). I looked at Atmel's combined FPGA and AVR core... you need a $1000/yr subscription software package to develop for it.

Atmel CPLD 128 Macrocell plus ISP ... rt_id=2132

Sparky, you're thinking of one of the Xilinx Virtex IV series IIRC, they have 4 hardware embedded PowerPC cores in the hign end versions. They're not reconfigurable themselves and run at 500MHz, but you can do all sorts of DSP and interconnect stuff between the processors. They also tend to have up to 20 multi gigabit per second serial transponders onboard, too, for those ultra high speed data processes.

Xilinx Virtex IV FX series ... essing.htm

Honestly, a parallel I/O expander with room grow would be great, but to "grow" we'd need either a large CPLD (which Altera and Cypress have,) or an FPGA. If the I/O expander has onboard RAM to allow high speed buffers to the processor, or the development of external memory/drive interfaces or even DSP, so much the better.

Altera MAX II (For Example) ... -index.jsp

Cypress ... %20Devices

The more edge IO, the better. BGA's take far too much to get right (reflow, Xray inspection, multilayer boards, very close signal line spacing, etc).
By SOI_Sentinel
So, I'm poking around and realized that I was asking Sparkfun and/or Olimex to duplicate work months ago.

There are several low cost, easy to interface boards available that all they need is an interface board to an ARM processor to provide FPGA+ARM capability.

A simple board that stacks on top (or bottom) and uses a few IDE cables to wrap arround the signals would work great :)
By SOI_Sentinel
Revival for one reason...
You realize we are all out of jobs if FPGAs ever hit the $5 at under 20mA?

Start looking at brushing up that resume. They quote 250K unit price at from $1.50 to ~$15 per chip (as in least to most expensive types). I SERIOUSLY want their dev board/programmer.