Suggestion for a new product - FEZ module

Gus/Joe/Mike/GHI:

10 of the GPIO pins are related to the on-board ethernet:

86	IO60	ENET-MDIO	General purpose digital I/O
87	IO59	ENET-MDC	General purpose digital I/O
88	IO58	ENET-RX_CLK	General purpose digital I/O
89	IO57	ENET-RX_ER	General purpose digital I/O
90	IO56	ENET-RXD1	General purpose digital I/O
91	IO55	ENET-RXD0	General purpose digital I/O
92	IO54	ENET_CRS	General purpose digital I/O
93	IO53	ENET-TX_EN	General purpose digital I/O
94	IO52	ENET-TXD1	General purpose digital I/O
95	IO51	ENET-TXD0	General purpose digital I/O

Are these pins used for the WIZNet module, or for something else? My current pin list has these pins, but none of them are interrupt-capable, and there’s a couple more INT pins that could be included if we didn’t ever need these…

The NXP chip has an internal MAC. These pins are used to connect to an external PHY. The WIZnet is connected using SPI and not these signals.

None of GHI’s solutions use the internal MAC?

EMX and CWX do.

The USBizi has limited memory and putting full TCP/IP stack code will take away almost everything. The Wiznet chip has a “hard wired” TCP/IP stack onboard and the host processor can talk to using sockets.

Ah, very informative. Thanks for the info.

I won’t bother to break out these pins then, they won’t be useful for this project.

ok, so who is interested in helping out here? I have basic Eagle skills - anyone who can trump that hands up :smiley:

Requirements:

USB port - confirmed.
XTAL - confirmed
RTC - route to pins or xtal or ignore?
RESET - route to pins
LDR - route to pins or put jumper?
3v3Reg - ? without means external supply
SD card pins - routed to pins? if so, use Fez standard layout

I’ll help. Also have Eagle skills (but won’t say I trump anyone :)) Just shout where you need manpower.

USB port - confirmed - Mini USB or Micro USB? Mini is easier to find.
XTAL - confirmed
RTC - XTAL on board please - and external pins with resistor for super cap/battery.
RESET - route to pins - next to each other to use a jumper.
LDR - route to pins - next to each other to use a jumper.
3v3Reg - External - this is a “drop-in” module remember.
SD card pins - Yes please. Maybe on bottom of board with big vias as an optional. You can always wire it externally using the big (0.8mm) vias doubling as pin headers.

Oops - if Usb is on, then regulator must be on too. Is a supply from USB 5V through 4 diodes in series an option? It is really just meant for “power while programming” - not to power the overall project the module will be plugged into.

My vote for the footprint will go to SmartiBlox (but I’m prejudiced :))

A more popular choice would be like a Fez Mini - but a long one - 2x40 pin DIL head to tail footprint - so you could use standard DIL sockets for drop-in on breadboard, stripboard or PC board. Maybe even make the board cuttable at 40 pins between the sockets if you don’t need all the extra I/O - so shrinkable back to Mini.

Interested in helping.
Eagle knowledge and able to make my own pcbs (single sided at the moment).

Thanks, everyone, for the offers of help.

I’m rethinking the idea of the USB. Given that COM1 is easily accessible and MODE is easily accessible, deployment could happen over a serial-to-usb cable easily enough. Don’t get me wrong, I’d like to have it, but space is at a PREMIUM here.

Here’s a mockup of a 25-pin DIL module that would fit in a breadboard. It could be made .2" wider and leave room for one hole on each side (on a standard columns-of-5 breadboard), if necessary. Currently on it are (what I believe to be) the 6 MUST-HAVE components: 2 crystals (1 for RTC, 1 for MCU) and 4 decoupling caps. As you can see, it doesn’t leave a lot of room for anything else, including traces.

I just thought of an idea, however. This design has a LOT of IOs. All of the peripherals are broken out, as well as something like 18 plain-jane GPIOs. What if we lost the inner header on one side? That would leave much more room for things like USB connectors etc.

Realizer… have you attempted to fit the crystals and caps into your Smartiblox form factor? It’s a super tight fit…

Isn’t it possible to mount the XTAL2 vertical (not flat on the pcb) and use that space to put a usb connection header? Just an idea.

What about this?

A board that can snap off in different sections.

The smallest version snaps just the UsbIzi chip (and crystal). The biggest version has everything on - including crystals, Usb, SD, power supply - even LiPo charger etc.

If you do it right, you can snap off the connectors but still have the pins available to mate on a a carrier board.

What about “Fez Centipede” :slight_smile:

I like the centipede idea. SparkFun did something similar called a ProtoSnap [url]http://www.sparkfun.com/products/10817[/url]. The only downside is, if you just need, say, the chip, you end up with a lot of spare parts. But if the cost difference is not that much, may not be an issue.

Here’s a DIP24 version. If we can keep it in a DIP24 form factor (pins, anyway… stuff can hang over the sides…) then it could conceivably plug into a $1.70 machine pin socket such as this one: [url]http://media.digikey.com/photos/Mill-Max%20Mfg%20Photos/110-44-624-41-001000.jpg[/url]

This shot shows the to-scale USB MiniB connector for reference. This of course does not include all the additional parts necessary for USB to function. It’s clear that USB will not fit in the DIP24 form factor without an “overhang”.

Realizer, your centipede, how wide is it? Does it fit in a breadboard or standard DIP socket?

note that your crystals can be a LOT smaller. I used 5mmx3mm main crystal on my board. I’ve seen 32kHz crystals that are 1.5mm wide by 5mm long…

Also, with such flat crystals, they can be placed on the bottom of the board…

Interesting. Why did GHI go with such large crystals on their boards (even the mini has the one large crystal)?

Alright, a few more minutes, another layout. In this version, the INNER row of pins is a standard 24-pin DIP (with rows on .6" centers) that would fit in, for example, the machine pin socket I referenced earlier. Making the board a bit wider does make it less convenient to breadboard, but not impossible, especially if you had the aforementioned socket.

The big news, however, is that making it wider gives room for all the necessary USB paraphernalia. While there’s no regulator (can’t power the board via USB without it), the socket is there. We could even break out the +5V from USB onto a pin, and you could mount your regulator external to the board if you wanted to power the project via USB.

The layout here is just a board with all the right pieces… nothing is in a sensible place. I just wanted to satisfy myself that everything would fit.

All in all, this is a form factor I like. It’s breadboardable, it’s socketable, it’s compact, and it breaks out all the peripherals plus lots of GPIO (including all the interrupt capable ones).

Would anyone like to try their hand at laying this out in Eagle and routing it?

May I suggest a few more things before routing begins?

Rotate the chip 45 degrees - it makes it a lot easier to route all those pins to the headers.

Invert the 16 pin headers so the pin 1’s are where you’d expect them to be if inserted like a DIP package - in other words pin 1 is top left in the inside row… Or is the idea here to plug the board in “upside down” with the chip on the bottom? Might not be a bad idea to then use the other side for all the silkscreen documentation.

Consider making one of the 16 pin headers a 14 pin or 10 pins - so the whole thing has some polarity. This other socket is also a nice one to use to break out buses when you stack modules. You could make this compatible with Spider or UEXT so you can use those modules too.

Leave the inside rows 16 pins each (so it can plug into a DIP socket), but you can add an additional 16 single row pins each side easy on the outside row. I think there’s a better chance that way to get all the pins connected to the 100 pin package.

The 32kHz crystal can be a through-hole type. It can lie over other components if space is an issue. Doesn’t look like it is a problem though.

I think the regulator (SOT-23) will fit on the board if people think it is important to have. A Zener diode could also do the job.

It looks like there is space for an SD socket on the other side of the board (under the chip).

Yeah, I’m working in FreePCB to play with the layout, and I don’t think it allows you to do that. the board should be wide enough now, and that’s probably a really good idea.

I just dropped the headers on without any regard for pin location. I just needed to see where things would go and what would fit. It could certainly be placed upside-down, but then you’d want the USB connector on the top, and you’d need to be sure everything would clear whatever was on the board underneath.

Probably a good idea. Plugging this in backwards could be fatal :slight_smile:

I think that would prevent you from rotating the chip… Already we have all the peripherals plus 18 GPIO broken out. That only leaves something like 6 GPIO unconnected. If you connected a SD socket underneath (not a bad idea, cost permitting), then you’d actually have pins unused.

If space wasn’t an issue, it’d come down to cost (for me). If it was included, I’d want a 5V VIN/VOUT pin included in the design. I’d want to be able to power the module via the 5V or the 3.3V depending on what voltage I had available.

I like the idea, assuming it doesn’t add much to the cost.

What about this?

A few millimeters bigger than yours but with support for SmartiBlox, UEXT and Gadgeteer plus a few extra pins.

It’s actually unfortunate that all of thise use 10 pin connectors. Just have to watch what you plug in where…

maybe they bought a reel of those crystals(10000?) and use it everywhere. Sometimes it is cheaper to standardize on parts than to have different parts for every product, thus buying small crystals just for the mini would not make financial sense…

I think there is even 3mmx2mm crystals. Look around… :slight_smile: