Crowdfunding Page History

This page is an archive of the original crowdfunding campaign for this project. It may not be up-to-date with the latest updates and product availability.
Return to the current project page.

FPGA Boards
Protocol Interfaces
KiCad

Glasgow Interface Explorer

A highly capable and extremely flexible open source multitool for digital electronics

$349,562 raised

of $25,000 goal

1,398% Funded! Order Below

Funding ended on Feb 02, 2021 at 03:59 PM PST.

Recent Updates

You'll be notified about news and stock updates for this project.

A Tool for Exploring Digital Interfaces

Glasgow is intended for hardware designers, reverse engineers, digital archivists, electronics hobbyists, and anyone else who wants to communicate with a wide selection of digital devices with minimum hassle. It can be attached to most devices without additional active or passive components, and it provides extensive protection from unexpected conditions and operator error.

The Glasgow hardware can support many digital interfaces because it uses reconfigurable logic. Instead of offering just a small selection of standard hardware supported interfaces, it uses an FPGA to adapt — on the fly — to the task at hand without compromising performance or reliability, even for unusual, custom or obsolete interfaces.

The Glasgow software is a set of building blocks designed to eliminate system complexity. Each protocol is packaged into a self-contained applet that can be used directly from the command line or integrated into a more complex system. Using Glasgow does not require any programming knowledge, though it is much more powerful if you know a bit of Python.

Glasgow revC2

Use Cases

To illustrate some strengths of Glasgow, here are a few usage examples.

USB-to-Serial adapter

Glasgow can be used as a USB-to-serial adapter, but better.

Unlike traditional serial adapters it can auto-detect the target voltage and "mirror" it. It will auto-detect the baud rate of the target and follow it on the fly. It can directly interface to inverted signal UART interfaces, which would ordinarily require additional debugging components, like buffer transistors.

Environmental Sensor Logger

Glasgow has built-in support for InfluxDB. So any applet that reads out sensors can directly log the data and you can visualize them in Grafana with very minimal effort. We already have support for some CO2 and particle sensors.

Glasgow-InfluxDB-Grafana Temperature, Humidity, CO2 log from an SCD30 sensor. Click to enlarge.

RGB LED Interface

Today there are a lot of different LED display technologies available. Like "intelligent" RGB LEDs with built in PWM controllers, for example WS2812 or APA102. There are LED matrix display panels with myriad of shift register based interfaces like HUB75, HUB75e, HUB8, HUB12 and many more.

All of them use fairly nonstandard protocols. From timing-driven one-wire interfaces, through fairly normal SPI interfaces to multichannel parallel shift register interfaces. Typical protocol adapters only provide a specific subset of hardware supported interfaces. Everything beyond that has to be implemented with so called bit-banging. Bit-banging means that the processor or the PC has to control I/O step from software, in some cases even through USB. This is cumbersome if not impossible due to the timing constraint and USB speed.

In the case of Glasgow, that can be easily reconfigured. It is possible to experiment and prototype with these devices quickly and with minimal hassle. Just a few lines of nMigen and Python and you are ready to go.

If you are interested how it is done, watch Attie implement HUB75 interface support.

Safety

Safety is an important design requirement for Glasgow, we addressed it in multiple ways.

Protective case

We designed a beautiful CNC-milled aluminum case to keep your Glasgow safe from damage — from short circuits on the bench or the exercise shorts in your travel bag. It’s available as an option.

Glasgow revC aluminum case. (Design and 3D rendering by @timonsku)

ESD, Under- and Over-Voltage protection

Working with untested or unknown devices can be risky. Short circuits, electrostatic discharge, high voltages can quickly destroy our project or test equipment. Glasgow is ready for this. All I/O are ESD, over- and under-voltage protected. We have made sure that the hardware will survive a I/O and supply short and not reset, but rather detect a set current threshold fault and act accordingly thanks to I/O supply current monitoring.

E-Stop/Reset

For the urgent situations where one might want to quickly put Glasgow back in safe mode; we have added an easy to reach E-Stop/Reset button. It is located on the side of the board, so a quick squeeze of the Glasgow will bring it back into an electrically safe state. This button is hardwired to the Glasgow circuitry and results in a safe reset even if the software or gateware is faulty.

