EUSB Basics


EID's universal serial bus (EUSB) are an educational electronics kits that allows you to connect your personal computer (PC) universal serial port directly to them. The kits are based on Cypress integrated circuit (IC), the CY7C63001.


Note: The CY7C63001 IC is Universal Serial Bus (USB) RISC type Micro-controller. It conforms to USB 1.5 Mbps specification, version 1.1. See USB specifications at for more details, or click here to download the the CY7C63001 chip data-sheet.


No need for external Power supply! The board is powered directly from your PC.



The EUSB (EID’s Universal Serial Bus) provides a new way of interfacing low speed peripherals to personal computers.  Adding I/O pin and/or Analog to digital converter (ADC) integrated circuit (IC) to your application on the PC via a EUSB interface is now easier than ever.


EID’s “engineering and applied science group” develop basic electronics kits which include on board pre-installed EUSB firmware. Just link your software application with our DLL, enter a  few lines of code and you're done.

EID’s EUSB support the USB protocol (see among others…


EUSB uses a time-shared serial data stream. The PC acts as a master by polling all connected peripherals at regular intervals of one milli-second (1mS). Each peripheral responds by placing its data on the time multiplexed bus at their allocated time within this 1mS frame. An addressing configuration mechanism allows up to 127 devices to be connected to the bus.


EUSB utilizes a four-wire cable structure. Two leases are used for differential data, the other two are used for power +5 Volt DC and Ground (GND). See below connector drawings.





EID's board side      PC side



The Protocol is very complicated, however, our software package (DLL + firmware) takes care of it.

For general knowledge, all you need to know is that the PC transferred data from the EUSB board is in packet bursts contained within frames separated by 1mS. Low speed devices operate at a rate of 1.5Mbit/s. There are faster rates today i.e. 12Mbit/sec, we use the kit to demonstrate interface for  industrial and HVAC applications, checking sensors, etc. 1.5Mbit/sec is very fast.


Stop reading  here, and go directly to code example -- unless you really want to know more details on the protocol...


EUSB peripherals have to synchronize their outputs to the frame start. The bit rate clock is recovered from the NRZI encoded data stream, see drawings below.


EUSB peripheral may have more than one “endpoint”. Endpoints are different destination registers sharing the same device address. Different endpoints can be used for initializations and control, and for ordinary data transfers. EUSB uses the term “pipe” to denote a data transfer from the PC to a particular endpoint. To increase data rate, a peripheral may occupy more than one pipe at a time.


There are four basic methods of transferring information between a PC and a EUSB peripheral:


Control –Transfer (CNT): Used to send control signals to the peripheral. These have high priority and incorporate inbuilt error protection. It is used for transferring initializations information, but can also be used for general-purpose low speed data transfers. Our kits support control transfers.


Bulk – Transfer (BT): Used by storage devices to transfer large amounts of data in a time independent manner. This is useful for printers, disk drivers etc. This method has low priority on the bus.

Interrupt – Transfer (INT): Used by low speed data peripherals such as mice and keyboards that need to send small amounts of data quickly and periodically to the PC.


Isochronously – Transfer (IST): Used by peripherals transferring large amounts of data at a defined data rate, e.g. soundcards. No error protection is included. The system must assume that some data may be lost.  

All of our board using an error protected control link utilizing the low speed bus and guaranteed data rate is limited to 800 bytes per second.


On your personal computer (PC), witch we assuming has support for EUSB via kernel level device drivers in the operating system. Each EUSB peripheral requires a driver of its own “class”.  EUSB is a “hot wire” protocol. The PC can also recognize when a peripheral has been plugged or unplugged during normal work, and is able to load or unload the corresponding driver at the same time. This makes EUSB more or less transparent to the user.


Windows includes a EUSB driver for interface EUSB going under the generic name of HID (human interface devices). This allows for our generic boards to be plugged in without having installing a special driver.


The installation procedure is very simple. When the EUSB-kit is plugged in, a polling signal causes Windows to send signals on the EUSB asking for identification. The peripheral responds with its own PID and VID (Product and Vendor IDs). Windows then searches its directories for the correct driver assigned to that particular peripheral. If it cannot find one, it pops up a message requesting the user to install one. The drivers are usually supplied on CD. Once the driver is installed, the application program carries on as normal.


Adding EUSB is a very simple -- our kit uses Cypress devices with enough memory and processing power for all of our flagship boards and kits. EUSB support is provided in the form of firmware subroutines witch we created in pre-download to the chip on the board. All you need to do is to link it into your own code.  See code samples and libraries.


No need to create the Product and Vendor description tables. Most of the information here will be provided by the firmware. If needed (for additional cost) we may customized them for your information and needs. 


We use a negative number ID that makes our kit boards uniquely recognizable by the operating system in order to load the right driver. Since the standard doesn't include or call for negative ID numbers, we use one for our boards. Our EUSB series of kits are for research and development purposes only! Therefore, if you would like to use them as products -- commercial or other, we strongly recommend that you will obtain (for a fee) your own USB product ID (PID) and vendor ID (VID). See for more details. Doing so, will ensure that your product doesn't interfere with other USB products.


Finally, the EUSB cable can provide some power for the peripheral up to 400mA to be drawn when the peripheral is active, but only 500uA when inactive. This means you have to provide for means of switching the power off while the EUSB is in the suspended state.


Description and SKU#



USB Complete (Second Edition) by J. Alexson

EID-K-BOOK-USB-001  Regular price 

EID-K-BOOK-USB-0KC  w/ kit purchase 


NEW! We carry technical books...



This is a "must have" book for any student or engineer. Therefore, an additional 10% off for student with student ID!