ATMEL Mega1284P evaluation board avalible

Actually my idea for the ATmega1284p would be to use the oscillator pins for the RTC built by software.

Providing a place for the crystal and leaving the pins open to a connector would be good enough. It's something that if I remember correctly isn't possible in the Arduino Mega. :\

An advantage of RTC is that it remembers the date/time when power (except for coin battery to RTC) is off. It was stated earlier that knowing the date/time is often important or desirable for logging things to the proposed memory card.

bubulindo: Well, for me at least, the DIP version allows you to keep the board in case you fry the processor. I'm not good at soldering, and processors do go bad once in a while. In terms of investment and considering most people are not great with soldering SMDs, this is quite logical.

Well this last bit was my point. One of those chips is extremely fine pitch. I have a similar project and the stencil just came in. I'm pretty nervous about being able to assemble it with a stencil and an oven, never mind hand soldering. Although, there is no reason it can't be sold assembled with a socket. Realistically, as a mostly SMT device, i doubt too many people would buy it as a kit. But you never know.

Graynomad: What lefty is suggesting is (I think) exactly what I have on my two current 1284 designs.

Note the diode on the FTDI chip's RXD line. I'm not 100% sure that's needed but I've had trouble before with this sort of setup where the active chip powered the inactive chip through the IO pin. This is easy to get around by tristating the active chip's output as well but I prefer a hardware option that doesn't require a use to know about this stuff.

This should allow the USB chip to only be powered when USB is available.

@crossroads, this is a board designed for my network and it's pretty specific to that. I won't be competition, not yet anyway :)


Rob

The method the standard arduino uses with 1K resistors in series with the rec & tx pins works pretty well.

Lefty

So I have these for changes:

"The 32kHz xtal, is that really an HC49 case, normally they are the watch crystal style." I will check this, I copied the ATmega footprint, smaller would certainly fit.

"The battery holder will probably clash with the headers and dip socket. " I wil move this left to not have the base overlap any pins that go thru the board. How do I get the battery markings on the bottom of the board?

"Are the mounting holes at good spacing, .1" preferably but at least whole mm." Not sure what you are asking here.

"what's the advantage of the mpu being DIP? Why would anyone want to switch from the 1284P to the 644P? " The socket can handle any of the 40 pin DIPs: ATmega164A/164PA/324A/324PA/644A/644PA/1284/1284P I can make SMD version also once I finish the accessory electrical tweaks.

"3.3V regulator & cap" any other inputs on this? It is only supplying current for the SD/uSD.

"uSD connector only" I like the option of either one. Looks like there are plenty of options for brands & sizes: http://www.amazon.com/s/?ie=UTF8&keywords=64gb+sd+card&tag=googhydr-20&index=aps&hvadid=3806787621&ref=pd_sl_3v9txqilg_b

"SQW signal going to an interrupt pin so you can create a version of millis() that doesn't skip a beat or have the RTC wake the processor at 3AM. " I think I can do that - does it need to a hardware interrupt like INT2 on pin PB2, or can it be a PCINT like PD7?

"The pressure's on Crossroads" No pressure, I am having fun solving this puzzle.

"Somehow I don't think he's connected anything up yet." Not true - board as shown is all routed. I just rip up small areas and make tweaks as I go.

Real time clock - is any one familiar with this Pericom part: PT7C4311WEX Digikey has them for 85 cents in qty 1, having some trouble locating the datasheet for it.

"One of those chips is extremely fine pitch. I have a similar project and the stencil just came in. I'm pretty nervous about being able to assemble it with a stencil and an oven, never mind hand soldering."

The FTDI chip is really nice for USB. I think that is the only part I'd be uncomfortable hand soldering, the 0805 size Rs, Cs, LEDs look do-able.

RTC - I am using pcf8563T (smd), 5xcheeper than the ds1307, and only needs 200nA current (you need two additional diodes for the pcf)
Battery - I’ve moved to 12mm diameter cell recently (cr1220), there are nice sockets available, it will last many years as well… No need for such giant hockey puck :slight_smile:

How do I get the battery markings on the bottom of the board?

Don't know, I don't use Eagle for anything but viewing other people's files.

"Are the mounting holes at good spacing, .1" preferably but at least whole mm." Not sure what you are asking here.

Just that the distances between mounting shouldn't be something like 57.356mm that's hard to measure with you come to mounting it in a box.

"SQW signal going to an interrupt pin so you can create a version of millis() that doesn't skip a beat or have the RTC wake the processor at 3AM. " I think I can do that - does it need to a hardware interrupt like INT2 on pin PB2, or can it be a PCINT like PD7?

