Board Design

17 views
Skip to first unread message

Opendous Support

unread,
Jun 12, 2010, 1:46:52 PM6/12/10
to rockboxplayer
I just want to clarify my own goals for the PROpendous project:

"The PROpendous project is a DIY'able and cheap development platform
for portable and embedded computing capable of running Linux."

The design is 2-layer with 7mil-7mil-15mil
trace-clearance-minimum_drill and 0603 minimum components. Some
trade-offs had to be made to make the board DIY'able. There is no way
to significantly reduce the size or alter the location of the
components without moving to more layers and smaller parts which would
increase costs and reduce DIY'ability.

>>since we will need to make a secondary board
>>for the buttons, I think we should use that board
>for the LCD and buttons.
>John:
>A secondary i/o board is a practical concession
>in a minimized form-factor device and it needs
>to be designed in tandem with the base board

Any board that is space-constrained will likely be re-use
constrained as well. The simplest solution to height issues is to
just use male headers on the JTAG and Expansion headers to join two
boards together. Using both headers will make everything very sturdy.
Just spray some conformal coating on the bottom of the Expansion
board or tape it up with polyimide. If you ever need to remove the
Expansion board you can use removal alloy. If you frequently alter
the Expansion board then your project is not likely to require a small
form factor.
http://www.mgchemicals.com/products/419b.html
http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=SMD1NL-ND
http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=SMD4.5NL-ND

>What expansion system could be added. Is there
>one SPI available? I think SPI and I2C is a way
>to expand the hardware (not considering the USB).
>Maybe an IO expander shield could be done using
>SPI or I2C. The same for PWM and ADC.

All signals not already critical for the on-board functions are
available off-board through the Expansion Header
(GPMI/LCD/SSP2/microSD, I2C, UART, PWM, ADC) and the JTAG Header
(SSP1/SD-Card). I2C and UART are easily available. See:
http://propendous.googlecode.com/svn/trunk/PRopendous/Hardware/PROpendous/PROpendous-Connectors_JTAG.pdf

The only LCD-related signal not available off-board is
SSP1_Detect/GPMI_CE3n/USB_ID which is used to enable the backlight but
any available pin can be used for that. This will need to be
corrected in the next revision of the PCB as inserting a SD card will
turn off the LCD backlight (or, turning on the backlight when the SD
card is inserted will short GND and VDDIO). It is difficult to route
on just 2-layers so I grabbed the most easily available signal. How
about routing it off-board via DBGACK on the JTAG connector which is
unused on most JTAG adaptors anyway?

For IO, the buttons board could be just a small and simple board
with wire leads to the Expansion connector. Or, as pictured, the
buttons could be I2C and just use 6 pins from the expansion header.
This would allow the LCD to be used without interfering with any IO
board although it would slightly overlap the battery compartment. The
buttons would be over the external connectors and below the LCD so the
layout would look natural. Note the pictured LCD is an older version
of the LCD the board was designed for. The battery compartment would
be the top of the board but if we use custom cases the battery
compartment could be removed.

I have recently started playing with the MCP23008(I2C) and
MCP23S08(SPI) which are pin-compatible 8-bit IO Expanders and come in
a range of packages including DIP, SSOP, and QFN:
http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=MCP23008-E/P-ND
http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=MCP23S08-E/P-ND

For an ADC the best solution might be an ATtiny261 which has a
10-Bit 11CH/16Differential 15kSPS ADC. Or, perhaps the MCP3201, a
12-Bit 1CH 100kSPS ADC which has a 10-Bit version. All are available
in various packages including DIP:
http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=ATTINY261-20PU-ND
http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=MCP3201-CI/P-ND

>One idea is to have SDCard in place of uSDCard
>and vice-versa, and default boot from uSDCard.
>imx233 could boot and enable JTAG and let us
>debug with SDCard working whereas right now we
>have a "lost" SDCard when doing debug.

I consider it more important to have JTAG and the internal microSD
card as that is the one with Linux and will require debugging. The
external SD card is for user data. You can put some music files on
the microSD card when debugging audio functionality.

Related to the JTAG header is the incorrect use of PSWITCH as SRST.
During JTAG debugging the SRST pin must be bent down as JTAG is
trst_only for the i.MX233. I plan to keep the header this way as
PSWITCH must be available for expansion and its functionality is
similar to that of SRST. There are not free expansion pins elsewhere.

>I can't find a battery for the connector used

I didn't know which connector to use so I just went with the one on
the Freescale EVK. If we decide on a battery I will alter the board
accordingly. Wide availability and low cost are important although we
can always alter the PCB for different batteries later on.

>about the 0805 option, why not components
>on both sides? I think people can solder easily
>on both sides! Or is is easier to assemble?

It is no problem to prototype a board with components on both sides.
It does not change the DIY'ability of the design. However, for
automated fabrication it would help to have components on one side but
the design would need to move to 0402 parts. For people who are
trying SMD prototyping for the first time it would help to have 0805
components. There is no way to cheaply and easily meet these goals.
The current design is a good compromise.

>>[About the touchscreen controller,] either
>>should work well and the board does not use
>>the extra TSC2003 functions.
>
>John: The greater concern is the TSC2003 may
>not be able to sample the touchscreen at a
>sufficiently high rate to satisfy the user
>when limited by 400Khz I2C. The TSC2007 does
>data oversampling/averaging

I delved further into the datasheet and John is correct. The
TSC2007 is the better choice and will simplify board layout. It is
lower power and performs preprocessing.

>Qimonda 512mb DDR1 devices based
>[are cheap (US$6) and] a steal for DDR1.

That is what I thought about the Winbond 256MB device which was
$3.78 but it was obsoleted a week after I bought it. For now Micron
seems to be the most likely to keep producing. They are also the only
manufacturer with supplier-stocked Mobile SDRAM. If they obsolete
their SDRAM we will know the days of the DDR SDRAM are numbered. Some
early warning is always nice.

>The expansion connector
>overlaps the LCD footprint

Only because I bought cheaper shrouded headers. In future I will
use the following unshrouded header or something similar:
http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=S7123-ND

Those Toby Electronic's headers Bob mentioned (LHCD-40S-R-027-034
and B01-2x20-AG1-G) sound very promising.

The DigiKey-stocked SAMTEC are a Value-Added-Item so they are cut
from a longer part or a continuous reel and may be available even if
stock is 0. DigiKey will inform you within a day if they are
unavailable.
http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=SAM1095-20-ND

By the way, I list components with DigiKey links as they have the
fastest and easiest to use component search and ship worldwide.

Later,
Matt,
Opendous Inc. - Open and Stupendous Electronics

PROpendous_Mechanical_Layout.jpg
Adjustable_Board-to-Board_Height.jpg

john cooper

unread,
Jun 12, 2010, 3:26:12 PM6/12/10
to Opendous Support, rockboxplayer
Opendous Support wrote:

> Any board that is space-constrained will likely be re-use
> constrained as well. The simplest solution to height issues is to
> just use male headers on the JTAG and Expansion headers to join two
> boards together. Using both headers will make everything very sturdy.

Here are the SMD mount 100mil headers/sockets I was
referring to earlier, other sources exist as well.
May help with component orientation on a prospective
i/o board: See pages 90 and 92:

http://www.sullinscorp.com/pdfs/AUGUST_2009_CATALOG.pdf

2mm versions are more common than 100mil, unfortunately
that's about the only place they are more prevalent.

> I have recently started playing with the MCP23008(I2C) and
> MCP23S08(SPI) which are pin-compatible 8-bit IO Expanders and come in
> a range of packages including DIP, SSOP, and QFN:
> http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=MCP23008-E/P-ND
> http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=MCP23S08-E/P-ND

It's hard to beat i2c for slow/dumb/cheap interconnect.
But the comparatively high speed SPI would be handy
for interface to parallel graphics lcds in pin constrained
scenarios where i2c isn't really usable. Maybe someday
we'll get a configurable pulse strobe output on a port
read/write to remove the need for elementary bit-banging
and increase the effective throughput by 2-3x. Even the
MOS6522, MC6820, etc.. of yesteryear provided such
functionality.

> For an ADC the best solution might be an ATtiny261 which has a
> 10-Bit 11CH/16Differential 15kSPS ADC. Or, perhaps the MCP3201, a
> 12-Bit 1CH 100kSPS ADC which has a 10-Bit version. All are available
> in various packages including DIP:

The thought to use something like a self-clocked atmega48
in place of the ti/nxp pca9555 i2c port had crossed my mind.
Should be able to handle touch screen digitization with the
addition of some analog biasing. It could address the discrete
switch interface as well and be located on the reverse of
a prospective i/o or even switch board.

> It is no problem to prototype a board with components on both sides.
> It does not change the DIY'ability of the design. However, for
> automated fabrication it would help to have components on one side but
> the design would need to move to 0402 parts. For people who are
> trying SMD prototyping for the first time it would help to have 0805
> components. There is no way to cheaply and easily meet these goals.
> The current design is a good compromise.

To the extent possible my approach was to keep large packages
on the component side and all bypass on the solder side.
Doing so the bypass could be placed and oven reflowed with
the component side subsequently populated and hot air reflowed.
Otherwise it is challenging to avoid sending 0402s flying.



>> Qimonda 512mb DDR1 devices based
>> [are cheap (US$6) and] a steal for DDR1.
>
> That is what I thought about the Winbond 256MB device which was
> $3.78 but it was obsoleted a week after I bought it. For now Micron
> seems to be the most likely to keep producing. They are also the only
> manufacturer with supplier-stocked Mobile SDRAM. If they obsolete
> their SDRAM we will know the days of the DDR SDRAM are numbered. Some
> early warning is always nice.

Qimonda looks to be in their 11th hour judging by their
financial state so I wouldn't be surprised to seem them
wink out unexpectedly. Although unconventional I've
resorted to scavenging SODIMMs for the SDRAM I needed.
It is actually 10x cheaper than buying individual TSSOPs
until that surplus itself drys up. SODIMMs are unique
as almost no other memory card layout uses 16-bit wide
dram. AFAICT this hack doesn't apply to DDR laptop
modules for the task at hand, as that appears to be where
the BGA migration had started.

> By the way, I list components with DigiKey links as they have the
> fastest and easiest to use component search and ship worldwide.

And one of the few suppliers which doesn't gouge on
shipping charges. Although I wish they'd get the
prices in their catalog stated accurately.

-john

--
john....@third-harmonic.com

john cooper

unread,
Jun 17, 2010, 11:43:37 AM6/17/10
to rockbo...@googlegroups.com, Opendous Support
john cooper wrote:

> Although unconventional I've
> resorted to scavenging SODIMMs for the SDRAM I needed.
> It is actually 10x cheaper than buying individual TSSOPs
> until that surplus itself drys up. SODIMMs are unique
> as almost no other memory card layout uses 16-bit wide
> dram. AFAICT this hack doesn't apply to DDR laptop
> modules for the task at hand, as that appears to be where
> the BGA migration had started.

Well that may have been overly pessimistic. I'd forgotten
my dusty Thinkpad T42 uses 200pin DDR1 SODIMM sporting 8x
64MB @ 16bit DDR1 in TSOP-66 0.65mm pitch packages. So it
may be possible 512MB modules exist in significant surplus,
having been tossed in favor of 1GB modules which arrived
shortly thereafter that vintage of laptops.

Then again even new they can be had quite cheap, eg:
http://cgi.ebay.com/NEW-512MB-PC3200-200PIN-SODIMM-LAPTOP-DDR400-MEMORY-/380226790305?cmd=ViewItem&pt=LH_DefaultDomain_0&hash=item58874863a1

I also stumbled upon the same DDR1 we're using here in a
0.4mm vs. 0.65mm pitch TSSOP-66 pin package. Am impressively
shrunk 0.4mm pitch 54-pin TSSOP DDR exists as well,
unfortunately only in x4 and x8 bit wide configurations.
Neither of which I see as terribly useful here, but I was
surprised to find they existed until (apparently) displaced
by BGAs.

Anyway the SODIMMS are hardly a reliable supply alternative,
but could come in handy if waiting on another 10-week digikey
backorder.

-john

--
john....@third-harmonic.com

Reply all
Reply to author
Forward
0 new messages