ATMEL Mega1284P evaluation board avalible

Wow, this is like watching a baby being born, only not as wet. :wink:

Lefty

Okay, next pass is ready.

5.5/2.1mm power jack.
Mini USB-B for Serial.
Crystal/capacitors for clock generation.
Full Shield compatibility (standard complement of Arduino pins).
RS232 for Serial1 with 4-pin header (Rx1,Tx1, Gnd, 4th is open). Rx/Tx jumpers to disconnect from driver if need Digital I/O or INT0, INT1.
INT2 available at D6.
Jumpers to select between A4/A5 and SCL/SDA at analog shield header.
Two pins added to analog shield header for A6, A7.
New 8 pin header for PC0-7 (includes SDA/SCL, even if jumpered to A4/A5).
(hmm, looks like I lost an I/O pin for PD7 along the way)
SD MMC push-push with dedicated SPI SS line not available else where on the card. Ladyada style design with Write Protect, Card Detect signals.
Seperate 3.3V regulator for SD card.
FTDI FT232RL USB chip with 3.3V to shield.
ICSP header, allows BIT Bang programmig with FT232RL X3 header.
10 pin JTAG header.
Power LED, "L" (D13) LED, Serial Rx/Tx LEDs (not on Serial1).
No onboard reset - connect externally if needed (at shield pins, at ICSP, or at JTAG)
(tho it appears there is plenty of room to add one, guess one pass to put pads in for it).

My only concern is the USB connector - any one know which library part to use that will let what appear to be the shield pads get connected to ground in Eagle?
Here's close up of what I have now.

The cores at http://www.avr-developers.com will work on Bob's board, as will the bootloader.

They would work on the thing from Atmel as well. The only thing that makes an Arduino an Arduino is the bootloader.

CrossRoads:
Why DIP vs SMD?

Another advantage of DIP is that you could make it available as a kit. If the crystal is in a socket then the user can select the speed they like, although i don't know if a crystal in a socket works as well as a soldered crystal.

Graynomad:
I'd ditch the DB9 and use a header. You can get IDC DB connectors that use ribbon cable so they still look neet and can easily be mounted remotely, makes fitting the board into an enclosure easier and you can swap from male to female without desoldering a connector.

Thats a cool idea!

The cores at http://www.avr-developers.com will work on Bob's board, as will the bootloader.

I agree.

They would work on the thing from Atmel as well.

Nope. millis, micros, delay, and delayMicroseconds will not work correctly at 11.0592 MHz. Which is why I asked if clock speed was the only issue.

RE the RS232 connector.

As soon as you have to solder up wires to headers and connectors it looks like a dog's breakfast. Consider the following

a) serial on a DB9 only needs 3 signals on pins 2, 3 and 5.
b) The smallest IDC connector you can get (AFIAK) is 6-way.
c) You have room for a 2x3 header (same as the ISP header).

So I would add the 2x3 header so there is a quick and neat solution to wiring up serial with IDC connectors.

THEN

If there is room. Add a 2x2 header for jumpers so the polarity can be easily swapped.

All in all this allows two Arduinos to be neatly connected with no crappy soldered wires.


Rob

I'd suggest MicroSD instead of SD - most people have MicroSD cards now and if not then they're not expensive.
Also, due to the size of the DIP chip, you can fit parts underneath it (not that I can see much on your board that could go under it).

So I would add the 2x3 header so there is a quick and neat solution to wiring up serial with IDC connectors.

Could get confusing as 2x3 is the same as the ICSP - I suppose good silkscreening solves this problem.

Looks like my ISP is acting up today, so the files are not viewable. Time for a phone call to see what's going on.

I'll check out RS232 cable headers, see what exists.
Crystals work in sockets, es evidenced by the wirewap boards I have built up.
16/20 MHz - 3-pin socket strip would let one put in either frequency.
There are some parts under the 1284, socket strip intended to be used now to plug in the processor.

SD/MicroSD - maybe I can put both footprints in the same spot so one or the other can be installed.

