Hantek PSO2020| File:Hantek PSO2020 mugshot.png | 
| Status |  | 
|---|
| Source code | [1] | 
|---|
| Channels | 1 | 
|---|
| Samplerate | 96MHz | 
|---|
| Analog bandwidth | 20MHz | 
|---|
| Vertical resolution | 8bit | 
|---|
| Triggers | none (SW-only) | 
|---|
| Input impedance | 1MΩ‖25pF | 
|---|
| Memory | none | 
|---|
| Display | none | 
|---|
| Connectivity | USB | 
|---|
| Website | hantek.com | 
|---|
The Hantek PSO2020 is a USB-based, 1-channel oscilloscope with an analog bandwidth of 20MS/s and 96MS/s sampling rate.
See Hantek PSO2020/Info for more details (such as lsusb -v output) about the device.
Hardware
NXP 74HC4051D (upper/lower, CH1/CH2) pinout:
| 
| (GND) Y4 | 1- | O | -16 | VCC |  
| (GND) Y6 | 2- | -15 | Y2 |  
| Z | 3- | -14 | Y1 |  
| (GND) Y7 | 4- | -13 | Y0 |  
| (GND) Y5 | 5- | -12 | Y3 |  
| (GND) E# | 6- | -11 | S0 (FX2 PC2) |  
| VEE | 7- | -10 | S1 (FX2 PC3) |  
| GND | 8- | -9 | S2 (FX2 PC4) |  | 
| (GND) Y4 | 1- | O | -16 | VCC |  
| (GND) Y6 | 2- | -15 | Y2 |  
| Z | 3- | -14 | Y1 |  
| (GND) Y7 | 4- | -13 | Y0 |  
| (GND) Y5 | 5- | -12 | Y3 |  
| (GND) E# | 6- | -11 | S0 (FX2 PC5) |  
| VEE | 7- | -10 | S1 (FX2 PC6) |  
| GND | 8- | -9 | S2 (FX2 PC7) |  | 
| S2 | S1 | S0 | 74HC4051D Mux | VDIVs (vendor software) | 
| 0 | 0 | 0 | Y0 to Z | 200mV | 
| 0 | 0 | 1 | Y1 to Z | 500mV | 
| 0 | 1 | 0 | Y2 to Z | 5V, 2V, 1V | 
| 0 | 1 | 1 | Y3 to Z | 100mV, 50mV, 20mV | 
Microchip 24LC02BI pinout:
| (Low, but not GND) A0 | 1- | O | -8 | VCC | 
| (GND) A1 | 2- | -7 | WP (GND) | 
| (GND) A2 | 3- | -6 | SCL (FX2 SCL) | 
| VSS | 4- | -5 | SDA (FX2 SDA) | 
Analog Devices ADS9288 pinout:
| AD9288 pins | Description | 
| S1, S2 | S1=VCC, S2=GND. "Normal operation, data align disabled". | 
| DFS | Tied to GND. Data format select = "offset binary" (not "twos complement"). | 
| AINA, AINB | Analog input channels. | 
Cypress FX2 pinout:
| FX2 pins | Description | 
| CTL2 | Connected to AD9288 ENCA and ENCB and FX2 IFCLK. | 
| PB0-PB7 | Connected to AD9288 D0A-D7A. | 
| PD0-PD7 | Connected to AD9288 D0B-D7B. | 
| PA7 | 1kHz probe calibration pin. | 
| PC0/PC1 | Dual-color (red/green) LED. 
| PC1 | PC0 | LED |  
| 0 | 0 | ? |  
| 0 | 1 | green |  
| 1 | 0 | red |  
| 1 | 1 | off |  | 
Photos
Protocol
| Oscilloscope command | bRequest value | Notes | 
| Set CH0 voltage range | 0xE0 | Possible values: 1, 2, 5, 10 (5V, 2.5V, 1V, 500mV). | 
| Set CH1 voltage range | 0xE1 | Possible values: 1, 2, 5, 10 (5V, 2.5V, 1V, 500mV). | 
| Set sampling rate | 0xE2 | Possible values: 48, 30, 24, 16, 8, 4, 1 (MHz) and 50, 20, 10 (*10kHz). | 
| Trigger oscilloscope | 0xE3 | Possible values: 1 == start sampling. 0 == ignored currently. | 
| Set number of channels | 0xE4 | Possible values: 1, 2. | 
Firmware
Note: The firmware is not flashed into the device permanently! It will be automatically "uploaded" to the Cypress FX2's SRAM every time you attach the device to a USB port.
Resources