USB Slave - rosco-pc/propeller-wiki GitHub Wiki

Using the Propeller as a USB Slave

BradC has written a bit-banged USB Slave interface for the Propeller.

This is a run-time, program controlled, interface separate to any USB interface used for downloading into the Propeller and this does not replace nor substitute for a USB2SER or PropPlug.

The USB Slave interface allows the Propeller to connect to a PC host ( Windows 98SE, XP etc, Linux and others ) using just a standard USB cable.

The Propeller interface is a standard USB socket plus three resistors and requires three Propeller I/O lines. Two Propeller Cogs are required to support the USB interface.

When connected and operating, the Propeller will appear as a USB serial device and can be accessed from the PC host through a Virtual Serial Port as if it were just another serial communications port.

BradC has also produced a USB Slave interface which allows the Propeller to emulate a USB keyboard.

More details, including the required Propeller software, Windows Drivers and necessary circuit connection, can be found in the original thread here

USB Hardware Connection


                     N/C --<  Vusb

             ___
    P0 <>---|___|----O----<> D-
             68R     |
             ___     |
    P1 <>---|___|----|----<> D+
             68R     |
             ___     |
    P2 >----|___|----'  .--> 0V
             1K5       _|_

P0 : Data Line Negative ( In-Out ) P1 : Data Line Positive ( In-Out ) P2 : USB Enable ( Out from Propeller )

Propeller I/O pins can be reassigned as required, they do not need to be P0, P1 and P2.

Can be used with Type-A ( flat rectangle ) or Type-B ( square ) sockets.

The circuit also appears to work correctly with a 1K2 for P2/D-

⚠️ **GitHub.com Fallback** ⚠️