← View All Updates
Dec 28, 2017

The Evolution of Haasoscope

The Haasoscope is now basically “done” - I’ve ordered one last prototype, which I’ll test early in the new year. After that I’ll order a couple final prototypes fully assembled, and then tweak any last little things and press go for an order of 200 boards! I’d say I’m still on schedule for February delivery.

At the close of the year, I was looking back on all the development rounds I’ve been through with this project… here they are, all 11 of them (and a 12th is on the way)!

Haasoscope evolution.

Starting way back in March, I made my first board:

Haasoscope v1

Haasoscope v1

All it did was boot up the FPGA and have some lights you could blink. Still, it was a major achievement, and you can’t believe the sound I made when I first saw those lights blinking. (It also did some smoking first, I had the pins wrong on the 3.3V LDO!)

Then I added some ADCs, and BNC inputs, and things got serious quick - the Haasoscope was born!

Haasoscope v2

Haasoscope v2

Then I switched to a cheaper and better ADC (dual channel), and started work on the “front end” that takes the analog signals and provides them to the ADC (this one had a 0-5V input range, I think):

Haasoscope v3

Haasoscope v3

(I forgot to power the digital outs of the ADCs, hence the extra wires.)

Oh, BTW, you may notice that many of these old boards are missing most of the their parts - that’s because I use many of the parts from old boards to make new ones!

For board 4 I thought I was clever and could offset the input signals from -5 to 5V into 0-2V, using a voltage divider. I was wrong! (I’d forgotten about the input impedance of the ADCs!) So this round was largely a failure, but it gave it’s life for a good cause, my education!

Haasoscope v4

Haasoscope v4

v5 was more of a success. I bit the bullet and decided to add an op-amp for each channel, so I could do offset (and gain) properly. At first I used an op-amp that didn’t play nice with a single +5V supply (even though the datasheet seemed to say it would?!), but after I swapped in a MAX4416, success!

Haasoscope v5

Haasoscope v5

v6 implemented the fixed I learned I needed from v5, more or less worked OK. It says “bad?” because this one didn’t even boot up the FPGA, and I never figured out why (it wasn’t the clock, voltages, etc…). Fortunately I had ordered two of them, and it’s sister was fine!

Haasoscope v6

Haasoscope v6

v7 is close to the modern Haasoscope. It had adjustable gain (low and high settings), and a (split) ground plane in a 4-layer PCB (which I later regretted and moved to a continuous ground plane). Macrofab accidentally rotated the 50 MHz oscillator though, which had a rough time fixing (see mess to the left of the FPGA)! Nowadays that would be a 30-second job for me, with a hot air gun. I also started playing around on this board with high-impedance inputs (so you don’t affect the circuit you’re measuring), at which point I had to worry about the capacitive reactance in the gain feedback loops, which dominate at high frequency. I don’t know if I invented it, but I discovered you can stack SMD resistors and capacitors on top of each other easily, if you want to add things in parallel! I was able to slap on the right capacitances in parallel with the resistors (see bottom left, for example):

Haasoscope v7

Haasoscope v7

v8 really started to come together nicely. It fixed all the things I’d learned from v7, and added IO expanders (32 low speed GPIOs that you talk to over I2C - why waste high-speed FPGA pins on LEDs?!), a continuous ground plane (reduced inductive coupling), 50/IM Ohm termination, and oversampling (lets you duplicate channels 0/1 to 2/3 to double the sampling rate!). But the AC/DC coupling didn’t work at first - there wasn’t enough isolation using the analog switch. (I now use a solid-state relay.)

Haasoscope v8

Haasoscope v8

For v8.4 I was working on reducing noise. I moved to a 12-bit DAC for providing the offset voltages to the op-amps, instead of doing PWM using FPGA pins (what a dumb idea that was, in retrospect!). And I built in the USB-serial output, since it cost just 1$ and you almost always want it! I also made a set of IO pins at the top so you can plug on the USB2 board hat.

Haasoscope v8.4

Haasoscope v8.4

v8.5 is very close to 8.4, just from AllPCB instead of Seeed. I was testing them both - judgement, they’re both great, but AllPCB gives free shipping, so is almost half the cost! I also played around a bit with the 3.3V power distribution, as I was suspecting (correctly!) that some noise was still coming through on the power rails (hence the extra wires!).