Glasgow revC aluminum case, E-Stop/Reset button and sync connector detail. (Design and 3D rendering by @timonsku)

Features

Glasgow is already capable of performing these tasks:

Note: features marked with "WIP" are Work In Progress, which means they are preview only and require more work or even a rewrite.

Most of the above can be done with only a Glasgow revC board, some wires, and — depending on the device under test – external power. In most cases no additional front end circuitry is needed.

Technical Specifications

Legend

Click to enlarge.

Block Diagram

Click to enlarge.

Comparison Table

Glasgow HardSploit Tigard JTAGulator HydraBus GoodFET GreatFET BusBlaster BusPirate
UART Y Y Y Y Y N Y N Y
SPI Y Y Y N Y Y Y N Y
Parallel Y Y N N N N Y N N
I2C Y Y Y N Y Y Y N Y
JTAG/SWD Y Y Y Y Y Y Y Y Y
Logic Analyzer Y Y Through Bitmagic Y Y Y Y N Y
Extensibility FPGA FPGA FTDI MCU MCU MCU MCU CPLD MCU
Interface CLI,API CLI,GUI,API CLI,GUI,API CLI CLI CLI CLI CLI CLI
I/O count ¹ 16 64 14 24 44 9 100 9 7
Cascading ³ Y N N N N N N N N
Indep. I/O2 banks 8 banks 1 bank 1 bank 1 bank 1 bank 1 bank1 bank1 bank
I/O Voltages 1.8-5 V 3.3 V, 5 V 1.8 V, 3.3 V, 5.5 V 1.4-3.3 V 3.3 V 3.3 V 3.3 V 1.5-3.3 V 3.3 V, 5 V
I/O Speed ¹ ² 100 MHz 25 MHz 25 MHz 15 kHz 42 MHz 1 Mbps 50 MHz 6 MHz 1 Mbps
USB Type C Type Mini-B Type C Type Mini-B Type Micro-B Type Mini-B Type Micro-B Type Mini-B Type Mini-B
Open Hardware Y N Y Y Y Y Y Y Y
Cost $130 $320 ⁵ $39 $170 $80 $50 $100 $45 $37

Built on Python & the Open Source iCE40 Toolchain

Glasgow Interface Explorer is written in Python 3. The interface logic that runs on the FPGA is described using nMigen, which is a Python-based domain-specific language (DSL). The supporting code that runs on the host PC is written in Python with asyncio. This way, the logic on the FPGA can be assembled on demand for any requested configuration, keeping it as fast and compact as possible, and code can be shared between gateware and software, removing the need to add error-prone "glue" boilerplate.

Glasgow would not be possible without the IceStorm, open source iCE40 FPGA toolchain, which is reliable and extremely fast. For instance, it only takes a few seconds to rebuild the FPGA bitstream for the UART protocol. When developing a new applet, it is rarely necessary to wait for the toolchain.

Glasgow Applet Python code to Applet Gateware communication path. Click to enlarge.

Implementing reliable, high-performance USB communication is not trivial – packetization, buffering, and USB quirks add up. Glasgow abstracts away USB. On the FPGA, applet gateware writes to or reads from a FIFO. On the host, applet software writes to or reads from a socket-like interface. On a modern PC, idiomatic Python code can communicate at maximum USB 2 "high-speed" bandwidth. Moreover, this design is relatively future proof, as it can support different transports, such as Ethernet, without requiring changes to applet code.

Glasgow Applet-to-Hardware relationship. Click to enlarge.

Debugging new applets can be hard, especially where bi-directional buses are involved. Glasgow provides a built-in, cycle-accurate logic analyzer that can relate the I/O pin level and direction changes to commands and responses received and sent by the applet. The logic analyzer compresses waveforms and can pause the applet if its buffer is about to overflow.

Support & Documentation

Glasgow has been developed and refined over the last few years by a dedicated group of engineers. Many people have built their own hardware and are already using it in production. A lot of these early adopters are contributing additional applets and documentation. We welcome you to drop in to the Glasgow Discord channel or Glasgow Freenode IRC channel to talk about your ideas and ask questions!

For more technical discussion of Glasgow, please visit our GitHub Glasgow Organization.

