Thoughts on a new Arduino-like platform

I’ve been giving some thought recently on designing a new Arduino-like board using the more powerful ATmega644P rather than the ATmega168. I’ve reached a bit of a dilemma: what to do with the connector layout of the board. The problem is that the pinouts of the two chips are vastly different, to the point where shoehorning the ’644P to work with the existing Arduino layout could be quite tricky. In addition, various features (PWM outputs mostly, but also SPI and TWI) are on rather different pins on the ’644P than they are on the ’168.

This presents a bit of a dilemma: how to lay out this new board? A few options seem to be available:

  • Run the ports on the ’644P to the same pins that the ’168 uses on the Arduino. Digital code is easily ported, layout is somewhat simple (but not exactly straightforward), but the PWM outputs are suddenly on different physical pins, and we retain the somewhat odd connector spacing used on the Arduino. Shield compatibility is questionable.
  • Make sure that the analog output pins line up, and patch the Digital outputs to be the “right thing” in software. This requires a lot of messing around with the Wiring libraries, and will make it difficult for people to embed their designs into their own boards. Also, layout becomes tricky to downright nightmarish, but we retain shield compatibility.
  • Start from scratch. Set up the headers in a way that makes sense for this chip, and make the layout easy and clean. Shield compatibility goes right out the window, but the software remains clean.

So it’s a bit of a tossup right now. I’m leaning towards starting from scratch, but abandoning the existing shields is a touch decision to make. It would be REALLY nice if there were enough resources on the new chip to make two complete shield ports, but that doesn’t appear to be the case. It would, of course, be ideal to maintain compatibility with the software that the folks over at RobotCraft have come up with.

Maybe some jumpers could allow a best of both worlds implementation… layout would be hellish, but it could work…

2 Responses to “Thoughts on a new Arduino-like platform”


  • Hi,

    I saw your comment on NYCresistor that you have a working bootloader for the 644. I’m trying to do the same. The ATMega is working if I upload the hex file with SPI but I cannot get the bootloader to work.
    Any help? ;-)

    Thanks

  • Michele,

    I’ll be putting up a post in the next day or so going over how I did it – getting a bit busy with work :)

Leave a Reply