# ATMEL Mega1284P evaluation board avalible

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.

Great, so its all done finally, leaving me unrouted lines to clean up - all Grounds! Go figure.

Great, so its all done finally, leaving me unrouted lines to clean up - all Grounds! Go figure.

Shouldn't take too long.

Once you're done I'd have a manual tidy up of tracks (I'll have a play around with them if you want).

@Xroads: you have to simply write into eagle's command line: polygon Gnd (or GND or gnd - depends on the signal name) and it will assign the name to the polygon you intend to draw after..

BTW -you may place the crystal underneath the 1284p (see the dil40 machine pin socket there are such "windows"), I did it with dil28 narrow socket as well - Unless you plan to change the crystal too often it saves a lot of space. As the heights is concerned it fits nice..

BTW -you may place the crystal beneath the 1284p (see the dil40 machine pin socket there are such "windows"), I did it with dil28 narrow socket as well - Unless you plan to change the crystal too often it saves a lot of space. As the heights is concerned it fits nice..

Yeah I was going to suggest parts under the 1284 but I was struggling to think of anything that could go under it - I'd completely forgotten the crystal!

IC1 is also a good candidate to be put underneath the 1284pā¦
Btw, is the package of the IC1 really so wide??

pito: IC1 is also a good candidate to be put underneath the 1284p.. Btw, is the package of the IC1 really so wide??

You'd struggle to fit it under as it really is that wide - I think the plastic socket would hit it and that would make routing much harder without any real advantages.

Yes, the MAX232 driver chip selected is that wide. It would fit under the 1284 if the pins were laid perpindular to the DIP's pins, which would probabaly be good for the capacitors also. However I think routing of the signals in/out of the part then seriously get in the way of the 1284 signals on a 2 layer board. If I think about it tonight, I'll rip the traces up & try it. The decoupling caps and crystal caps and Reset R/C parts would then have to move out from under the 1284 (or go on the bottom of the board? Hadn't considered that possibility.) The MAX3232 also comes in a 16TSSOP package which the FTDI part type pin spacing. I went for the bigger hand-solderable size. The 16MHz crystal won't fit, is too tall.

@mowcius, "Shouldn't take too long. Once you're done I'd have a manual tidy up of tracks (I'll have a play around with them if you want)."

Its gonna be hard - there are so many signals, I did not see any readily available spaces to run a trace and vias to get them connected to ground somewhere, and I have hatching on the top & bottom layer. The pads that need to be connected are on their own little ground islands. I think I will have to move things a little and try again, should resolve 2 of the capacitor ground issues, getting ground to IC7 a little trickier now that the crystal caps are under the 1284.

I find it very hard to follow the traces after the hatching goes in.

I suppose I could have it do the routing with no hatching, strip out the grounds, clean up by hand, then let it try & put the hatching in again. Likely just leave me with unconnected grounds again.

Or just route it all by hand, just takes longer and results in more Design Rule checks to clean up as I tend to get things a little too close without realizing it (they look far enough apart when zoomed in!)

What gets me is the clearance errors that need cleaning up after the routing is done, and the Width & Dimension errors. from the libray parts! Specifically the fiduciarys, some interference between SD socket ground pad and hole in the lower right side, and vias that get placed too close to stuff.

I suppose I could have it do the routing with no hatching, strip out the grounds, clean up by hand, then let it try & put the hatching in again. Likely just leave me with unconnected grounds again.

Why are you hatching it then? Or just so it looks pretty...

Got it to work finally. Still had to make a few ground connections by hand, kinda like showing the program where to put a via or two so it could make the final connections. Moved a couple of caps slightly, moved a few traces so the ground planes could cover a little more area. Bit of an iterative process - tweak a trace or two, let the polygon refill. Move a part a scooch, let the polygon refill. Overall coverage between the 2 layers is good, got some voids in the bottom layer where the runs spanning long stretches don't give the polygon any access. Think I can add a via in the middle of the top layer and have it carry over to the bottom to get the voids filled?

Looking at parts for availability next - checking the SD socket to see if make can go in (digikey carries several, the mechanical drawings are not the easiest to interpret) or if the Sparkfun library part is unique.

When Eagle complains about "Clearance" errors around the regulator thermal pad, do I need to resolve that or can I ignore it as the top & bottom layers are intentionally connected together with vias?

I'm thinking this needs more work - looking closer, the top layer has a small pad in the middle that is isolated with an outer pad that is connectet to the ground hatching. The bottom pad is VCC, but is also connected to the bottom layer ground hatching. I need some way to isolate the regulator thermal pad.