We have a section of the 1BitSquared Forum dedicated to Glasgow.

Give esden and whitequark a follow on Twitter. Both of them regularly post Glasgow updates.

What Are You Getting?

You get the following:

Glasgow revC2 with cables

The aluminum case option adds:

Glasgow revC aluminum case parts (Design and 3D rendering by @timonsku)

The case comes as a kit, and is easy to assemble. The case covers up some of the optional connectors on the Glasgow PCB. If you need access to these connectors, the bottom half of the case can be used alone, and will still provide protection to the underside of your Glasgow.

Manufacturing Plan

We have ordered the final prototype version of Glasgow revC2 and we are finalizing the latest hardware revision. We have the full Bill Of Materials (BOM) and several quotes from part suppliers. We are talking with our PCB production and assembly house, to prepare for production. The pogo-pin test jig electronics are designed and assembled. The production tester is ordered. The first batch of flywire cable harnesses has been produced and delivered to us.

Before the campaign is over, we will place the order for the parts and PCBs for the first production batch. We will be ordering the sync and USB-C cables while the campaign is in progress. Depending on the demand we will place another order for parts and boards as soon as the campaign is over. We will order the cases for Glasgows as soon as the campaign ends. We will keep you up to date about the progress in our campaign emails.

Fulfillment & Logistics

Glasgow will be assembled at our contract manufacturer in China. Quality assurance (QA) testing and kitting will be done at 1BitSquared in Eugene, Oregon, USA. As soon as the kits are packed and labeled, we will send them to Crowd Supply to fulfill your pledges via their logistics partner, Mouser Electronics. For more information, you can refer to this useful guide to ordering, paying, and shipping. You can confirm and update your order details and more in your Crowd Supply account.

Risks & Challenges

Creating physical objects is always risky. Parts might not ship on time, or they might arrive later than we planned, or might get stuck in customs. Parts might be discontinued or change without prior announcement from the manufacturer. Fortunately, 1BitSquared and our contract manufacturer have been manufacturing electronics hardware for many years, and have ample experience resolving any issues.

Glasgow revC CNC milled painted acrylic prototype (Design and prototype by @timonsku)

Timon designed the aluminum case and is coordinating its production. He has many years of experience designing and producing cases for electronic products. The CNC milling manufacturer we work with has worked with us in the past and we know they can deliver a high quality product.

Snapshots from Glasgow revC2 prototype build process at 1BitSquared

As with our other campaigns, we will be honest about any issues or delays that we run into and provide updates explaining how we are addressing them. We know that many of you are interested in the manufacturing process, and we will be sure to share our journey. We will do our best to get the Glasgow to you as fast as we can. :)

In the Press

Hackster News

"Glasgow Interface Explorer, an iCE40 FPGA-powered 'Scots Army Knife' for electronics engineers, hackers, tinkerers, and anyone who would like to be able to communicate with a wide range of electronic hardware."

Geeky Gadgets

"The Glasgow Interface Explorer development board has been designed for 'maximum reliability and minimum hassle'...and can be attached to most devices without the need for additional active or passive components."

CNXSoft - Embedded Systems News

"...the FPGA can be programmed with various open-source FPGA tools including Yosys, nextpnr, and icestorm. 1BitSquared, the company behind the project, is using those projects together with nMigen to provide an easy-to-use Python API for the board..."

Electronics-Lab.com

"The board aims to offer a broad selection of capabilities with more than “some wires and, depending on the device under test, external power"


Produced by 1BitSquared in Eugene Oregon, USA.

Sold and shipped by Crowd Supply.

Glasgow revC

You get one Glasgow revC and a full set of flywire, sync, and USB-C cables.

$139 $8 US Shipping / $18 Worldwide

Glasgow Aluminum Case

A beautiful CNC-milled and anodized aluminum case to keep your Glasgow safe -- from short circuits on the bench or the exercise shorts in your travel bag. Glasgow not included.

$50 $8 US Shipping / $18 Worldwide

About the Team

1BitSquared

Embedded hardware and tool development and manufacturing company. We create hardware focused on promoting and supporting open source projects.

See Also

Subscribe to the Crowd Supply newsletter, highlighting the latest creators and projects