8 Channel USB GPIO Module with Analog Inputs

Weight: 0.3 lb.



$19.95
USD


In Stock and Ready To Ship
Within 24 Hours

 This product is RoHS Compliant.

Numato’s 8 Channel USB GPIO module is low cost easily deployable solution for connecting your PC to other electronic circuitry through USB. No USB specific knowledge is required to set up and use this module.

 

 

  • 8 TTL compatible GPIOs available.

  • 6 Analog input channels (Pins shared with GPIOs)

  • 10 Bit Analog input resolution

  • All GPIOs can be individually configured as input or output.

  • 20ma Source/Sink capacity.

  • Can be controlled by using standard serial console applications or custom applications.

  • On board controller can be reprogrammed for custom applications.

Downloads for V7 and newer boards

Download User Manual

Download Driver

Downloads for V6 and older boards

Download User Manual

Download Driver

Other Downloads

Sample Code Library

Test Application in Visual Basic Express 2008

Perl Sample Code

Python Sample Code

Comments

VBA or Profilab compatibility

Hello

Can I use this board with visual basic for application (Excel) and/or Profilab Expert ?

Re:VBA or Profilab compatibility

This device can be used with VBA. We have never tested Profilab compatibility but if Profilab can read/write serial ports, it could work with this board.

Bi-Directional TTL

Hello, I would like to buy the 8 Channel GPIO module in order to control a high-power motor from a PC. I am using Visual Studio 2013.

My motor controller supports communication via Bi-Directional TTL, for micro-controllers that don't have PWM capability. The specs say this has "TTL compatible" outputs. I have no idea how TTL works (I usually use UART), so is there any way to output TTL serial data out of one of the pins without having to write my own API?

Re:Bi-Directional TTL

I assume the motor driver can receive serial commands and generate PWM on its own. In that case a USB - RS232 solution would work better. Please take a look at the USB - RS232 Converter we have. 

Re:Bi-Directional TTL

Does that adapter support TTL, or just RS-232?

floating values on gpio module in ubuntu 14.04 LTS

Hi ,

i worked with 8 Channel gpio module in ubuntu 12.04, it is working fine, transition on particular pin is observed. But while working with same module in Ubuntu 14.04, transition on other pins are observed, without any i/p for very short interval of time (some msec)
ex:if i'm changing value on 4th pin from high to low, its value is getting low, at the same time 5th pin is automatically getting high and suddenly falls to low, without any i/p to 5th pin .
Could you please tell me what would be the reason and solution for it.

Thanks!!!

Re:floating values on gpio module in ubuntu 14.04 LTS

Without any inputs connected, floating voltages are expected. You must connect all inputs to a source or pull up/down to VCC or Ground using a resistor. Make sure to set the pulled up/down pins as inputs.

Transition on different pins in ubuntu14.04

Thanks for reply!!!

Actually i connected two gpio modules with all pins connected. I'm writing in one module and reading from the another module, the perfect transition occurs on respective pin in Ubuntu 12.04 and transition on remaining pins are not observed but when i'm using the same setup in Ubuntu 14.04 the transition on other pins is also observed. is there any driver issue with Ubuntu 14.04 why because same setup is running fine in Ubuntu 12.04

Thanks !!!

Re:Transition on different pins in ubuntu14.04

We don't think driver is causing any issues here because the driver is passive as far as the pin state is concerned. Are you testing on the same hardware setup (PC) with these two different OS versions or are you using two separate PC setups with different OS ? 

Re:Transition on different pins in ubuntu14.04

I have tested with different PCs and different OSes (both way).
I also tested in this way, actually original kernel of U-12.04 is 3.8.0-44, I changed the kernel to 3.13.0-44 (kernel of U-14.04). In this case also it is not working fine, transition on other pins was observed.Then, I changed the kernel of U-14.04 i.e 3.13.0-44 to 3.8.0-44,now also it is not working fine, transition on other pins was observed. Bottom line of testing is, on exchange of kernels also the setup is not working correctly. It is working fine only in U-12.04(3.8.0-44).

Are there any kernel issues are considered with this GPIO module.

Thanks!!!!

Re:Transition on different pins in ubuntu14.04

