Skip to the content
PCBKitNew board
2 layers56.6 × 57.7 mmGpib adapter, the printed circuit board in 3D

Gpib adapter

asanza/gpib2usb13

simple gpib2usb adapter

Size
56.6 × 57.7 mm
Copper layers
2
Thickness
1.6 mm
Parts
29
Nets
66
Pads
175
Tracks, vias
406, 35
Pours
2
Routed
Yes
KiCad
KiCad 5 (file 20160815)
Created
10 Oct 2015
Updated
20 Oct 2016

Overview

Gpib adapter is an open-source printed circuit board by asanza, from the asanza/gpib2usb repository on GitHub. It is a 2-layer board of 56.6 × 57.7 mm with 29 parts on 66 nets, routed with 406 tracks and 35 vias.

It is built around the SN75160BN, SN75161BN and PRTR5V0U2X. Its parts include 10 capacitors, 7 resistors, 4 diodes, 3 ICs and 3 connectors. It belongs with the interfaces and adapters and sensors and measurement boards and the PIC boards of this library.

Main components

3

README

README.md

GPIB (IEEE-488) to usb adapter

build status

gpib2usb

We live in wonderful times... Now is possible for us to get pretty good but old and used measurement equipment on e-bay, just for a few bucks. Equipment that otherwise would be out of the hobbist leage, like 6.5 digit multimeters, oscilloscopes, signal generators... just to name a few.

These old equipment often come with a GPIB interface, which allows to control them from a computer with the corresponding GPIB connection. Regretably, computers do not come with GPIB interfaces, and the adapters available are not cheap.

Here comes this little device to rescue. It is a gpib-to-usb adapter which after connected to the computer via the almighty usb port, it presents itself as a serial port and allows to send GPIB commands to connected GPIB devices.

For now is yet a work in progress.

Getting Started

The device presents itself as a serial port. The commands are the same as the similar device sold by Prologix LLC, but compatibility is not guaranteed.

CommandDescription
++addr 0-31Tell controller which device to address
++addrQuery currently configured device address
++clrThis command sends the Selected Device Clear (SDC) message to the currently specified GPIB address. Please consult the programming manual for details on how a particular instrument responds to this message.
++eoi 0/1Enable (1) or disable (0) EOI with last byte. Default is 0. This command enables or disables the assertion of the EOI signal with the last character of any command sent over GPIB port. Some instruments require EOI signal to be asserted in order to properly detect the end of a command.
++eoiQuery current EOI setting
++eos 0/1/2/3EOS terminator — 0:CR+LF, 1:CR, 2:LF, 3:None. Default is 0. This command specifies GPIB termination characters. When data from host is received over USB, all non-escaped LF, CR and ESC characters are removed and GPIB terminators, as specified by this command, are appended before sending the data to instruments. This command does not affect data from instruments received over GPIB port.
++eosQuery current EOS setting
++ifcIssue interface clear. This command asserts GPIB IFC signal for 150 microseconds making the gpib2usb controller the Controller-In-Charge on the GPIB bus.
++locReturn device to local mode
++read [eoi/char]This command can be used to read data from an instrument until: EOI is detected or timeout expires, or A specified character is read or timeout expires, or Timeout expires. Timeout is set using the read_tmo_ms command and applies to inter-character delay, i.e., the delay since the last character was read. Timeout is not be confused with the total time for which data is read.
++read_tmo_ms [1-3000]This command specifies the timeout value, in milliseconds, to be used in the read command and spoll command. Timeout may be set to any value between 1 and 3000 milliseconds.
++spollRead status byte by serial polling the device
++srqQuery status of SRQ line. 0: Not asserted, 1:Asserted
++trgIssue device trigger
++verQuery GPIB-USB controller version
++helpPrint help about commands

To send binary data to instruments following characters must be escaped by preceding them with an ESC character: CR (ASCII 13), LF (ASCII 10), ESC (ASCII 27), ‘+’ (ASCII 43)

Contributing

Know issues

Disable modem manager in linux.

In order to detect new devices, modem manager issues two AT commands to each new ACM device detected. This blocks the serial port and causes it to be unavailable the first seconds. This is somewhat annoying. Fortunately it is possible to disable this behaviour. You need to create a new file:

