Kurt's Arduino Mega Shield

Over the last many months, I have had the fun of experimenting with several different Micro-controllers and having a lot of fun. This included the fun with experimenting with a shield for the Arduino Mega, that was built to plug into the Seeeduino Mega. I like this board as it is compact and not that different in size to the normal Lynxmotion boards. I have also experimented with the Chipkit boards which are based on an 80mhz 32 bit Pic32MX processor. The boards and IDE make them reasonably compatible with the Arduinos. Also hopefully soon Arduino will release the Arduino Due, which is a 96mhz 32 bit ARM processor. Both of these platforms are based on the Arduino Mega footprint… I think it would be a lot of fun to try out several of my robots on these newer platforms, so I thought it would be nice to have a shield that had all of the things I needed and that I could plug into these boards. Note: personally I am not that big into shields, and wish there were boards that had the basic functionality that I want, but when in Rome…

So I started to play around with some of the different CAD programs out there. I tried both Eagle and Diptrace and found that I personally prefer Diptrace. What I came up with was a board that had 3 out of 4 mounting holes that match up with the Standard Lynxmotion boards. The fourth one ran into IO pins. Also have standard Arduiono Mega holes. The board is larger than standard Lynxmotion boards, but for the majority of my robots that should not be an issue.

The current Schematic looks like:

My current layout looks like:

As you can probably see, I have this board pretty full of stuff. The biggest challenge was to leave enough room free to allow for an XBee.

I believe this design gives me:
32 Digital IO pins with 3 pin headers- that you can choose VS/+5V on groups of 4 pins. 1 group has PU resistors for PS2
16 Analog pins with 3 pin headers - Again can choose vs/+5V on each 4 pin group. (Pins can be used for digital as well)
Speaker
3 Buttons
4 leds (D13 + 3 others)
XBee: Setup to do voltage conversions - Need to verify I did this correct. I have this default through shunts to use USART 3
I2C EEPROM - Added the eeprom plus PU resistors.

I probably need to make another pass through and verify that I got all of the locations of things correct and then I will probably have a few of these boards fabricated for me. Will try the first one out with an older Arduino Mega I have sitting around, then I will try it out with the Chipkit Max32.

Thoughts? Suggestions?

Kurt

Hi Kurt,

Nice board! A little hard for me to read the schematic, but I get the gist of what’s going on. Looks like you’ve got it covered.

I’m not much interested in the XBEE, I’d prefer a Lantronics module. ;>)

How about motor controllers? or a couple of FET drivers for my lasers?

Any RS-232 or USB for 2nd serial port of MEGA?

I have a couple of MEGAs. I will upgrade the uP on my MicroMoose Table Top 'bot.

Too bad you didn’t do it in Eagle… Never heard of Diptrace. Gerber files?

Alan KM6VV

Thanks Alan,

Diptrace like Eagle is a Schematic Capture, plus card layout with an auto-router. For me it works a lot better than Eagle. You can download a Freeware version of Diptrace from: diptrace.com/
My current board has too many parts (actually pads) for the standard freeware version, which I believe allows a maximum of 300 pads and 2 layers. You can still view it with it. If you are doing your designs not for profit, you can have it upgraded to a version that could edit it (500 pads). I purchased the standard version which allows me 4 signal layers and 1000 pads.

Gerber files are files that you generate from the design (either Eagle, Diptrace…) that you send off to the board manufacturer. There are seperate files for each of the layers (Board outline, top silk, top mask, top traces, bottom traces, bottom mask, …). In addition you need to generate an N/C Drill file for the design. To fabricate this board, I will probably use PCBFabExpress.com.

May later play with other versions, that other stuff, like you mentioned. So far I have not had a need for a 2nd USB or RS232. It probably would not be hard to add a Max232, but don’t have any more room for any connectors, as with the XBee can’t put any taller things below it.

Since yesterday I have done some more cleanup. Things like, I did not like how I had the USART section, where the GND pins were innermost to the board, where in all other places they were outermost. So I updated them. Also cleaned up some of the Silk screen arrows and the like. Will next work on building a zip file with all of the necessary files to fabricate a few of them to try out.

Kurt
DipTrace PCB - Arduino Mega Shield with XBee.pdf (75.7 KB)
Kurts Arduino Mega Shield with XBee Schematic (2).pdf (66.7 KB)

Yeah, those PDFs are a little sharper! Better for my old eyes…

You’re not going to “feed through” the ISP connector in the center of the board? Just curious.

Arduino kinda missed it when they failed to bring out pins in the “servo connector” standard. Much easier to implement a controller board with the addition of GND and Power pins!

Thanks for the new PDFs!

Alan KM6VV

An earlier version of the board had the ISP connector, but if I populate it, the XBee will hit it and short it out. I have not see any taller XBee sockets. I could possibly add it back, and not populate it on my boards, but…

Kurt

Not a big thing I suppose.

Alan KM6VV

Probably not, but since I have not actually ordered any boards yet. I did fit it back in… On my first boards I will probably not populate it, but it is there if I need it…

Kurt

That’ll do it!

A BlueSmIrF connector would be nice! ;>)

Alan KM6VV

Maybe BT on next version. I think I am about to have my first version be fabricated… I decided that in case this works out reasonably well, at some point I may need a robot with 2 VS sets of pins, like on Arc32/SSC-32… So I added them…

The zip file is what I will submit to pcbfabexpress. It has additional things that they don’t need, like the actual design files, but I like to keep it as a complete package.

Kurt
kams_001.zip (425 KB)

No BOM?

Alan KM6VV

I use diptrace also for my copter shield…!

Nice board btw

Thanks, Yep, I found out about diptrace as I think that is what Parallax uses…

Not yet, but there will be…

Kurt

I ordered my PCB from seeedstudio … real cheap and mine came real good.
Ordered a first 10 board of my LED ring then 50 board of the shield

Thanks Eric, I may have to look into them. I wonder if they would also populate the board?

Will order in the next couple of hours. Up till now I have test my Arduino Phoenix code using my TH4-R hex which started off as being a CH3-R hex and has had more or less everything replaced. I have done all of the testing using a SSC-32 to control the servos. I have been wondering how well the Arduino Mega could do this itsef as well as the Chipkit Max32 and soon to be (hopefully) Arduino Due. I do not wish to tear my current test Hex as I want it to be able to test all of the different platforms. Nor do I wish to tear apart my Arc32 Phoenix as I like it the way it is :laughing:

So instead I decided to resurrect the CHR-3 from spare parts, plus the old legs, plus the old body and parts from one of my two Brats. What is old is new :laughing:

It is not perfect as the old brat was not black. Also I found I was 3 bearings short, but found I had 3 of the old C brackets that had a screw hole at one end, which I used a simple screw to attach the leg…
But I think it should work well enough for this. First test will be with Arduino Mega (with Seeeduino Mega and prototype shield). Will replace with the Arduino Mega with the shield of this thread when I get them. Later will also test with this shield and Chipkit Max32. Will probably continue this part on a different thead.

Kurt

I hacked up the board a little more before I submitted it. I added 2 1x10 connectors that are placed next to the XBee socket and connected to all of the IO pins. Probably not needed but it gives me the chance to potentially connect up other pins of the XBee like RTS if I find it needed…

Also enlarged all the vias, such that I should not get a surcharge… Hopefully I did not screw up anything :laughing:

Updated zip file…
kams_001.zip (429 KB)

HéHé…!

How many you gonna order ?
Can i have one ?

I ordered 5 as I believe ordering 1 costs $65 and 5 costs $75… If it works I will assemble 2 or 3 of them for myself, to play with the different boards. As for getting them? May have to figure out some 3rd party to make more if there are interested people.

Next step is to put a parts list together. But right now I am playing around with some code :smiley:

Kurt

Cool! I wan’t one too! :laughing:
Looking forward to read how it worked out. That’s gonna be great combined with the Max32 board.

Seedstudio is 10 for 10$

Sounds like a nice price from them. May have to try them some time.

Started on parts list: Probably should simply put the XLS file up here. There are things for me to figure out when I order parts for myself, like, I put in pre-cut breakaway headers from Digikey here, which are nice as they save you a little time. But for myself who is only going to do a few, I may just buy bulk ones and cut them myself…