ISP seems to be back up?
![](http://www.crossroadsfencing.com/Bobuino_rev 1_schematic.jpg)

Ok, looks like the sparkfun microSD footprint will fit nicely under the regular SD footprint. Most signal names to connect in parallel are obvious.

The SD design brings the card detect (CD) and write protect (WP) signals out.

Any ideas if CD1 and CD2 are the same features on the microSD?
And what does RSV do?

If it was my design I would throw out all the auto-voltage switching components and instead use a simple 3 pin SIP and a jumper clip. This would save on component costs and board space avalible for more useful stuff. I never liked the Arduino auto-voltage circuit, looks like a solution looking for a problem.

Lefty

[quote author=Coding Badly link=topic=61126.msg442222#msg442222 date=1305447506]Nope. millis, micros, delay, and delayMicroseconds will not work correctly at 11.0592 MHz. Which is why I asked if clock speed was the only issue.

[/quote]

What happens if the F_CPU is set to that frequency?

millis, micros ... will not work correctly at 11.0592 MHz ... What happens if the F_CPU is set to that frequency?

The rule for the clock frequency because of the way the code is written...

An example of what happens when the rule is not followed...

Okay so you're saying the crystal freq has to be a power of 2? But there are other boards that do not follow this rule. These boards claim Arduino compatibility and work with Arduino cores from avr-developers.com. Here is a list:

arduino_amber128.name=Arduino-Amber 128 14.7456 Mhz
arduino_amber128.build.f_cpu=14745600L

arduino_OrangutanSVP1284.name=Arduino-Orangutan SVP-1284
arduino_OrangutanSVP1284.build.f_cpu=20000000L

arduino_gator.name=Arduino-Rugged Circuits Gator Board
arduino_gator.build.f_cpu=20000000L

arduino_bahbots1284p.name=Arduino-BahBots 1284p
arduino_bahbots1284p.build.f_cpu=18432000L

These boards claim Arduino compatibility and work with Arduino cores from avr-developers.com

How do you know that millis (et al) works correctly on those boards with that core?

I certainly could have made a mistake analyzing the code but by my calculations the 20 MHz boards are off by 0.39%; the 14745600 Hz board is off by 6.84% 0.64%; and the 18432000 Hz board is off by 0.10%.

Edit: Corrected the percent error for one of the boards.

Can I get an eyeball on Reply #25 and confirm I have the socket installed the right way? Not sure what the lines at the left side do, they interfere with routing tho.

I don't know that millis works right for sure, that's true although I think a fair claim of "Arduino compatibility" would require them to be pretty close. However, I would be amazed if the baud rates were substantuially off, and that would also be impacted by changing rhe crystal frequency.

I have a 1284P prototype board here with a socketed crystal. I think I'll get a few different crystals and see what happens.

RE the SD sockets.

The schematic looks good according to my limited SD knowledge. However the pins on the two sockets are reasonably aligned, yet the rats nest on the PCB shows them all crossed over.

Not sure what the lines at the left side do,

What lines?

RSV => reserved I think.

PS I responded to your PM with a couple of other comments.


Rob

I'm thinking this is the correct orientation for the microSD - the vertical lines to the right are part of the microsd symbol. No idea what they do besides get in the way.

Rob,
I had an e-mail typed up & it got dumped while I was looking up a 4 pin header to stick on the 4-pin RS232 header. I think I will recommend folks use 4-pin crimp connector housing that pololu.com carries, 3 wires plug in, the other ends connect to uses RS232 connector of choice. Just occurred to me - what if I made that 3 pins with ground in the middle? Then the housing could be plugged on either way, worst case Tx goes against TX and nothing gets received on either end.
I've had no luck finding a 2x2 crimp on type for a ribbon cable.

Reset_enable - 3 pin header was used as I couldn't find a 2 pin header that was just pins.

Values - I left off the R & C values, are just 1K/10K resistors, 100nf/0.1uF for the small caps, 100uF for the 3 big one, nothing unusual.

COMM1 jumper - my intent there was to have jumpers across 1-2 and 3-4 to have RS232 going off board, and to have No jumpers installed if one needed D2/D3 not interfered with on the shield header.
I'm up for changing it to something that will provide more functionality, I don't understand what you are referring to by Serial Polarity tho.


what you are referring to by Serial Polarity tho.

If you want to connect two devices (especially two that are the same such as two of these boards) you have to swap Rx and Tx. In the past I've found the easiest way to do this is with a 2x2 header and two jumpers. The jumper are say horizontal for one polarity and vertical for the other, so there's no wiring of special plugs/cables. The alternative is to have crossover cables. With Pololu-style discrete connectors that's easy enough, but with ribbon cable you can't (easily) make a crossover cable.

However if you're not using ribbon cable this is all pretty moot. It's easy enough to wire up a crimp connector in any format.

It's largely an aesthetic thing for me, if you use separate wires they look ugly and you have to have a huge DB9 shell with just 3 small wires poking out the back. Ribbon cable looks neat.

I've had no luck finding a 2x2 crimp on type for a ribbon cable.

You won't AFIAK 2x3 is the smallest.

I couldn't find a 2 pin header that was just pins.

Do you mean in the Eagle library?

COMM1 jumper

OK, I get it.

The SD sockets now line up as I would have expected. How far out does the card sit physically. I'm guessing that's what those lines are but there's 3 of them.

What I'm getting at is accessibility when the board is in an enclosure, any memory card has to poke off board enough to be usable from outside the box. The right most line looks good, the other two would not work. Are there 3 sizes in micro SD, I didn't think so. Not that there's much you can do about it, the socket is already right on the edge.


Rob