PulseinOut Module - ground issue

I was originally posting under the “Servo Controller” thread, but felt this next question would completely threadjacked it…

So I now have some life to my servo(s), using the PulseInOut module. However I’m seeing a lot of inconsistency and I think it has to do with the grounds. I’ve read that you should connect all grounds together. How should I go about doing that? Use a breadboard? There’s a ground on the module, but I’m also giving the servo power via an external 5v source (battery pack).

I was really hoping to throw some diagrams and coding together and submit them to GHI so you can post them in the catalog/developer part of this module, but I just got stuck on the easiest part. The hardware connections.

Here’s what I have at the moment:

Signal wire from the servo goes direct to the PulseInOut module, on the PWM pin 1(out).
Ground from the power pack goes direct into the ground on the servo ground connection.
5V power from the power pack goes direct into the 5V of the servo.

So I have an extra wire - the ground from the pulseinout module, which goes nowhere. And/or should I wire this differently?

@ verbosewater - how about a ground between the module and servo?

To check if the GNDs are already connected, you need to look at the schematics of the module, or to check the continuity between the different connection points that are expected to be GND (a multimeter is the tool of choice here, and can be cheeeep too, although you get what you pay for; check this eevblog episode for details of some lower price ones EEVblog #91 – $50 Multimeter Shootout – Extech EX330, Amprobe AM220, Elenco, Vichy VC99, GS Pro-50 – EEVblog)

I would check for continuity between the Gadgeteer connector GND pin and the external power GND pin; if they already are connected, then there’s no real reason to make an explicit connection. I’d then also make sure that the GND pin on the servo connector is connected to the same GNDs.

The reason this is important is because voltage is all relative. If there’s a relative difference between two GND pins, that’s usually not a direct problem except when you rely on them being equal and act on that - so if you use a 3v3 signal for instance that has a lower GND reference by say 1v, then when you measure it relative to the other GND your voltage will appear to only be 2.3v and could lead to mis-reading the signal and reacting incorrectly - this is worse when the delta puts the signal around the minimum value for a “1” on a digital input of the micro in question. It can however also be worse and damage components if they have a tight tolerance to over-voltage and the difference between GNDs shows a higher voltage.

Thank you Brett for some extra details. That confirmed some of my thoughts. One problem with “checking the schematics” is that I have no idea how to read that stuff. if GHI or another place in the southeast Michigan area offered a class on it, I’d be there immediately. Even would pay for an hour tutor at this point because I feel I’m just scratching the surface now.

Quick question: what are the two terminals on the upper right for on the pulse module? They are right centered in between the out, 5v, and gnd labels… But those labels are for the rows below them, at least that’s what it looks like to me. Starting to think I should connect my external power to these??

Attached a pic of it…in the pic they are on the top center. …
Update: the pic got turned on its side. It’s on the left middle. Not my day today.

Pulseinout.png attached. This is from the Eagle files that are on codeplex.

To describe what you’re talking about, you can see the big thick blue trace (which is essentially a “wire” on eagle meaning it’s left as a copper track on the board) is a connection from the Gadgeteer socket’s 5v line coming to the “top” most pin of that two-pin header. That means if you measured the voltage there against GND, you’d see the same 5v (or more likely ~4.8V) that the mainboard power is providing.

The lower of the two pins on that header is then wired back to the centre pin of each of the OUTPUT side connectors, for PWM1-8, that you’d have connected to the servos.

So if you connect those two points (they’re intended to have a standard “PCB jumper” attached, then the power for the servos would come from the mainboard power source.

If you leave those two unconnected, you have no power to the servo from the mainboard, and you would connect an “external” power source… you’d connect the positive line to the bottom of the headers and then you run into the “different GNDs” scenario so you need to connect the GND from the external power source somewhere else on the module.

make sense?

1 Like

Yes, that pic and explanation hit the spot. Much easier to understand then that other PDF I was viewing.
I think I’ll hook in the power source and ground to the module…makes more sense to me that way.
Thanks again, will be posting my end results when I’m up and running.

I soldered headers into the board with the idea that I could plug a standard servo connector to them. But the diagram looks like the + terminal is along the left edge, and the negative terminal is the center pins. But standard Futaba, Hitec, etc. servos have the negative terminal along one edge and the positive terminal down the center…

Do I have this right? Do I need to rewire or rig an adapter to use standard servo connectors with this board?

@ hvelo - Looking at Brett’s explanation and the diagram, three posts up, the left edge carries the PWM signal, center is the + feed and the right edge is ground. The trick is that the + feed by default is not connected, you either need to provide your own power source or add a ju per between the 5v pin and the pin connected with the blue trace in the diagram.

If you provide your own power source, remember to make sure that you have a common ground.

OK, so maybe I get it now. Looking at the two pins at the top of the right hand side of the board. The bottom of those two pins, the one that says GND next to it. Is actually not a ground. It is to be jumpered with the pin above it that has 5V inscribed above it and that will feed + to the center pins… Or you can attach your own + feed to that lower pin, the one that says GND next to it, but then you’ll have to find a way to bridge a negative feed across the negative pins on the right hand side of the board (I tried feeding my servo power into those two pins (5V & GND), positive top, negative bottom - hopefully I didn’t burn out the board)…

I had one of these ServoCity “Servo Power Boards” sitting on my desk and it occurred to me that it would help disambiguate the power connection issues to the PulseInOut board. So I hooked it up, and it works nicely.

It does add some wire, most of which isn’t doing anything (only the yellow wire carrying the signal from the 8 PWM connections on the PulseInOut board). But then you can attach your power to the power connector at the front of the Servo Power Board - clearly marked PWR + and -. And you can use whatever voltage you need since the power is isolated on the Power Board and not running through the PulseInOut.

1 Like

Hi hvelo,

I’m newbie for FEZ gadgeteer. I see that you have successfully built and used Pulse InOut module. Could you please give us, the newbies, an example with C# code with image to explain how to use it. Because, the tutorial about this module what I find at https://www.ghielectronics.com/docs/107/pulse-inout-module-daisylink is very poor.

Thanks for your kindness.

A newbie of Gadgeteer clan