Either way, I would probably save the INTs and use a PCI, but INT2 would be a bit easier to use from the software point of view and it's "spare" according to the Arduino or do the 1284 core files handle attachInterrupt(2,xx).

"3.3V regulator & cap"

The MCP1700T is good, @ 250mA it will handle the power I would think, what power do the SD cards draw? The SOT23 has a tempco of up to 336 C/W and the the SOT89 only 52 C/W. So the SOT23 can only handle about 1/3W at room temp (depending on how much copper it has around it).

is any one familiar with this Pericom part: PT7C4311WEX

Not me,it looks similar to the 1307 but I don't see any benefit to using it. The RX-8025 mentioned before looks nice and I do like the built-in TCXO, but if you went that route I'd go with the DS3231 chip. There are libraries for the common chips, probably not for the others, so unless there's a really neat feature not available on the 1307/3231 I'd stick with them.

One of those chips is extremely fine pitch.

I use a hot air gun to solder these (the FTDI is the finest I've done so far), easy, just run two beads of paste along the pads and hit it with the hot air. Clean any bridges with solder wick.


Rob

.. the 1284p is a low power device with <<1uA power save and power down.. Did you think on switching off the various chips on the board when they are not accessed? E.g. via a transistor in their Vcc.. Otherwise they can take ~mAmps.. A green board design.. :) PS: the pcf8563 driver (based on the ds1307) does exist..

How do I get the battery markings on the bottom of the board?

If you flip the battery holder then it should go to the bottom of the board (either flip tool or middle button/scroll wheel when moving the part)

One of those chips is extremely fine pitch.