text
/etc/udev/rules.d/77-mm-usb-device-blacklist.rules

and put following content in it:

text
with content:
# gpib2usb converter
ATTRS{idVendor}=="1209", ATTRS{idProduct}=="0001", ENV{ID_MM_DEVICE_IGNORE}="1"

Parts

29
QtyValueFootprintReferences
4100nCapacitors_SMD:C_0805C4, C5, C7, C8
3470Resistors_SMD:R_0805R4, R5, R6
3PWRLEDs:LED-5MMD1, D2, D3
210nCapacitors_SMD:C_0805C6, C9
218pCapacitors_SMD:C_0805C2, C3
222Resistors_SMD:R_0805R2, R3
11uCapacitors_SMD:C_0805C1
18MHzCrystals:Crystal_SMD_5032_4PadsX1
1CCapacitors_SMD:C_1206C10
1F_SmallResistors_SMD:R_1210F1
1GPIBgpib_conn_male:gpib_conn_maleP5
1PIC18(L)F4550-I/PTHousings_QFP:TQFP-44_10x10mm_Pitch0.8mmU3
1PRTR5V0U2Xesd_protection:PRTR5V0U2XD4
1RResistors_SMD:R_0805R1
1RResistors_SMD:R_1206R7
1SN75160Housings_SOIC:SOIC-20_7.5x12.8mm_Pitch1.27mmU1
1SN75161Housings_SOIC:SOIC-20_7.5x12.8mm_Pitch1.27mmU2
1TC2030-MCPtagconnect:TC2030-NL_SMALLP1
1USBConnect:USB_BP2

Questions

How big is the Gpib adapter PCB?

It measures 56.6 × 57.7 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Gpib adapter use?

29 parts, built around the SN75160BN, SN75161BN and PRTR5V0U2X. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Gpib adapter KiCad files?

From the asanza/gpib2usb repository on GitHub, at the commit this page was made from: the board is pcb/gpib_adapter.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Gpib adapter design in my own project?

Its repository states no licence, so its author keeps all rights: ask asanza before reusing the design.

Similar boards

  • 4 layers85 × 56 mmIce4pi, the printed circuit board in 3D

    Ice4pi

    lightside-instruments/gpib4pi

    The gpib4pi project is open hardware design of a Raspbery Pi extension board with GPIB interface using only GPIOs.

    50 parts14
  • 2 layers86 × 70 mmAVR488, the printed circuit board in 3D

    AVR488

    VE7PMC/AVR488

    USB to IEEE-488 interface based on the ATmega168/328 microcontroller

    28 parts10GPL-3.0
  • 2 layers99.9 × 99.9 mmMy raspi gpib, the printed circuit board in 3D

    My raspi gpib

    markmerz/rpi-gpib-pcb

    PCB for a Raspberry Pi GPIB board.

    67 parts
  • 2 layers56.1 × 53.1 mmRp488, the printed circuit board in 3D

    Rp488

    richardklingler/rp488

    This project is an RP2350-based USB GPIB adapter.

    26 parts
  • 2 layers51.7 × 66 mmGpib breakout, the printed circuit board in 3D

    Gpib breakout

    abzman/small-useful-PCBs

    18 parts20Unlicense
  • 2 layers66.2 × 60.9 mmBlackGPIB Pico, the printed circuit board in 3D

    BlackGPIB Pico

    vklachkov/blackgpib

    GPIB Peripheral Emulator for GRiD Compass

    21 parts6MIT
  • 2 layers86 × 67 mmAR488 ESP32, the printed circuit board in 3D

    AR488 ESP32

    joseluu/MCP-AR-488-ESP32

    The idea is to have AI help me build electronics. AI needs eyes, the eyes are the oscilloscope which is used through an MCP interface.

    22 parts2
  • 2 layers33 × 57.4 mmCareLite V122, the printed circuit board in 3D

    CareLite V122

    OpenhimerLab/CareLite-GPIB

    CareLite is an open-source, tiny, small USB-GPIB adaptor based on STM32 with temperature sensors.

    37 parts9GPL-3.0