Botboarduino development thread!

Kurt,

Thanks for posting your observations on the ribbon connectors. They do not sound nearly as robust as we would like. Let’s look at alternatives.

What do you think of this connector? I believe this is the connector used on dynamixels, pretty robust, polarized, not hard to get extension cables for it. There is also a right angle version.
search.digikey.com/scripts/DkSea … s=18888-nd

Standard 0.1" male headers are always a viable option. The only drawback is that they are not polarized. If we want to ensure that plugging in backwards does no damage, that restricts the ordering of signals in the cable. Maybe not a big deal.

Mike

Hi Mike and Jim,

Yes the Molex ones do look more robust. I fully understand the idea for having polarized plugs here as it keeps the user from plugging the cable in the wrong way. Bug I am not sure how much that would help, unless maybe Lynxmotion also sold several sensors or the like that were prewired with cables that matched this plug. Like the way that Acroname has done with Brainstem components. Otherwise the user is still going to have to be careful to wire up the cables in the pins in the right order.

So for me it does not mater much and I could go either way.

Kurt

I now have the Seeduino Mega and the Shield running my CHR-3 with my earlier version of the ported sources. This is working with both PS2 and DIY XBee. Had to make changes as my DIY now has more controls than before. Will need to make more changes and want to merge/compare the code to the Alpha 2.1 code up here… In this configuration I am using Serial (USB - debug), Serial1 (SSC-32), Serial2(XBEE), not using Serial3 yet, but may add an LCD display ( :smiley: )

Should probably next do a little testing with running servos with it. Now trying to decide if I should build second shield with current boards or wait until we order next version that fixes things, probably would not hurt to build a second one as a lot more testing can be done. May be a little slow going now as busy with other stuff.

Kurt

I decided to make a second shield to test with. Will probably now install it on a Brat to test out running with servos. One thing I can say about these shields is that you probably only want to install once! You also need to be careful on how you solder in the extra headers to make it possible to align all 100+ pins going from the shield to the board, I got it part way in and saw a solder bridge, that I wanted to fix and removed it. Then when I tried to reinstall it, none of the extended features worked, like speaker, leds, buttons, etc. Found that the IO extender pins went between rows instead of into socket. So I removed it again. Needed to use some extra headers to help straighten and align the pins again and on the next attempt I was able to install it (I think properly). At least the LEDS and sound work again!

My soldering of the small parts at times got better, and other times not… I was supposed that the speaker worked, as I had problems with soldering in the diode and resistor… But again at least it is good enough to test things out.

I guess the next question is, when/if I should order a new set of PCB boards with the fixes on it? The main things that changed:
a) Updated positions of Arduino Headers to hopefully exactly match the positions as contained in the Eagle design files from Seeeduino.
b) Updated labeling. Got rid of all 3pt text and updated it to 4pt.
c) Updated PS2 connections to allow easy connection of either the PS2 cable or connection built with 2 servo extenders. (Could change to a 2x3 type connection which makes it easy to use 2 servo wires, but then existing cables would not work).

Things left to test or change.
a) Try with Brat to see about servos
b) LEDS - Reds are a lot brighter then Green or Amber, may need to change choices or resistors.
c) I2C connectors - What should we use?

Kurt

P.S. - Wonder when we should leak out more information.

I will need one good board as a sample to send to the contract manufacturer. Yes we will need to know the connectors are perfectly aligned before production. I will talk to them about the color LEDs.

You can discuss this freely. I’m at a bit of a disadvantage here cause I don’t know all the details. :stuck_out_tongue: Maybe going more public will result in more feedback which is good right?

Hi Jim and Mike (and any others :smiley:)

OK I updated the I2C connection to be a 4 pin connector, I think a Molex one will fit with the 2.5mm spacing.

