Recommendations for controller on DIY board?

Hello all--

I'm working on a project for an embedded controller that needs to have more I/O than the Uno. I've looked at I/O expanders, multiplexers, shift registers, etc. and while those still look like options to expand the Uno, I'm starting to wonder if I shouldn't also be looking at another flavor of the AVR chip. To date I've been prototyping on an Uno with the thought of ultimately transitioning to an embedded circuit with my own connections for the 328P (thus lowering my per-unit cost while still allowing me to use the Arduino-loaded AVR's). I read in the forum today about the 1284p and this looks like a viable option for something between the Uno and the Mega in terms of total I/O ports available. I'm still a newbie at "roll your own" Arduino boards, though, so I'm hoping to get some guidance here.

  1. Is the 1284p a good middle ground for obtaining increased I/O? Are there other chip options that have been tested? (I saw the list on AVR boards for Arduino)
  2. Is flashing the bootloader on a non-standard chip as easy (once you have the bootloader file) as flashing a standard chip?
  3. Where can I find the bootloader file for the 1284p?
  4. Will the bootloader for the 1284p continue to be maintained by those in the community (meaning, am I setting myself up for more of a dead end in terms of future upgrades if I go with a nonstandard controller)?
  5. Are there any downsides to using the 1284p or chips like it?
  6. Does anyone have a complete schematic for an Arduino clone built using the 1284p? (I saw the Orangutan board on avr-developers.com but that looks like a specialized robot control board with LCD, etc.-- I don't need that, just a schematic for a "typical" arduino board using the 1284p)
  7. Is there a concise list anywhere of the number of digital I/O ports, analog inputs, and PWM outputs available natively with the 1284p?

Again, I like the fact that the 1284p has more I/O than the 328, and for prototyping's sake I also like the fact that the 1284 is still available in a DIP package, but I'm weighing the trade-offs between using I/O expanders and drivers with a standard controller or using a nonstandard controller to get more native I/O.

Any guidance would be much appreciated, thank you!

--Rob

Check out the 644p---software available at http://sanguino.cc/.

I'm currently building 1284s into an Arduino clone, I think they are a great choice mostly because of the 16k RAM and 2 USRTs.

AFAIK there are core files etc, but I have yet to put this to the test.

As a plan B I think the 644 is pin compatible and as bilbo said that does have support.


Rob

Thanks Bilbo and Rob! I looked at the Sanguino today and it looks promising. I need to do more research, but should I be concerned that the Sanguino stuff talks about "most" Adruino code "likely" being able to run with "minor" modifications? Sounds ok by & large, but are there any drawbacks to this (e.g., what won't work, and what are the "minor" modifications about)?

Rob, please keep me posted on your work with the 1284's. I'm still a relative newbie to Arduino (and AVR's) so of course I'm looking for the easy(ish) path like "go here, download this file, use this ISP to burn it to the 1284, select type of board in the Arduino IDE, and go to town." So far what I've found are statements like "it should work" and "after a little black magic" :~ which all makes me a little nervous.... Would be very interested if anyone has finalized a bootloader for the 1284s that simpletons like me could just burn & go.

--Rob

In my case I figured sod it, if I can't get the Arduino environment to work I'll just program it without a bootloader or go entirely native. But if you need to make a genuine clone then you have to get it all working.

Another thing to think about is the support, if you change any libraries or other Arduino files they will be overwritten when the next IDE is released, so you have to update your files as well and if this is a product make them available to download.

Have a look here

The Pololu board seems to use the 1284, don't know if the bootloader is their own or not.

There's also this thread

http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1273415167/0


Rob

Recently there have been a few posting about Sanguino 644P problems when using arduino IDE 22. Sanguino doesn't seem to have kept up with IDE versions for their core modification files.

Lefty

if you want guaranteed, full support, just spring for the mega.

I have seen a thread on this forum about the 1284p and there were some links to the modified bootloader for that chip based on the Sanguino libraries. It's worth checking it out as, if I remember correctly, the bootloader and Arduino clone were working. (here http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1273415167)

Getting a mega is another possibility, although that will make any attempt of breadboard development a bit more difficult.

Last but not least, around the instructables.com or hackaday.com, I have seen a ATmega1284 in an Arduino format... but I couldn't find the link.
I found this though-> http://aka47.adsl24.co.uk/serendipity/index.php?/pages/min644p.html