CUIduino, Arduino with true USB support


The CREATE USB Interface (CUI) was a project that came out of UC Santa Barbara around the same time the Arduino was being developed. It has a USB port, a PIC18F4550, and a prototyping area. It was designed to enable easy interfacing with the real would through many A/D inputs and general I/O ports. It supports both OSC and MIDI-over-USB natively. The biggest difference between the CUI and the Arduino is its USB support. The Arduino uses an FTDI chip to create a serial interface to its onboard AVR. The CUI’s PIC has native support for USB. That means you can have the CUI appear to be any USB HID device you want: keyboard, mouse, game controller, etc.

The Arduino has a friendly development environment and a large following though. CUI create [Dan Overholt] decided to add an ATmega168 to his board to get the best of both worlds, the CUIduino (scroll down). It can be programmed just like any other Arduino compatible device, but the having the CUI parent means your Arduino project can behave like a native USB HID gadget.

[Thanks Peter]


  1. Dan P says:

    “…interfacing with the real would”
    I think you mean real world :P

  2. amk says:

    i’m pretty sure putting an avr and pic on the same board will cause the universe to implode…

  3. xSmurf says:

    Sorry but that’s a little stupid, there are many implementation of USB HID for AVRs.

  4. Dustin says:

    Does this mean that the CUIduino can be used as a USB host device?

  5. ewertz says:

    @xsmurf – for the arduino/168 there certainly are *not*

    @dustin – the 8-bit PIC microcontrollers aren’t big enough to support the embedded host code, at least not with microchip’s own stack

  6. Pretty sweet.

  7. xSmurf says:
  8. jproach says:

    @ewertz: I assume he was referring to the USB avrs: ie AT90USB162.

    Also, I’m sure you could relatively easily adapt this software-hid to the 168:

    It’s just that it would take up a lot resources :).

  9. khani3s says:

    When they will just throw off their 168 and get a better microcontroller ? They spend a lot of time and money trying to transform a totally crap in a better thing.

  10. chris says:

    I’d guess the addiction to the AVR-8 series is primarily due to access to an entirely open-source tool chain as well as the arduino support. So the AVRs have a more attractive entry point resulting in the inevitable unnecessary hacking of the chips.


  11. Morten says:


    I have in a long time thought about starting some simple programming and pc interfacing, because i have made a CAR-PC.
    But whats the easiest thing to start with, if i wanna do these thing:
    About 10 inputs, buttons, A/D inputs, for lets say a temperature probe, or similiar.
    Control about 5-10 things, either digital,and or PWM.

    The programming langauge must be pretty simple, because i have only made some html and java script sites, and i would like to begin with a langauge with alot of free guides on the net.

    If you can help me with this, then add me on MSN, or send me a email at

    Best Regards

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


Get every new post delivered to your Inbox.

Join 98,247 other followers