I am thinking I may have a few new boards be fabricated with all of the updates/fixes. Will probably order them tomorrow. I still have parts to build 2+ boards, I am missing a few pieces (like caps and resistors that went a flying when I tried to hold them in place. Those 0805 components are sure hard to find in carpet :laughing:. May order a few more parts from Digikey to fill in.

Here is what it is currently looking like:

Any last suggestions before I get a few more?

Kurt

It really looks nice! Please let me know the costs so I can reimburse you for the boards and parts. The standard cable works for me. I can even make cables that match this connector on one end and any other “standard” I2C cable. If anything, and I don’t know if the pinout is a standard one, but if the cable was plugged in backwards it would reverse the voltage. If you swapped gnd with either of the two signal pins it would not reverse the voltage on the cable if it were plugged in backwards. I hope that made sense.

Thanks Jim,

Makes sense to me, I know that there was one semi standard with this pin out order, which gave maximum separation between SCL and SDA, I think to minimize interference or the like. But my guess is that an Order like: SDA +5 SCL GND, would probably be work fine and as you said if you plugged it in backwards, you would not end up with a complete reversal of +5 and GND.

The other option is to simply put it in the order that the connector above has, which is: GND, +5V, SDA, SCL. Which Does the same for reversal, but no seperation of signals. Plus of this is the two connectors are in the same order which is probably less confusing to the user.

Will wait for Mike to see and comment for I send this version off…

Kurt

Jim & Kurt,

Are the cables likely to be ribbon cables? That is the only case in which the connector order matters as far as signal separation.

I think having the two adjacent connectors with different signal orders would be very confusing, and they should be made the same. In my mind, that consideration is more important than minimizing interference. One can always construct a cable with optimized conductor order if needed.

I can’t do any further review right now, but will take a look at the board tonight.

Mike

Was thinking of using standard servo style cables. Is that an issue? Is there a length limit?

Nope, not an issue. Harness length determines maximum communication speed. Usually a few feet is not a problem at 100 kBaud or less, but the rate can be lowered to make communication more reliable.

It would be nice to have power and/or ground separating the SDA and SCK wires in the cable to minimize cross-talk. The longer the cable the more important that will be. Can the connector be wired so as to have the wires in the cable be in a different order than the signals in the header?

Mike

Sure I can have the cable have the ground and power in the center separating the SDA and SCL, then have them in the order to prevent reverse voltage right at the connector. Brilliant!

So What order should I put them?

Thanks
Kurt

If we go with +5v, SDA, GND, SCL on the board it can’t be damaged by plugging the cable in backwards.* When the cables are made they will swap the first two pins, +5v and SDA, so the length of the cable will have SDA, +5v, GND, SCL. We will make this swap on both ends of the cable. Make sense?

  • Mike… I’m not sure what these signals are. Would the peripheral be damaged if it were to get, +5v on SCL, and GND on SDA, or would the board be damaged with the opposite?

SCL and SDA should not be damaged by connecting to either +5V or GND.

If I had my druthers I would pick +5V, SDA, GND, SCL. But I think one of the connectors’ order is determined by the pinout of the Seeeduino board, right? GND, +5V, SDA, SCL. I think it is really important to have the two connectors have the exact same pinout.

Mike

Yep, the one is fixed as you mentioned. Currently my added connector does not match the Seeeduino header which for some could be confusing. My gut tells me though if we choose a different type connector like the Molex one you mentioned, we could get away with a different pin ordering.

But I am game either way. Obviously simply mimicing their pin order is the simplist for me, but either way is easy.

Kurt

Will people be using the pair of connectors to daisy-chain? That was my assumption, and is the reason I thought the connectors should be identical.

Mike

Possible, although one is female and I assume our new one is male like the other connectors.

Kurt

If I used the same pin order as the fixed one, the board would look like:

What do you think?

Kurt

If Mike likes it then I like it. I can still have the cables made with the 5v and GND separating the SCL and SDA wires.

Any reason the two connectors are separated on the board? Would it be better to put them next to each other so a 4 x 2 header can be used?