Cypress’s EZ-USB® FX2LP™ (CY7C68013A/14/15/16A) is a low power, highly integrated USB 2.0 microcontroller.

This chip is a General Programmable Interface (GPIF™) that is supposed to ease the development of USB devices such as keyboards, mouses (mice!), flash drives, etc.

The board that I ordered is a development board from AliExpress for $4.60 and I was really impressed with its quality.

There are 2 variants, one with one jumper & another with 2 jumpers. Both comes with a on/off switch and a RESET push button.

The board also has an EEPROM (ATMEL 24C128 on my board) which is used to hold the VID/PID/DID of the device - this is for the host to identify the device to determine the correct driver.

My board was of the 2 jumper model & I think both are the same.

J1 is to connect/disconnect 2 LEDs from Vcc - these LEDs are connected to D0 & D1

J2 controls the high address bit of the EEPROM making it appear at I2C address 0xA0 or 0xA2 depending on the jumper.

The FX2LP is designed with a unique feature that allows the firmware to be loaded to the chip RAM either from the host or from the EEPROM.

Here we will be discussing a very interesting firmware that converts this $4.60 board into a logic analyzer!

Step 1: Sigrok Analyzer Suite

Sigrok is a portable, cross-platform, Free/Libre/Open-Source signal analysis software suite.

It supports a variety of devices & boards (logic analyzers, oscilloscopes, digital multi-meters, ... etc.)

Sigrok GUI frontend is called PulseView and this is application that we'll be using.

To have the board working with PulseView we need the correct Windows driver - I downloaded it from here.

The driver will be recognized as: Cypress FX2LP No EEPROM Device.

This driver is probably not going to work with PulseView & we have to install a generic Windows USB driver using Zadig, which is an application that is installed with PulseView.

After installing the Cypress driver, run Zadig & from the Options menu make sure that "List all drivers" is checked.

Select the Cypress driver & press the button.

It may take a long time to install but eventually it will finish.

Now PulseView should be able to detect & use the board.

Step 2: Testing the Board

I used an Arduino as a simple 5-bit binary counter & monitor the output pins 8 to 12.

Connect the GND of the Arduino to GND of the FX2LP.

Connect pin 8 of the Arduino to PB0 of the FX2LP, pin 9 to PB1, pin 10 to PB2, pin 11 to PB3 & pin 12 to PB4

The code i very simple:

void setup() { Serial.begin(9600); DDRB = B11111; }
int i=0;
void loop() { Serial.println(i,HEX); PORTB = i ; i++; i&=0x1f; }

Setting the number of samples to 2M sample/second & the sampling rate to 1MHz will give us 2 seconds of sampled data.


<p>Hello, I got the same board form aliexpress. Can you please give some indication on how to install PulseView windows 10?</p><p>I am getting a runtime error even after installing the Microsoft Visual C++ 2008 (not the same as the one on the page, just a generic one).</p><p>Also, did you managed to use Saleae Logic on this board? Thank you.</p>
Do you have any ideas how to make this read analog samples? Thanks. I'm still waiting for mine in the post.
<p>There is no way to have this read analog signals, these are digital inputs.</p><p>You need an ADC to read analog signals - a nice device will be this:</p><p><a href="http://www.aliexpress.com/item/Mini-DSO203-digital-Oscilloscope-ARM-Nano-portable-8MHz-bandwidth-4-Channels-arm-Cortex-M3-CPU-with/32618472151.html?spm=2114.10010108.1000014.8.Eb5Vrc&scm=1007.13338.35813.0&pvid=dfcb5f82-5d32-4930-b13c-f346de4f600e&tpp=0" rel="nofollow">http://www.aliexpress.com/item/Mini-DSO203-digital...</a></p><p>or even this kit:</p><p><a href="http://www.aliexpress.com/item/Hot-DIY-Digital-Oscilloscope-Kit-osciloscopio-Electronic-Learning-Kit-DSO138-kit-2-4-1Msps-usb-handheld/32584104824.html?spm=2114.01010208.3.29.5uzc67&ws_ab_test=searchweb201556_10,searchweb201602_3_10057_10056_10055_10037_10049_10033_10059_10032_10058_10017_405_404_10040_10060,searchweb201603_6&btsid=2c05fd9a-a504-43f7-8bb4-77ebf1e44790" rel="nofollow">http://www.aliexpress.com/item/Hot-DIY-Digital-Osc...</a></p>
Thanks for this Instructable, do you have a a suggestion for a good way to protect the inputs - just resistors in series with the input or something more sophisticated?
<p>I am planning to make a protection circuit using a series resistor (maybe adding a diode) &amp; a parallel 3.3 ziner to ground. It won't be a problem for low freq signals like RS232 but may have an effect on high freq signals.</p>
Thank you, that's really helpful!
<p>Cool project.</p>
<p>Thanks, glad you liked it.</p>

About This Instructable




Bio: Just me!
More by wh_hsn:Using Google Drive to backup any folder & for multiple accounts! Introducing PlatformIO for ESP8266 The OrangePi Lite 
Add instructable to: