No announcement yet.

*NEW* USB 16 Isolated High Current Digital Outputs, IOPoint-USB

  • Filter
  • Time
  • Show
Clear All
new posts

  • *NEW* USB 16 Isolated High Current Digital Outputs, IOPoint-USB

    Yet another product idea born here on the forum. :-)

    Introducing the IOPoint-USB, a new USB controlled 16 digital output device featuring isolation between the USB and the outputs and high current drive capable of directly driving solenoids, motors, lights, blowers, fans, LEDs, relays, and more.

    The outputs are isolated from the USB side to protect against ground loops and voltage transients on the car's 12V power that could damage the computer or cause it to reset.

    Each output is capable of driving up to 9 amps at 12V. This means without a relay, you will be able to drive solenoid valves, fog lamps and other lamps, accent lighting and LEDs, DC motors, and more.

    Output connections are made using quick disconnect terminals. These high quality terminals are very sturdy and provide a convenient and secure connection when installing in the car environment. Quick disconnect terminals also allow you to remove the device easily if you need to pull it out of the car and do some experimenting in your workshop.

    For really heavy loads, you can always add a relay or a contactor to drive the load. This will be necessary if you want to use the IOPoint-USB in your home to drive 120VAC devices, for example.

    16 LED indicators clearly show which outputs are active. 1 USB Power and status LED shows when the USB is connected and the driver is initialized.

    I have a limited quantity available for order now (2 to be precise), and 20 more PCBs I can build up if there is enough interest. We're offering the PCB's assembled for $129.95 each. Here's a photo of a unit:

    You can place an order for the units now through the website:

    If we run out and you are interested in buying a unit, please PM me to let me know so I can gauge the interest in the product and order enough parts to build them for those interested. I plan to build up the units in about 2-3 weeks from now after I get an idea for how many people will buy them.

    Also, if there is enough interest, we will make an enclosure for the product. I found an enclosure that is a good fit for the product. I purchased one enclosure and milled it out by hand to fit the completed PCB. Here's an image:

    The production enclosures will look almost identical to this model.

    Please let me know if you will be interested in buying a case too. I will need at least 20 people interested to make the cases worthwhile. Our asking price for the case will be $20 each. That's essentially what it will cost us to order the cases machined and labeled.

    Visual Basic, TCL, and C Open Source examples are available on the product's web page. The product is supported on Windows and Linux at the moment. The product uses the FTD2XX driver, so anyone using a Mac should be able to download the driver from FTDI's website and follow the user's guide for the IOPoint-USB to make the device work on the Mac too. I'll glady post your example code if you'd like to contribute it.

    Product's web page:

    We welcome your comments and suggestions! :-)

    Mark Stubbs

  • #2
    Unipolar Stepper Application

    For anyone interested, I added command line utilities for the IOPoint-USB for Windows.

    These command line tools offer quick access to control the outputs.

    Included with the updated command line tools for Windows is a command line utility called iop_step.exe that uses the IOPoint-USB as a unipolar stepper motor driver. It can drive up to 4 unipolar steppers at once.

    I've been tinkering on the bench with a 4.2V Superior Electric 1.8degree stepper, so I figured I'd post the source and command line utility that makes it go in case someone else might find it useful or educational.

    If you haven't driven a stepper before, it's really cool and fairly simple. The unipolar steppers typically have two center tapped windings something like this:

    The commons are connected to ground and the phase terminals A, B, C, and D are connected to outputs from the IOPoint-USB or to other stepper motor drivers, like H-Bridge driver chips.

    For making full steps, you drive the windings in sequence like this:

    AB -> BC -> CD -> DA -> AB...

    Reverse the sequence to go the opposite direction.

    For half steps, or microstepping, you drive it like this:

    A -> AB -> B -> BC -> C -> CD -> D -> DA -> A ...

    Again, reverse the sequence to the other way.

    This animated gif visually demonstrates the microstep sequence in one direction:

    This iop_step.exe example app allows you to drive the stepper and move a certain number of steps in a certain direction. The downside is since it is a command line app, it exits and doesn't store it's state -- so you have to keep track of the state when you integrate the app into your own application. Or you can integrate the C source and save the state internally.

    The command line app iop_step.exe takes these arguments:

    iop_step [ -s serial ] [ -h ] output state dir steps [ delay ]

    -s serial: The serial number returned by iop_list (required if
    you have more than one IOPoint-USB attached)

    -h: Half step, or microstep mode. If you have a 200 step/rev
    stepper, this makes it go 400 steps

    output: The starting output of 4 contiguous outputs where the
    stepper is attached. For example, 1 means the stepper's
    A, B, C, and D wires are attached to outs 1, 2, 3, and 4.

    state: The previous output state returned by the iop_step command
    Since iop_step is a command line utility (and the IOPoint-USB
    is an output only gadget), it cannot remember where it left off.
    So when the program exists, we return the state value. Simply
    pass this value back into the program on subsequent calls to pick
    up where you left off. 3 is a safe value to start with. This turns on
    phases A and B of the stepper.

    dir: Direction, 0 sequences from D down to A, 1 sequences up from A to D.
    CW or CCW will depend on how you make the connections

    steps: Number of steps to take, 200 steps is one revolution in full step
    mode for a 1.8 degree per step stepper motor.

    delay: Optional argument to specify the delay between steps in
    milliseconds. The default is 10ms.

    I haven't ported it to Linux yet. I'll do that in my "free time" after doing things for the day job.

    Even if the IOPoint-USB isn't useful for any projects, you might find the example code useful as an example for how to drive a unipolar stepper. (Well, if you can figure out my C code.. ;-) )

    Anyway, have fun with it. Hope someone finds it useful.

    I'll be happy to answer any questions if there are any. I haven't had much interest in it so far. Looks like it will just end up being a one-of toy to drive some solenoid valves. I'm having fun playing with it on the bench in the lab. First chance I've had to play with super strong mosfet drivers.

    Mark Stubbs


    • #3
      OK, this is the coolest thing ever... Could we get dimensions and pictures from other angles? I would like to know what kind of connectors it uses on the outputs. I am very interested, but I need to get a car first.


      • #4
        a case is a must with this circuit, you don't want to get it wet.
        I think is a great product a at reasonable price, it will need some programing and probably a nice skin to make it 's use transparent for most users.
        you have a really good product for sale, it going to take sometime to advertise and sell, but don't give up, the time will come when're you going to have to build a lot of these.
        good luck to you.


        • #5

          Thanks for your feedback and the encouragement. I agree on the case -- it wouldn't be any fun to have those high current outputs getting shorted, even though the built-in fuses will open up.

          I have been looking at the plugin architecture for RoadRunner and StreetDeck, but haven't developed anything yet. For the time being, I have developed command line applications that allow you to poke at it, but I don't know if RR or StreetDeck are scriptable and able to call command line apps. There's also a Visual Basic 2005 demo application. But you are absolutely correct -- not that many people want to write their own interface.

          There are a few more pics on my profile. Any specific angles or closeups you would like to see?

          The PCB dimensions are 3.6inches by 5 inches. It measures 4.5x5.2 inches to the tips of the connectors.

          The connectors are 0.25" quick disconnect terminals. The female mate for the connectors are color-coded based on the size of wire used:

          Red - 22-18AWG wire
          Blue - 16-14 AWG wire
          Yellow - 12-10 AWG wire

          I will post more pictures later this afternoon.

          Mark Stubbs


          • #6
            Just looking for some angles to give a perspective, and perhaps something else in the pics to give an idea of scale. also, how thick is it? (BTW, it seems that your site is down)


            • #7
              A question: does it need regulated 12V input, or will direct from the battery be fine?
              2005 Infiniti G35 6MT Coupe Black/Black
              Core Duo CarPC
              CarDomain page


              • #8
                Direct from the battery will be fine. The outputs are designed to be driven directly from the car's unregulated 12V supply. The digital electronics are all powered from USB and isolated from the car's 12V.

                The thickness of the unit from the bottom of the PCB to the top of the yellow PTC fuses is about 1.2".

                Seems like the website is up. Perhaps it was a momentary glitch.

                Here are a few more pictures with a ruler and various angles:

                Mark Stubbs


                • #9
                  just curious, if you blow a fuse, how do you replace it?


                  • #10
                    The built-in fuses are self resetting, so you shouldn't have to replace them.

                    Specifically, the built-in fuses are PTC (positive temperature coefficient). They get hot and "open up" while they are hot. The PTC fuses go back to normal when they cool down.