Tuesday, December 16, 2008

How would you change the Arduino?

Talk about Merry Christmas!

I just got back from meeting up with a former professor of mine here in New York City (the one who taught me signals and systems back in undergrad - ugh), and he told me that he's been using the Arduino in his class now for about a year. But, his students keep running out of I/O and memory for their projects, and assignments. Sooo... (drum roll) he was wondering if I'd be willing to make a few modifications for him (like finding a way to fit in more IO pins, for starters). But here's the best part yet... he's going to use part of his grant to help fund it all... Thanks!

Anyway, it's only fair to give back to the open source hardware community, so in the next few weeks, over my Christmas vacation, I'm going to be laying out a whole new board, hopefully in time for the first week or two of 2009, to usher in the new year with a new board. Chris, Justin, Mike, and I learned a lot about about the little details with AVR back when we first built the TouchShield, so hopefully that will all come in handy this time around.

Here's the catch. The whole thing, literally everything down to parts lists and schematics and you name it, is going to be Open Source. As in GNU and Creative Commons and Free Software Foundation Open Source. As in real, true, 100% USDA prime "open source hardware". In fact, everything I build and code will go straight to David Mellis from the Arduino team, and maybe it'll even make its way into future Arduino releases (fingers crossed).

Anyway, if you have any special requests, just let me know, and I'll try my best to include it in the design! :)

11 comments:

Matt said...

Woo hoo! I just created the fresh circuit template file... here goes!

Phillip said...

100% USDA prime "open source hardware".

love it!

Matt said...

J wrote in, saying make sure it works with shields (of course it will!)

Mike wants a low profile board so he can sneak in a battery

RJ from CT wrote to ask for at least 5 more digital pins, since that's what he's short on in order to make the big led matrices work

Jon says keep it cheap, if possible (I'll try, yep!)

A couple other guys say they still like the idea of having a kit, so it can be cheap, so that's important

pete said...

Hey good for you. !!!Steal my idea!!!!

:P

Make sure to use a chip with built in USB interfacing.

You should just double the pis. I mean microprocessor chips are cheap!!!

W. Craig Trader said...

Well, the first obvious improvement to the Arduino would be to upgrade to using the ATmega328 processor instead of the ATmega168. That won't improve I/O but it does give more RAM/Flash.

To add more I/O will be trickier -- part of the appeal of the Arduino is the availability of shields through a common form factor. Any serious I/O improvements will mean expanding the number of I/O headers in a fashion that will still work with the existing shields. It's doable (most likely by lengthening the board and adding two more sets of headers) but increasing the board size would impact its usability, and you might need to use a more powerful processor, such as the ATmega324P.

Another option would be to do an I/O shield that multiplexes the existing I/O lines, either with a FPGA or perhaps another processor, but that gets expensive.

Matt said...

A couple more write-ins!

PM - maybe add some options to build with male or female headers (weird, I definitely hadn't thought about that)

Brian - make sure it works with the arduino ide

Mike wants more code space, but not at the expense of something too pricey

I got a funny email cc'd from Justin, and someone apparently challenged me to do something nonconventional with the pcb layout, and then sent a bunch of links of cool pcb layouts. ok, why not?

W. Craig Trader said...

On the topic of headers, I don't understaand why shield builders don't use headers with long leads so that you can stack more than one shield on top of an Arduino. Admittedly, it would reduce the need for your extender shields, but that isn't necessarily a bad thing, if it makes it cheaper for people to use the Arduinos for their mid-sized projects -- large projects will still be drawn to the extender shields.

Josh Kopel said...

I think this is a fantastic idea , but I wonder if you have heard of the sanguino from the reprap.org folks?

It is not compatible with the Arduino shields, but it does work (I think) with the IDE.

pete said...

Yea, it works with the IDE.

Daniel M. said...

I have three of the sanguino's from RepRap on the way right now. While they dont fit the shields out-right, I cable the headers to the shields, just check the pinouts on both parts. That also gives room to place your own parts in between. Where you would have trouble with larger components using mating shields...

Chris Hand said...

I'd really like to see a couple of I2C UARTs that could work with the Wiring library to do hardware serial (RS232) I/O, with proper flow control, and without having to use the ATmega's h/w serial port.

That would also be handy for MIDI I/O if you can find parts supporting 31250bps.

Maybe a couple of on-board shift registers with latches would help to provide expanded I/O.