Results 1 to 5 of 5

Thread: Easy to use USB IO module.

  1. #1
    Senior Member T-1000
    Join Date
    Jun 2007

    Default Easy to use USB IO module.

    Hi Friends,

    Some days back parallel ports were easily available on computers.
    But now they have amost disappeared. In laptops there is no sign
    of it! And laptops are becoming more popular with students as many
    colleges provide them. Since as parallel ports were very popular among
    hobbyiest for development of custom hardware arround it. It was
    a easy way to make a "computeriesd system". Many used it to control
    there robots from them. But due to development of computer hardware
    they have lost their best friend. Now a days USB rules but it is
    a very complex port (from the view of a developer) and nothing as easy
    as parallel port exists.

    So I thought what can be done to provide such ease again to hobbyiest
    developers. I have a design in my mind and I want all you people's
    thoughts and suggestion regarding it. Please go through the design and give your
    comment suggestion and advices.

    We can make a interface specialy to prototyping that can provide
    some digital I/O like parallel port and some additional analog input.
    It can be connected to pc via USB port. Then this device can be easily
    accessed in modern 32 compilers like VC++ and Visual Basic (via an Active X
    control. You just drop a control in VB form and easily "talk" to external
    hardware. This is just the same you use many control like a textbox,button

    But another problem many college student are tought c/c++ using a old
    Turbo C++ compiler 16BIT) that don't know dll and Active X. And many
    studen't also don't know Windows programming. They are happy with cout<<"xys"

    To make the device accessible via old 16bit program (even with by newbie).
    I thought we can use IO redirection. You can program in old TC and run the
    program from another program (specially written) and this program will capture the
    output of user program( sent by cout<< or printf) and look for special
    sequence of chars like ( <device> ) and it its finds it then following
    strings will be treated as special commands used to communicate with the
    device. This program will then interpret those command and manipulate the
    external device. So in this way there is a simple text based interface.


    cout<<" <device> out(a,0xFF) </device>";
    cout<<"Port a set to 0xFF";

    when this line is executed the program will interpret the command
    out and set porta to 0xFF. The second line is not interpreted as command
    as there is no <device> </device> it is simply printed.

    Thus we have a very "simple" interface.

    Advance user may use the ActiveX control to access the device in VB.
    more advance user may use the dll(dynamically loaded libray) to access the
    device in VC++ or GNU GCC(DevCpp IDE).

    here is the complete concept as an image

    Zoom in new window

    I request you to give your opinion and suggestion and whether such device is of any importance to robotics in india or not :roll:

    Waiting for your valuable response !!!
    Avinash Gupta

  2. #2


    Hi Avinash,
    this looks great. Even i faced a similar kind of problem. I designed a bot that uses parallel port of PC, but to place it in a competition, i could not take my PC, nor i could shift to laptop. This sure helps many.
    Keep up the good work.
    PS: Do post any hardware details if you can. I'm looking forward to it.

  3. #3
    Senior Member T-1000
    Join Date
    Jun 2007


    Hi Anil,

    Thanks. When finished I will post it.

    :roll: Can you tell me what platform(programming language/ development tool you used at the PC side.
    Avinash Gupta

  4. #4


    hello everyone..
    i know of this USB-to-parallel converter. but i've never tested it.. will do in some time..
    I've built its USB-to-serial converter and it jus works fine.. It makes a virtual com port.. i guess this parallel converter should also work in the same way and make a virtual parallel port that can be addressed. We could use TC or whatever then to access it.
    It's a project under AVR USB called CDC-IO which is available here:
    I think it's sufficient for anybody learning parallel port interfacing.
    "The Difference lies in Diligence"

  5. #5


    It's good that u has really put forth the most common problem that we're facing today.. USB.

    but i think wat ur talking of is a parallel to usb conversion and its already been solved.

    As the thread reads USB IO module... i was thinking if we can make a single module that can do all the things.. USB-to-parallel, USB-to-serial,USB-ISP programming for AVR..

    Well i know individually they all have been implemented. But it'd be nice that if some newbie jus has to make a single module for himself and solve all his PC interfacing problems.

    Here are some links:
    USB programmer:
    Tested OK

    Tested OK

    Not Tested

    I don't understand their hardware or the firmware completely but all i can point out is that:
    1.They all use common mcu i.e. AtMega8
    2.All projects use basically the same firmware which is under the project AVR USB(
    Each specific module adds its specific code to the original firmware.

    I think if somebody knowledgeable enough just has a look at its firware and make a new code that combines all the three things into one.. wat we'll have would be a gr8 solution.

    I would tried to do this thing myself but 1. i m not much skilled for programming such a code.. 2.Even if i try to do it it's gonna take long time and m currently working in a project already.

    So everyone plz consider this suggestion. I think it's worth it.

    PS: I tried to search the this kinda project which combines everything over the net but didn't find it.. if u've found it plz post it here.........
    "The Difference lies in Diligence"

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts