8 Channel USB GPIO Module with Analog Inputs
Weight: 0.3 lb.
$19.95
USD
In Stock and Ready To Ship
Within 24 Hours
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.
Comments
Could you share example of using in Linux?
Ideally a C example but really anything would be helpful. Like to see setting port attributes, opening port, reading and writing from port.
Also I am using this to sense a momentary button that is pushed for a split second. I have four different buttons that can be pressed. I will be interfacing using a PC on a stick device that is not very powerful. Will I be able to poll fast enough to sense the press of one of the four buttons?
I plan on creating four threads that are in a loop polling the for the button press. It is pretty important that I do not miss the button being pressed.
Thanks for any help!!
Re:Could you share example of using in Linux?
A user submitted sample program is available for download at http://numato.com/productdoc/usbrelay/ReadUSB.tgz. This is written for USB Relay module but modifying it to work with GPIO board should be easy.
8 Channel USB GPIO Module
Can I get a drawing of this or 3D model, mechanical specs (i.e. board size, hole locations and weight) and part number/model number, something I can give to purchasing?
Re:8 Channel USB GPIO Module
The product SKU for 8 Channel USB GPIO Module GP80001 and you should be able to use it for internal reference. We can share the dimensions and other physical parameters but we don't have 3D model available at this time. Please contact us using the online form available at http://numato.com/contactus to get in touch with us.
B2B connector?
Hello - do you offer the 8 Channel USB GPIO module with a board-to-board connector for the GPIO? Can you offer any suggestions on how to use the Numato as a daughter card?
Hi, we don't have such a
Hi, we don't have such a product available right now but still we may be able to help. Please drop a meesage through the contact form at http://numato.com/contactus
Analog reading
I am getting unexpected readings when I try to read a voltage. For an applied voltage of 5V I get a reading of 1023. For any lower voltage I get a reading of about 650. (For example: adc read 6 653) I've tried both terminal 7 and terminal 6, with the same result. What am I doing wrong?
Re:Analog reading
Can you please check the actual voltage at the GPIO pin and confirm if it is chaging as expected. How are you supplying different voltages to teh ADC btw ?
Driver Instal
Hello,
Is there an exe to install the driver that I can put in my programs install? If not how do I wrap the driver into my installer so that the end user does not have to hunt for the driver?
Thanks
Re: Driver Install
Currently there is no tools available for automatic driver install. Some installation package may support automatic driver install but not sure. Please check this page for some ideas about installing driver from command line. This can be used as a starting point.
Auto Detect Com Port Assigned
Hello,
Is there a way in C++ to detect what Com port the IO board is on so that I don't have to manually set it each time I connect to the computer?
Thanks
Re:Auto Detect Com Port Assigned
Windows does not seem to have a straight forward mechanism to find serial ports. You could use setup API to enumerate devices (http://support.microsoft.com/kb/259695) but we haven't tried this ourselves yet.
8ch gpio &adc firmware
If i trsh or lose the firmware on the 8chusbgpio how can i redo it?
also how would i put it on a 1450?
dhorner@usa.net
Re:8ch gpio &adc firmware
Sent necessary files to the mail ID mentioned.
Open collector without pullups
1. Are the GPIOs open collector or do they drive high and low?
2. Is there a jumper setting to disable the pullups on the Numato board or would I have to remove the resistor-pack?
3. Can you provide a schematic?
Re:Open collector without pullups
1. These GPIOs aren't open collector.
2. The resistor packs are not connected to GPIOs by default. There are solder jumpers on the rear side of the board for each individual pull up resistor.
3. Sure, we will publish schematic soon.
C Code
Do you have straight C code examples for digital I/O and analog A/D operations?
code for i/o and a/d
Seems like you need to clarify. Do you want code (firmware) on the usb device to do custom a/d and i/o? Or do you want code so the pc can use the usb device to do i/o and adc thru it as shipped? In fact does the device at plug in do serial i/o and a/d functions or does the pc upload firmware to it at enumeration?
Re: C Code
Which platform are you looking the code for ?
C code platform
With C I don't think the platform matters but it would be GCC Eclipse under Windows 7.
GPS unit
Hi Guys
Most GPS units I have seen output about 5 sentences.
NMEA outputs are GGA,GSA,GSV,RMC,VTG.
I would like to see and collect the data from sentences
RMC,VTG,GGA. For one of my pet Projects.
UTC Time & Date
Latitude, Longitude
Course and Speed
If I could read this data from a USB port or RS232 would
be good. (Comport xx )
I would love any help on this.
Thanks
Ron
techhobbist@gmail.com
How does the gps output?
Does it send an ascii (text) string via rs232 serial lines or does it send binary data via a custom port?
IF via serial rs232 then a usb to rs232 commport gadget would do the trick with software to open and read the virtual rs232 comm port.
Re:How does the gps output?
There are some GPS modules that output data in ASCII form which can be read using USB - RS232 converter like FT232. GM301 from navisys.com.tw looks like one of those.
20ma Source/Sink
Can you just clarify for me, is the 20ma capacity of the pins, 20ma total? Or 20ma per pin?
Also, this might seem like a dumb question, but are pull-up/down resisters needed on input lines? Or, are they all already pulled-down?
Cheers
Re:20ma Source/Sink
20mA source/sink is per pin. Use of pull up resistors depends on the application. When GPIOs are used for general purpose interfacing, pull ups are not required (in most fo the cases). When a GPIO is used as analog input, it is a bad idea to use pull up since it can affect the analog value read. The most popular reason why you need is a pull up is for connecting a switch to GPIO. The pull up resistor keeps the GPIO at high logic and when the switch is pressed (one end of switch is connected to ground) it pulls the GPIO to logic low. This transition is interpreted as a switch press.
Ubuntu 12.04 setup of 8 channel usb gpio Module
To work in Ubuntu 12.04
* Plug in USB
* at terminal -> lsusb
you should see the Module as a Microchip Technology, Inc device note the Device and ID number it probably will not see it as a comm device.
* at terminal ->sudo modprobe usbserial vendor=0x04d8 product=0x000a (or whatever device and Id you got above)
* unplug usb
* plug in usb again
* at terminal -> lsusb
it should now show the Microchip Technology device as RS-232 Emulation
* at terminal -> cd /dev
* at terminal -> ls
You should now have ttyACM0 in the list (possibly 1 or higher numbers also, if you have more than one card)
* at terminal -> sudo gtkterm& (or some other communications program, if not installed do so)
* /dev/ttyACM0 is now owned by root in group dialout. If you need other permissions, you can change them.
* set the comm parameters in gtkterm to ttyACM0 and speed to 119200
* Save parameters
* type "ver" in gtkterm screen, you should get the version number back.
* Done!
Other distributions will have similar setups as long as the USB comm driver is compiled into kernel.
Re:Ubuntu 12.04 setup of 8 channel usb gpio Module
Thanks Ted for sharing this with readers, really appreciate it.
GPS unit
Hi guys
Any plans on makeing a usb GPS module.
would love to get my hands on one of them.
For my toy box..
thanks
Ron
Re: GPS unit
Hi Ron, We don't have existing plans to make GPS module. But if you could let us know what exact functionality you are looking for, we may be able to build one !
Input state change
When connecting a push button to an input, will the board notify the computer with the state change "0 to 1 for e.g." or I need to continually read the state of the input, and for the second case, what is the recommended read interval?
Re:Input state change
The board will not notify if the input changes. Polling at 500ms interval is good.
Is it possible to read the
Is it possible to read the state of all the inputs at a time? It's slow to poll all of them one by one. For example: "gpio read all" and get as answer "0,0,1,0,1,0,1,1".
Thanks.
Re:Is it possible to read the
This is not supported currently. We are planning to add this feature in later firmware revisions.
Re:Is it possible to read the
how far down the track is it likely to be before this is possible?
with the application I have in mind it would be incredibly useful.
Excel 2007 and XP
Would it be possible for some examples to write to digital outputs using Excel?
Thanks.
Re:Excel 2007 and XP
We haven't put together a sample program for VBA yet. But I can briefly mention here the steps involved in doing it. Since the GPIO board shows up as a virtual serail port in Windows, treat it as a normal serial port and program it. There is an excellent article about VBA serial programming at http://dev.emcelettronica.com/serial-port-communication-excel-vba . GPIOs can be controlled by using the following simple steps.
1. Open the port by calling function CommOpen()
2. Send commands using function CommWrite()
3. Close the port by calling CommClose()
As this is a virtual serial port, any valid baud rate can be used. Make sure to end all commands with ASCII char 13.
Example:
CommOpen(1, "COM1", "baud=9600 parity=N data=8 stop=1")
CommWrite 1, "gpio set 0" + Chr(13)
CommClose(1)
How to set High
I want to test the state of a switch with this GPIO board. Simple I thought. Wire GPIO port to switch to GND. Switch open is zero Switch closed is 1.
This does not work. GPIO is constantly OFF. Do I have a defective board or do I need some sort of pull down/up resistor.
Re:How to set High
For the GPIO to read HIGH, there should be 5V at the GPIO pin. This can be done by short circuiting the solder jumper for the corresponding pin. The pull up resistors and jumpers are on the back side of the board. The jumpers are very small so soldering them can be a little tricky.
GPIO module and Basic,,,
kind of a downer to read questions about Pearl, VB6, Phyton, Linux, C#, etc,,,,
My question is (circa 1996), can you supply some implementation of individual port control in Basic? yes, Basic?
Truly appreciated, ron.dacosta@gmail{.}com
Re:GPIO module and Basic,,,
We don't have sample code available for Basic. Btw, which basic compiler you are using ? If I can download the compiler, I may be able to write a small sample program.
Basic Interpreter
I appreciate your reply. I built 8 AC outlets controlled by Atari-400 Basic (Interpreter) software in the '80s and simlated people being in the house with a different day-of-week pattern plus security checking.
I want to turn on, off, and poll the lines for current state. A short sample would send me again on a long-lost path.
The following link has means to download like a VintageBasic interpreter.... http://www.thefreecountry.com/compilers/basic.shtml
Thanks again for any help.
Re:Submitted by Oldtimer88 (not verified) on Thu, 06/21/2012 - 1
I spent some time with this but I couldn't find any documentation on how to use serial port with VintageBasic.
Sparrowboard 1450
Will the gpio module firmware run on the Sparrowboard 1450?
Re:Sparrowboard 1450
It should, but the number of usable IOs would be limited to 4.
Python Examples
Hi There,
Can I please get some example code for Python? Getting rather confused!
All i need is for my script to wait for a button on an input to close the circuit and then do something.
Any help would be much appreciated!
Re:Python Examples
Liam, I have added Perl and Python sample codes above.
Compatible with Linux?
Hello,
I was wondering if I could use this device with a linux based system. I see that the driver available for download is windows only and the manual says only windows is supported.
Is there anyway I could use this with linux?
Thank you.
Re: Compatible with Linux?
Sure, it is compatible with Linux. Most of the Linux distributions already have the driver built in.
c# sample
Does anybody have a c# app that just sets the I.O. to input and reads the state looking for a switch closure (i.E. ground)
Win Forms, c#. I have not used a USB interface
Highflier
GPIO tester
I wrote a program in C# Visual Studio 2008 to test the
board. it works well for me.
Auto finds the Comport. 1 thru 24
auto reads all the ports 0 thru 7
real time updates in under 1 sec.
auto sets any an all the ports.
reads the ADC ports.
in all a fun program.
I put the link here.
https://docs.google.com/open?id=0Bx_UTCPhZwsEdk5USzY5d2J3VVU
Have fun
Ron