infact, the module doesn't depend on the kernel much other than using the USB CDC ACM driver. The ACM driver does not directly affect the values read/written to IO pins. The easiest way to check is to look at the release notes of these kernels and see what is changed between these kernels.

Basic Doubts

Hi,

I am interested in buying 8 Channel USB GPIO Module with Analog Inputs.
I am working in a Linux environment.
Can someone please share a sample code if available as to which driver should be opened and how to interact with the GPIO module (Setting GPIO pins high and low).

Regards,
Vijay

Re:Basic Doubts

Please download http://numato.com/productdoc/usbrelay/ReadUSB.tgz. This sample code is written for a relay module but can be easily modified to work with GPIO modules.

Good for PWM?

Is the bandwidth in this device appropriate for using it as a PWM controller for example in an LED circuit?

Re:Good for PWM?

This product won't be able to sustain high frequencies that is needed for driving LEDs.

Assigning an ID

Does the command to set the id (e.g. "id set 12345678") store the ID into persistent memory that will remain across a power drop? I would like to use two cards with one PC and have each card pre-set to a unique id so that I can dynamically find/assign them to their configured usage.

Re:Assigning an ID

Yes, the ID is persistent across power cycle.

Analog Video Switcher

Would I be able to use the 8 Channel USB GPIO Module with Analog Inputs as a analog video switcher. I have two analog cameras and I would like to use this device to output the desired camera feed and be able to switch camera feeds based on the serial commands provided in the manual?

Henry

Re:Analog Video Switcher

Hello Henry, Unfortunately this device can not be used for video switching unless you have another device capable of switching the video based on the trigger/output from this device.

Analog Video Switcher

Would I be able to use the 8 Channel USB GPIO Module with Analog Inputs as a analog video switcher. I have two analog cameras and I would like to use this device to output the desired camera feed and be able to switch camera feeds based on the serial commands provided in the manual?

Henry

12V to board

Hello.
What circuit do you recommend if I have a device with 12V/0V I/O and i want to read the value with the GPIO module?

Re:12V to board

You could use an instrumentation amplifier or  a simple voltage divider with a zener diode protection.

need linux drivers

Hi dear,

we are using this device in our embedded system (which is bare-minimal OS).
even "lsusb" also doesn't work in our system.

we have created node using "mknod /dev/ttyUSB0 c 188 0", we are able open the device but we are unable to write any command to this device.

i think we require driver to do. Could you please suggest which driver to use and link to its source.

thanks

Anand

Re:need linux drivers

Hi Anand, It looks like the USB CDC class driver is compiled out when building the kernel. Please rebuild the kernel including CDC ACM Communications class driver and everything should work fine.

device detected not able to communicate

Dear admin,

Thank you for the advice,

we did rebuild the kernel with the modification you suggested.

now in dmesg it is showing that device has been attached at ttyACM0.

But no node is created in /dev automatically, instead we found information in /sys/class/tty/ttyACM0/.

From this we fetched major (166) and minor (0) numbers and
We have created a node "mknod /dev/ttyACM0 c 166 0"

But unfortunately we are unable to communicate with the device. We are using the linux module mentioned in the forums. On normal systems, using this code we are able read / write from / to GPIO pins. Same code when cross-compiled, is not working on embedded OS.

Could you please help us in this regard?

Thank you.

anand

Re:device detected not able to communicate

Hi Anand, since your kernel is custom built, this question needs to be answered by a Linux kernel expert.

iterference between inputs

