On Tue, Oct 20, 2015 at 9:11 PM, David Mandala david.mandala@linaro.org wrote:
Grant,
Nice work. :-D Comments below.
David
On 10/20/15 2:28 PM, Grant Likely wrote:
I've completed rework, layout and routing of the Rev B Sensors board, and it is now ready for review. I've attached the new schematic and new component placement diagram. The design files have been pushed out to the "rev-b" branch on github and git.linaro.org:
https://git.linaro.org/people/grant.likely/96boards-sensors.git/shortlog/ref...
It is ready for review, and very close to being ready for manufacturing. However, I have some questions that I would like some feedback on. Help and suggestions are greatly appreciated.
First, here are the things to notice on the new design:
- Arduino connectors have been centered and lined up on the bottom edge
of the board, including the SPI header. This should make it compatible with more Arduino shields
- More grove connectors have been added as well as more 96B IO.
- Bottom edge uses right-angle SMD grove connectors to avoid
shorting against the USB ports on the baseboard.
- GPIO A-F are all level shifted
- SPI has been brought out to P7
- Arduino Grove connectors match naming convention of Arduino Grove
shield (D3-D7, A0-A2, I2C). The Arduino Grove examples should now work without any changes.
- Grove connectors are evenly spaced on either side of the Arduino headers
- A CBUS connector has been added for 1.8V IO controlled from the USB
port. This will be an undocumented feature allowing the FTDI to be used to control boot select pins on the base board, but requires the signals to be manually wired up (hence I'm not going to document it - It will just cause confusion)
- J1 added to support manufacturing test. It allows the Arduino to be
reset from the FTDI
- I2C0 & I2C1 have stronger pull-ups on the data and clock lines.
Questions:
- Are the Grove connectors too close together. I tried to give lots
of space so that labels can be easily read, but there isn't much room between the mounting holes. I could have more space if I dropped two Grove connectors and put more space between P14,P15,P17 and P11,P10,P9.
Space wise it looks good just as it is. All of my grove cables fit internally to the connectors, and I can read the labels with no issues.
Okay. I'll go with it.
- The LS expansion connector is currently an SMD pin header on the
bottom side. Seeed has sourced a through-hole stackable connector that I could use instead
Q: Is it worth replacing the SMD pin header with a 2x40 stackable header?
Yes it's worth it, stack-able gives a Maker or Developer access to all the signals and power out not just what you bring out and there are 5 pins you don't bring out. The cost is comparatively minimal but allows full access or stack-ability if needed.
Done.
We should also make sure those through-hole stackable connectors are available for sale at Seeed Studios. I have at times added a stackable connecter with an rPi just to increase the spacing between the rPi and an expansion board.
I will ask Seeed about that. Shouldn't be a problem.
- The board has a solder bridge jumper (QS1) for selecting between
running the IO at 3.3V and 5V. 5V is the default for compatibility, but someone who knows what they are doing can switch the solder bridge to run at 3.3V for everything. (Most sensor devices appear to be 3.3V these days. The ATMEGA will happily run at either 3.3V or 5V)
Q: Is a solder jumper the best way to select the voltage level? Or should I put a physical switch on the board?
Personally I'd use a 3 pin jumper, pin 1-2 is 3.3VDC operations, pin 2-3 5VDC operations. My second choice would be a switch. Last choice would be a solder bridge, you might be surprised how many people shy away from a soldering iron.
I have a concern here. A solder jumper I'm not too worried about, but I don't like the idea of routing all of the supply current through a shunt. I figured I'm not the first person to deal with this, so I went and took a look at what others have done. This is what I found on the Seeeduino design which can be run at both 3.3V and 5V:
http://www.seeedstudio.com/wiki/images/c/ca/Seeeduino_v4.2_sch.pdf
The 3.3/5V selection switch is merely a signal routed to a couple of mosfets which gate the power. That removes the power supply trace from the jumper or switch entirely. I assume it is done that way to reduce noise on the supply rails. I'm wondering if I should do the same here.
g.