I use a hot air gun to solder these (the FTDI is the finest I've done so far), easy, just run two beads of paste along the pads and hit it with the hot air. Clean any bridges with solder wick.

I have soldered 2 DS3231s with a 2mm chisel tip soldering iron (no extra flux) as well 16 dual colour 0805 LEDs and those tiny SMD 0.1uF caps and some other stuff - just takes practice. I did lose a capacitor in my solder when I got distracted though :D Oh - smallest I've done are some of those SMD resistor networks with 8 resistors in each in a package about 3mm long.

.. the 1284p is a low power device with <<1uA power save and power down.. Did you think on switching off the various chips on the board when they are not accessed? E.g. via a transistor in their Vcc.. Otherwise they can take ~mAmps.. A green board design..

Hmm. Interesting idea but I don't really have any knowledge of low power stuff so have no idea :D

..and what is interesting for a low power design is the system can measure its battery voltage in the way it will not consume much energy. So you need an op-amp (sourced from i/o pin or switched on/off when required) with fet intputs, and a high impedance voltage divider (not to discharge the battery too much). I am using MAX1724 3V3 stepup (great chip -sot23-5)and my system is powered from one nimh cell.. From time to time it measures the battery voltage.. The 1.2V cell is charged from a sollar cell.. It works from 0.6V (it shall work from 0.8V input voltage according to the datasheet).. P.

pito: ..and what is interesting for a low power design is the system can measure its battery voltage in the way it will not consume much energy. So you need an op-amp (sourced from i/o pin or switched on/off when required) with fet intputs, and a high impedance voltage divider (not to discharge the battery too much). I am using MAX1724 3V3 stepup (great chip -sot23-5)and my system is powered from one nimh cell.. From time to time it measures the battery voltage.. The 1.2V cell is charged from a sollar cell.. It works from 0.6V (it shall work from 0.8V input voltage according to the datasheet).. P.

If the processor is being powered directly from the battery voltage, there is a way to directly read the Vcc voltage of the processor without any external components. It's done by selecting the internal bandgap voltage as a analog input measurement (not as a reference) and calculating what the Vcc actual is. Here is a link to the topic as Coding Badly and I were playing with the function. http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1294478456/8

However as you are using a step-up regulator that would not apply as the vcc should be constant until battery exhaustion.

Lefty

re: RTC, I imagine you'd want to pick something for which there's already library support...

@lefty: yea, it is understood we measure the battery voltage.. to know the battery is low.. Btw, I've seen an application note at Maxim (an opamp) for current measurement (one op-amp, one pnp trans, 4 resistors - it is an simple i/u converter and it measures the current flowing from the positive vcc rail somewhere). So when using a dual opamp we can measure both and provide a kind of "power management". E.g. you can measure the current consumption of some external devices.. And switch them off when battery is close to die (you will decrease the current, based on its capacity, by switching off/on the shields with lower priority such the battery will last until the mission is accomplished..). Useful when you plan to land on the Mars (Arduino Guidance Computer) :grin:

PS: see the http://datasheets.maxim-ic.com/en/ds/MAX4240-MAX4244.pdf fig.11.

Okay, I'm calling it done electrically. Gonna work on cleaning up component names next, check availability of all parts, from sparkfun or elsewhere.

Found a little 32K crystal for the RTC. Sticking with the DS1307 as it seems well known. Brought the square wave to the middle of 3 header pins, other 2 go to INT2 and PD7, select your interrupt choice. May change it to much less expensive part (85 cents vs $3.72) if I can find a datasheet. http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=PT7C4311WEXCT-ND Hmm, maybe not - not much flexibility on the square wave out: http://www.pti-ic.com/new/manage/doc_datasheet/PT0322%20%20%20%20%20PT7C4311.pdf 512 Hz only vs http://datasheets.maxim-ic.com/en/ds/DS1307.pdf 1 Hz/4K/8K/32K Hz

Not doing any more with low power operation, wasn't my goal for this board. Figured this to be an actively powered device with the 2 interfaces and the SD card going for whatever reason. Got the battery socket on the bottom of the board, away from any thru hole interference.

Made sure the mounting holes were on 0.10" spacings.

Any Eagle experts out there? I need someone to confirm the pads are correct for the 2 regulators. They look odd to me. PM me with address, I'll send the eagle file.

Thanks Robert

Eugh, am I allowed to say that routing's ugly? And those power tracks are a bit thin. No ground plane?

What do you think looks odd with the regulators?

However as you are using a step-up regulator that would not apply as the vcc should be constant until battery exhaustion.

Yeah this confused me for a bit last week - I've modified some scales which took 2 CR2032 batteries and ate them. It would tell you it was going flat at about 4V so I stuck in 2 AAs and a 5V boost converter. Then it stopped working after a while as the batteries were half flat but it hadn't told me it was going flat as the voltage was still ~5V, the boost converter just couldn't supply enough current so the scales simply died.

You might want to move all tracks underneath the crystal elsewhere and provide proper guard ring. The analog lines you might want less overlapping with the digital ones. I guess all the tracks (even signal can be thicker).

That was also some pretty quick routing. Autorouter or by hand? Looks a bit too random to be done by hand.

  1. there is a part colliding with the pinheader above the rtc
  2. no tuning capacitor? (at least a single cap placeholder at X1 input against gnd), few pF makes few seconds a day from my experience when not having special resonator (and usualy resonators run faster so needs to be slowed down, at least mines)
  3. the 32khz resonator shall not be placed vertically but it has to be placed horizontally with a solder point for its case (gnd?)
  4. do pour the both sides with GNDplane (eagle "polygon GND" or "polygon gnd"), this may help with autorouting and ground noise significantly
  5. did you consider smaller diameter coin cell? (maxim says 48mAh coin lasts for 10y ->CR1220)
  6. sometimes helped me to place a few cents TL431 (+ 1 resistor in anode, anode+gate shorted) as an external 2.5V ref source (maybe better than atmega's internal one)
  7. do we need those big alu caps there - the 10-20uF ceramics usualy works better, are cheap and are 1206 or 0805.

Ok, the board was autorouted with lots of parts placement manipulation to make traces as short a possible. Here's a blowup of the pads. I figured the top & bottom would be 2 solid planes connected by vias. Yet the tops got split up funny.

I make the ground traces thicker manually, they seem to revert to thinner every time I rip them up and let them play out again as I move parts around.

After the routing was done I tried adding polygon to make a ground plane.

What makes the ground plane actually connect to ground? The ground plane also made a couple of signals become disconnected. Not sure its doing much for me. Is there a better way to add that?

@pito, 1. There is no conflict - the battery holder is on the bottom of the board. All conflicts except for "stop mask" errors were taken care of, I will be cleaning up the Reference Designators next. 2. X1 on the DS1307? 3. 32K crystal has been layed over. Traces have been cleared away. 4. Am trying that again, see if it helps. 5. Went with a coin cell that I could easily find a holder for. 6. I don't know why Arduino original design had Aref located diaganolly opposite on the board from the Analog inputs. Ihave rerouted the Aref signal away from the power supply section. 7. Will review the 'big' electrolytics.

I'm trying to add the top & bottom layer hatch planes. I drew out the rectangles, renamed then Gnd, ripped up all traces and let the autorouter go - is ~97.7% done afeter Optimize 1. Having the 2 ground planes isn't helping the routing as much a I thought it would.