Hi, when reading analog signal on input0 (for example 2V), the near ports (not connected)are interfered and showing 1V for input1 and 0,5V on input2(. When the voltage is higher even input3 is interfered. Please help me to solve it. Thanks in advance. Nerijus

Re:iterference between inputs

Unconnected ports will have floating voltage present and can vary randomly. To avoid this connect unused IOs to either VCC or Ground. You may use the pull up resistors on the back side of the board for this purpose.

help needed when state changes of a GPIO

hi dear,

we have just purchased "8 Channel USB GPIO Module with Analog Inputs".

We are connecting 2-pin audio cable which has two states (High and Low) to this. We are working in Linux Environment. We want to know is it possible to have interrupt kind of mechanism to notify to the system when there is change in state of particular GPIO?

Thanks,

Anand

Re:help needed when state changes of a GPIO

You can read the status of any GPIO at any time by sending a read command. To detect a change, you will need to poll the device in background. USB doesn't have any support interrupts.

Basic Doubts

Hi,

I am interested in buying 8 Channel USB GPIO Module with Analog Inputs.
I am working in a Linux environment.
Can someone please share a sample code if available as to which driver should be opened and how to interact with the GPIO module (Setting GPIO pins high and low).

Regards,
Vijay

Java

are there any example codes for Java ?

Re: Java

Java sample code is now available at numato.cc sample code section.

Re:Java

We don't have Java sample code available at this time. We are planning to include Java with the roll out of next set of sample applications. It should be available at http://numato.com/sample-code-library once published.

When will the Java sample

When will the Java sample code be ready, its been 2 months and there still isn't any sample code available.

Re:When will the Java sample

We haven't rolled out the Java sample code yet. The fundamentals of communicating with this product is same irrespective of the programming language. Please refer to RXTX library that can be used to access serial ports and can be used to communicate with this product. There is a very good tutorial available at http://www.kuligowski.pl/java/rs232-in-java-for-windows,1

Re: When will the Java sample

Java sample code is now available at numato.cc sample code section.

led ONBOARD usage

i'd like to ask what is the use of the led and th FWUP connector on the board
besides what i the use of the pins R8(or RB) 5,6,4,7 and GND, VDD among them
thank you

Re:led ONBOARD usage

FWUP is used for firmware updat. Rest of the pins you mentioned are unused as of now.

Read input and set/clear output

Hi,
I wrote a program in C# Visual Studio 2012 to test the board.
I can do that one at a time :
read input from switch.
set/clear output to drive transistor or LED.

But for example :
I set the gpio7 to switch on the LED.
after I read to find the state of the switch on gpio2, the last command switch off the led.

It look like it is not possible to have 1 input on gpio2 and output on gpio7 working together.
Why is it not possible ?

Is there a way to do that ?

thanks

C#

I need help with sample code for C#, can you share yours with me?

thanks!

Re:Read input and set/clear output

Hi Morgan, it is possible to read the input status of  a GPIO without affecting the output status of any other gpio. Can you please share the piece of code that execute these command so we can review and give some recommendation ? Please use the page https://numato.com/contactus to share the code.

Question about Frequency and Duration of TTL Output

Hi, I am working on a project requiring an output of TTL signals with 3 usec TTL high voltage and period of around 65 usec. Is it possible that I use this device achieve it?

Re:Question about Frequency and Duration of TTL Output

3uS is too small of a pulse width to achieve using this module. 

Serial communication via I2C/UART

Hi,

in schematic i see, that there are I2C and UART pins from PIC connected to the CONN_6 (RB5-RB7). Please, how i can drive them from PC. Or what is purpose of these borad's pins?

Re:Serial communication via I2C/UART

Those pins are not used in the current production firmware. They are left avaialble to to those who want's to customize the firmware. It is possible to write your own firmware and use those pins.

Looking for general data logger program to work with this device

I am creating a test rig system that must record 4 analog input voltages. 100hz sample rate is sufficient.

I don't want to write a program myself. So, I was hoping you can refer me to some software that is compatible with your GPIO device.

Re:Looking for general data logger program to work with this dev

Hi, we are working with third party developers to bring data logging and automation software that supports our products. It may take a few months before we can roll out them them though.

Reading analog values from IO6 and IO7

I am using this for an aquarium monitor, using 5 of the 6 analog inputs and all of the remaining high/low inputs. It's working great (using Visual Basic). I just thought I would pass some info along to other users for accessing IO pins 6 and 7 for reading analog values. I was trying to do a read specifying 6 and 7 as the target, but this did not work. I needed to use 4 and 5. i.e. the valid analog read values are 0-5, not 0-3,6,7 even though IO6 and IO7 are physically used. Maybe this was documented and/or expected by some folks, however for others like me that may not have noticed/expected this behavior, I thought I would share.

Re:Reading analog values from IO6 and IO7

Thanks for sharing the info. GPIOs 4 and 5 does not have analog capability. There is a table on page 5 of the documentation lists IOs capable of analog function