[code]Digikey Quantity RefDes “Number of Pins” Pattern Manufacturer Digikey description
102-1155-ND 1 SPKR 2 SPKR KC-1206 CUI CEM-1206S BUZZER 2.4KHZ 12MM PC MOUNT
160-1426-1-ND 2 L1, PWR 2 CD0805 Lite-on LED GREEN CLEAR THIN 0805 SMD
160-1427-1-ND 1 L3 2 CD0805 Lite-on LED SUPER RED CLR THIN 0805 SMD
160-1428-1-ND 5 L, L2, RSSI, RX, TX 2 CD0805 Lite-on LED YELLOW CLEAR THIN 0805 SMD
24LC512-I/SN-ND 1 U4 8 SO08 Microchip IC EEPROM 512KBIT 400KHZ 8SOIC Optional - could use larger/faster? r 24FC1025-I/SM-ND
277-1860-ND 1 J2 4 277-1860-ND Phoenix Contact CONN TERM BLOCK T/H 4POS 3.5MM
399-1168-1-ND 16 C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C18 2 CAP_0805 Kemit CAP .10UF 25V CERAMIC X7R 0805
495-2236-1-ND 1 C23 2 CAP_1206 Kemit CAP TANT 10UF 16V 10% 1206
BAV16WDICT-ND 1 D1 2 SOD-123 Diodes DIODE SWITCH 75V 400MW SOD-123
BSS138CT-ND 1 U3 3 SOT23-3 fairchild MOSFET N-CH 50V 220MA SOT-23 MOSFET-NCHANNELSMD
EG2510-ND 4 A, B, C, RESET1 2 MOU506-FSCM E-Switch SWITCH TACT 6X3.5MM H=4.3MM 130G
MCP1700T3302ETTCT-ND 1 U2 3 SOT23 Microchip IC REG LDO 3.3V 250MA SOT23-3 MCP1700_TT
MMBT6428TR-ND 1 Q1 3 SOT-23 fairchild TRANSISTOR GP NPN AMP SOT-23
RR12P1.0KDTR-ND 6 R5, R6, R7, R13, R14, R16 2 RES_0805 Susumu RES 1.0K OHM 1/10W .5% 0805 SMD
RR12P10.0KDTR-ND 6 R3, R4, R17, R18, R19, R20 2 RES_0805 Susumu RES 10.0K OHM 1/10W .5% 0805 SMD
RR12P30.0KDTR-ND 2 R1, R2 2 RES_0805 Susumu RES 30.0K OHM 1/10W .5% 0805 SMD
RR12P390DTR-ND 3 R9, R10, R11, R15 2 RES_0805 Susumu RES 390 OHM 1/10W .5% 0805 SMD
RR12P4.7KDTR-ND 3 R8, R21, R22 2 RES_0805 Susumu RES 4.7K OHM 1/10W .5% 0805 SMD
RR12Q49.9DTR-ND 1 R12 2 RES_0805 Susumu RES 49.9 OHM 1/10W .5% 0805 SMD

Sparkfun: PRT-09279 10 JA0-15, JA0-7, JD0-7, JD8-13, JSER, JD22-52E=2, JD23-53O=2 8 Stackable header 8 pin 1 to cut up into smaller
Sparkfun: PRT-09280 1 JPWR 6 Stackable header 6 pin
??? 1 ISP Stackable ISP header >>>
Sparkfun: PRT-08272 2 Xbee Silk - U1 10 2mm 10pin XBee Socket

A26508-02-ND 5 J5V, JGND, JPANEL, VS=VL, VS1=VS2 2 HDR-1X2 CONN HEADR BRKWAY .100 02POS STR
A26508-03-ND 12 JCN1, JCN10, JCN11, JCN12, JCN2, JCN3, JCN4, JCN5, JCN6, JCN7, JCN8, JCN9 3 HDR-1X3 TE Connectivity CONN HEADR BRKWAY .100 03POS STR
A26508-04-ND 13 CN1S, CN1S1, CN2S, CN2S1, CN3S, CN4S, CN5S, CN6S, CN7S, CN8S, CN9S, CNPS2S, CNSerGnd 4 HDR-1X4 TE Connectivity CONN HEADR BRKWAY .100 04POS STR
A26508-06-ND 1 6 HDR-1x6 TE Connectivity CONN HEADR BRKWAY .100 06POS STR
A34268-02-ND 1 (JXBEE_INOUT/USART) 4 HDR-2X2 TE Connectivity CONN HEADR BRKWAY .100 04POS STR
A34268-04-ND 13 CN1GP, CN1GP1, CN2GP, CN2GP1, CN3GP, CN4GP, CN5GP, CN6GP, CN7GP, CN8GP, CN9GP, CNSerRT, PS2P 8 HDR-2x4 TE Connectivity CONN HEADR BRKWAY .100 08POS STR
[/code]

As always should mention that this design and all of the documentation and stuff involved is for my enjoyment and I make no promises that it is good enough for anyone to use for anything… I hope it is, but no promises…

Kurt