Haasoscope v8.5

Haasoscope v8.5

v8.6 finally has working AC/DC coupling switches, using those SSRs! I also moved to powering the op-amps off 3.3V instead of directly from 5V - of course there’s less noise after the LDO, right?! I also added the “super-gain” mode (an extra factor of 100 in gain), which I talked about in a recent update. It messed things up at first though - I’d forgotten about the capacitance of the SSR (about 15pF!) I was using to switch into super-gain mode! I’ve moved to an old-fashioned physical switch now.

Haasoscope v8.6

Haasoscope v8.6

v8.7 is on the way! I’ll add a pic in the New Year. It’s going to have a separate 3.3V LDO for the analog part of the board, again to reduce noise, especially for that super-gain mode. (You can see I was testing that out in v8.5 - there’s 2 LDOs stacked on each other!) And I’ve added some variable capacitors to the inputs so I can fine-tune that reactance I was talking about. (I should do a separate update on that saga!) Oh, and I added an LED so you can tell if the board is on!

See you in 2018!

$16,035 raised

of $10,000 goal

Funded! Order Now

Dec 14

funded on





Product Choices


Support Us!


The Haasoscope Bundle

Receive 1 Haasoscope + 2 probes + USB-serial adapter + USB blaster + screen


Your very own Haasoscope!

A fully assembled Haasoscope, preloaded with firmware and ready for data-taking! You also might want to grab a USB-serial adapter (for interfacing to a computer) and/or a USB-blaster (for reprogramming the firmware). Haasoscope will retail for $119 after the end of the campaign.


Haasoscopes are happier together - get two!

Two fully assembled Haasoscopes, preloaded with firmware and ready for data-taking! Again you may want a serial adapter and/or USB-blaster, but you just need one of each for both of them. The 2-pack will retail for $229 after the end of the campaign.


Now we're talking about a serious data-acquisition system - 4 Haasoscopes!

Four fully assembled Haasoscopes, preloaded with firmware and ready for data-taking! Again you may want a serial adapter and/or USB-blaster, but you just need one of each for all four of them. The 4-pack will retail for $429 after the end of the campaign.


USB-serial Adapter

This plugs into your computer (USB port) and then connects to the right side of the Haasoscope (serial RX/TX). It also can power the Haasoscope. You need one of these if your computer doesn't have a serial port, which is almost all modern computers. Arduinos and Raspberry Pi's do talk serial though - you can use them to read out the Haasoscope without an adapter!



This lets you reprogram the Haasoscope FPGA firmware from either Windows or Linux using the free Altera Quartus II software via the JTAG connector.


A Cool Screen!

This is a 0.96" 128X64 pixel white OLED screen. It communicates with the Haasoscope over an SPI interface, and can show ADC data from a selected channel, or whatever you tell it to! It can plug directly into the header above the FPGA.


Oscilloscope Probes

Two passive 100 MHz bandwidth oscilloscope probes for connecting to Haasoscope 100 MHz ADC inputs using BNC.


Opto-isolated USB-serial Adapter

For those of you probing some dangerous stuff, you can now act crazy without killing your laptop. This USB-serial adapter works just like the standard one, but is opto-isolated, for 1500V of protection!


High-speed USB Readout Board

In case 1.5 Mb/s is not enough bandwidth for you, grab one of these boards and have high-speed USB2 output from a Haasoscope! Using just 8+2 digital outputs on the Haasoscope, you can get about 4 MB/s, about 20x faster than serial, and still use the same python readout code. It's supported in the stock firmware too! Using 8+4 digital outputs, you could in theory even get up to 40 MB/s using C++ readout code and the free FTDI USB libraries.


A Haasoscope Mug!

Drink your coffee in style and support the Haasoscope dream.

Ask a Question

Have a question not answered in the description above or in the Updates?

Ask Andy Haas a Question or Browse the Crowd Supply Guide


Andy Haas

I teach physics at NYU. I use electronics for research, in teaching, and as a hobby.

Andrew Haas

Seeed Studio

PCBA Manufacturer

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