Author Topic: HaasoscopePro open-source 2 GHz oscilloscope!  (Read 5149 times)

0 Members and 1 Guest are viewing this topic.

Offline haastyleTopic starter

  • Contributor
  • Posts: 43
  • Country: us
HaasoscopePro open-source 2 GHz oscilloscope!
« on: November 22, 2024, 05:40:49 am »
You may recall the infamous Haasoscope, king of the worst schematics in history. (Dave did a 2 hour video based on it, just to explain how NOT to draw a schematic!)

Well I've learned a bit in the past 6 years, and now I've designed the Haasoscope Pro, quite the upgrade - now with 2 GHz of analog bandwidth. Each has 3.2 GS/s, but (before you go all Nyquist on me), you can sync 2 of them, to get to 6.4 GS/s interleaved.

It's now in pre-launch on CrowdSupply...
https://www.crowdsupply.com/andy-haas/haasoscope-pro

Sign up there with your email to get updates as the project launches (next month?), and get first dibs on the introductory pricing for early backers.

All the designs are at
https://github.com/drandyhaas/HaasoscopePro/

Let me know what you think... What could be added or changed... Skepticisms about whether it could actually work... 😁
 
The following users thanked this post: thm_w, 1001, lfldp

Offline lfldp

  • Regular Contributor
  • *
  • Posts: 114
  • Country: pl
Re: HaasoscopePro open-source 2 GHz oscilloscope!
« Reply #1 on: December 22, 2024, 10:25:33 am »
You may recall the infamous Haasoscope, king of the worst schematics in history. (Dave did a 2 hour video based on it, just to explain how NOT to draw a schematic!)

Well I've learned a bit in the past 6 years, and now I've designed the Haasoscope Pro, quite the upgrade - now with 2 GHz of analog bandwidth. Each has 3.2 GS/s, but (before you go all Nyquist on me), you can sync 2 of them, to get to 6.4 GS/s interleaved.

It's now in pre-launch on CrowdSupply...
https://www.crowdsupply.com/andy-haas/haasoscope-pro

Sign up there with your email to get updates as the project launches (next month?), and get first dibs on the introductory pricing for early backers.

All the designs are at
https://github.com/drandyhaas/HaasoscopePro/

Let me know what you think... What could be added or changed... Skepticisms about whether it could actually work... 😁
Very interesting project, I wanted to ask a few questions related to it. Do you plan to add a 10mhz clk input to synchronize signals from tested devices? If not, is the current hardware version of this oscilloscope suitable for such a modification? Can you give an estimated cost of making 5 pieces of pcb in JLPCB? Is making them very expensive? Does this pcb have to have gold-plated paths?
 

Online nctnico

  • Super Contributor
  • ***
  • Posts: 28502
  • Country: nl
    • NCT Developments
Re: HaasoscopePro open-source 2 GHz oscilloscope!
« Reply #2 on: December 29, 2024, 02:31:32 pm »
The schematics are still horrible!  The key to good schematics is to connect the signals so people can follow the signal flow. Stuff like power and SPI / I2C can be put on a schematic as labels (or made part of a bus) but the signals should really be drawn between the parts in a schematic.
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 
The following users thanked this post: lfldp

Offline haastyleTopic starter

  • Contributor
  • Posts: 43
  • Country: us
Re: HaasoscopePro open-source 2 GHz oscilloscope!
« Reply #3 on: January 02, 2025, 11:13:49 pm »
The schematics are still horrible!  The key to good schematics is to connect the signals so people can follow the signal flow. Stuff like power and SPI / I2C can be put on a schematic as labels (or made part of a bus) but the signals should really be drawn between the parts in a schematic.

Please look at the latest ones. They've come a long way.
https://github.com/drandyhaas/HaasoscopePro/blob/main/adc%20board%2Fhaasoscope_pro_adc_fpga_board_schematics.pdf

I'm happy to take specific suggestions!
 

Offline haastyleTopic starter

  • Contributor
  • Posts: 43
  • Country: us
Re: HaasoscopePro open-source 2 GHz oscilloscope!
« Reply #4 on: January 02, 2025, 11:41:33 pm »
Very interesting project, I wanted to ask a few questions related to it. Do you plan to add a 10mhz clk input to synchronize signals from tested devices? If not, is the current hardware version of this oscilloscope suitable for such a modification? Can you give an estimated cost of making 5 pieces of pcb in JLPCB? Is making them very expensive? Does this pcb have to have gold-plated paths?

Thanks. There is an external trigger in (SMA on back panel), which could be driven with an external 10 MHz square wave. You would then still be triggering off of the internal ADC clock (800 MHz), but immediately after an edge of your 10 MHz clock. So you'd have ~1 ns of jitter with respect to your external 10 MHz clock edges.
If that is not acceptable jitter performance, there is an external clock input (SMA) that could be used to drive the whole scope, replacing the 50 MHz oscillator on board. But I hadn't planned to route that connection to the back (or front) panel. It's just sitting next to the FPGA.

I'm actually not so familiar with the use cases where syncing with an external device is required, or the specifications of such a setup. Can you elaborate on your setup and requirements please?

The PCBs are not expensive, 5 of them cost about $300. This was only possible by completing the routing on "only" 10 layers, and without blind or buried vias. Not easy, given the 1mm and 0.8mm BGAs with 16x16=256 and 22x22=484 pins, and 56+8 LVDS pairs needed! I *think* you're joking about gold-plated paths - there is standard gold-plated ENIG finish on the boards, but that's not very costly. The usual FR4 does just fine up to a few GHz. Of course you want to specify the stack up and design the traces (and differential traces) to be 50 Ohm, but nothing special is required.
The main cost of the device is the components. Things with 2+ GHz of bandwidth are not cheap. The ADC alone is $180, in quantity 100. Even the relays are $15 each. But it's still going to be *much* cheaper than any other scope out there with 2 GHz bandwidth. Pricing will be announced soon when the CrowdSupply campaign goes live. And early supporters will get a good discount. Sign up on that page for updates.
 

Online PlainName

  • Super Contributor
  • ***
  • Posts: 7578
  • Country: va
Re: HaasoscopePro open-source 2 GHz oscilloscope!
« Reply #5 on: January 03, 2025, 09:51:33 pm »
Please look at the latest ones. They've come a long way.
https://github.com/drandyhaas/HaasoscopePro/blob/main/adc%20board%2Fhaasoscope_pro_adc_fpga_board_schematics.pdf

I'm happy to take specific suggestions!

I had a (very) quick look before giving up. On page 3 there is an airwire 'INPATH2' which goes... where? Surely not to INPATH24. Then OUTPATH2 on K4 goes to OUTPATH2 on K5, but there is white space taken up by an arrow which would be better served as a wire connecting OUTPATH2/K4 to OUTPATH2/K5 - it is literally a straight line of minimal length. Instead of easily seeing that one is connected to the other, I had to look over the entire sheet to a) find the connection, and b) make sure that was the only connection (but maybe the airwire connects on another sheet?).

Air caps with airwires to power. Just join the + and - rails. They are right next to each other after all! And if they must physically sit close to the relevant chip/relay/ whatever then either directly connect them thus (so it is obvious) or put a note by them.

Q4 and Q5 - what drives them and what do they drive? Is it on this sheet? Life's too short to try and find out.

I suspect there are quite a few more things to be found on that sheet, and then there are another five similar sheets. I think you still have quite a way to go, sorry.
 
The following users thanked this post: artag, lfldp

Online KE5FX

  • Super Contributor
  • ***
  • Posts: 2113
  • Country: us
    • KE5FX.COM
Re: HaasoscopePro open-source 2 GHz oscilloscope!
« Reply #6 on: January 03, 2025, 11:05:54 pm »
The schematics are still horrible!  The key to good schematics is to connect the signals so people can follow the signal flow. Stuff like power and SPI / I2C can be put on a schematic as labels (or made part of a bus) but the signals should really be drawn between the parts in a schematic.

Please look at the latest ones. They've come a long way.
https://github.com/drandyhaas/HaasoscopePro/blob/main/adc%20board%2Fhaasoscope_pro_adc_fpga_board_schematics.pdf

I'm happy to take specific suggestions!

Ignore further suggestions, at least of this particular nature, and ship it.  >:D  Your schematics are fine.
 

Offline haastyleTopic starter

  • Contributor
  • Posts: 43
  • Country: us
Re: HaasoscopePro open-source 2 GHz oscilloscope!
« Reply #7 on: January 04, 2025, 03:57:50 am »
I made some fixes along the lines you suggest. Have another look if you dare. Thanks for your feedback.
There are unfortunately a ton of control lines coming from the FPGA that simply must be on another sheet. Not sure how to indicate that's where they come from, other than with some text.
 
The following users thanked this post: PlainName

Online PlainName

  • Super Contributor
  • ***
  • Posts: 7578
  • Country: va
Re: HaasoscopePro open-source 2 GHz oscilloscope!
« Reply #8 on: January 04, 2025, 10:44:16 am »
IMO that simple change has made it much better - the flow straight through is obvious at a glance. I would suggest connecting the transistor wires to the relays instead of having them floating. It's not like you pay extra to have lines cross, and the won't create an unholy mess. Instead, you won't even have to think what they are doing or what to.

Quote
a ton of control lines coming from the FPGA that simply must be on another sheet

Sure, that's normal for a decent project. This is with Kicad, right? I am not au fait with it's capabilities but with other packages you would have off-sheet ports. If you must have airwires on a sheet (sometimes it is complex enough to warrant a couple) then differentiating on-sheet and off-sheet connections would mitigate the airwire issue a lot.

Where you split a project into multiple sheets, if you can compartmentalise the sheets then a top level overview sheet helps to manage things. That will show sheet to sheet connections and will dramatically simplify things for the schematic reader. The problem you have here is a huge number of I/O on the FPGA, and consequently the connections between sheets can make the top level look like it needs airwires. But this isn't unusual and the normal resolution is to use buses. A bus would work well if you have many lines going from, say, sheet A to sheet B and keep the top level clean but informative.
 

Online tggzzz

  • Super Contributor
  • ***
  • Posts: 21449
  • Country: gb
  • Numbers, not adjectives
    • Having fun doing more, with less
Re: HaasoscopePro open-source 2 GHz oscilloscope!
« Reply #9 on: January 04, 2025, 11:22:46 am »
Here's one old-school way of doing it for a 350MHz scope.



Key techniques (which are explained in the manual)
  • each schematic is a logical component, and is implemented on several boards and the front panel
  • the numbers in the diamonds refer to schematics number. This is schematic 9
  • a boundary line indicates what's on each board, the board name is given next to the boundary line
  • connections going elsewhere are shown "penetrating" the boundary lines
  • connections going to other schematics are annotated with where to find the "other end"
  • connections going off-board are annotate with the connector and pin
  • other annotations indicate circuit operation
  • note how complex mechanical components (relays, switches) are shown in a way that does not hide the circuit's overall operation

Coupled with the explanation of the circuit in the manual, all of that makes it very easy to visualise how the circuit works.

I understand that some modern tools may actively thwart such understanding. That is unfortunate.
« Last Edit: January 04, 2025, 11:28:33 am by tggzzz »
There are lies, damned lies, statistics - and ADC/DAC specs.
Glider pilot's aphorism: "there is no substitute for span". Retort: "There is a substitute: skill+imagination. But you can buy span".
Having fun doing more, with less
 

Offline haastyleTopic starter

  • Contributor
  • Posts: 43
  • Country: us
Re: HaasoscopePro open-source 2 GHz oscilloscope!
« Reply #10 on: January 04, 2025, 02:51:02 pm »
Ok, I connected the relay signals, and some others. Thanks.
I also figured out how to do PORT symbols in Eagle, to show which signals are coming or going from other sheets. I haven't added them on all sheets yet - it will take a while.
Updated the pdf in GitHub.
 

Offline Kean

  • Supporter
  • ****
  • Posts: 2544
  • Country: au
  • Embedded systems & IT consultant
    • Kean Electronics
Re: HaasoscopePro open-source 2 GHz oscilloscope!
« Reply #11 on: January 05, 2025, 07:46:10 am »
If you are using Eagle, there is also a setting to display page & grid coordinates on the PORT symbol for cross referencing.  A PORT is typically intended for use as a label with Xref enabled.

Of course, for that to be useful you will need to add a frame to each page with the grid style.  I think a frame does generally make a schematic look better organised, and it also helps you to more effectively use the page canvas so that it can be printed at a readable size.
 

Online PlainName

  • Super Contributor
  • ***
  • Posts: 7578
  • Country: va
Re: HaasoscopePro open-source 2 GHz oscilloscope!
« Reply #12 on: January 05, 2025, 09:20:39 am »
Quote
I think a frame does generally make a schematic look better organised

Not to mention that you can see the limits of where to search for things (that, perhaps, something is hidden because it is off-screen).
 

Offline haastyleTopic starter

  • Contributor
  • Posts: 43
  • Country: us
Re: HaasoscopePro open-source 2 GHz oscilloscope!
« Reply #13 on: January 05, 2025, 04:44:45 pm »
Ok, thanks for the suggestions!
I added frames and the "next sheet number" on the xref labels.
I'm still adding more xref labels, but I think this is a good start.
https://github.com/drandyhaas/HaasoscopePro/blob/main/adc%20board%2Fhaasoscope_pro_adc_fpga_board_schematics.pdf
 

Online PlainName

  • Super Contributor
  • ***
  • Posts: 7578
  • Country: va
Re: HaasoscopePro open-source 2 GHz oscilloscope!
« Reply #14 on: January 05, 2025, 05:06:47 pm »
Much nicer job :-+
 

Offline Kean

  • Supporter
  • ****
  • Posts: 2544
  • Country: au
  • Embedded systems & IT consultant
    • Kean Electronics
Re: HaasoscopePro open-source 2 GHz oscilloscope!
« Reply #15 on: January 06, 2025, 02:49:26 pm »
Yes!

I think that has made a significant improvement to first impressions and overall readability, and believe that it will help when you officially launch the project on CS.
 

Offline lfldp

  • Regular Contributor
  • *
  • Posts: 114
  • Country: pl
Re: HaasoscopePro open-source 2 GHz oscilloscope!
« Reply #16 on: February 02, 2025, 08:15:44 pm »
Very interesting project, I wanted to ask a few questions related to it. Do you plan to add a 10mhz clk input to synchronize signals from tested devices? If not, is the current hardware version of this oscilloscope suitable for such a modification? Can you give an estimated cost of making 5 pieces of pcb in JLPCB? Is making them very expensive? Does this pcb have to have gold-plated paths?

Thanks. There is an external trigger in (SMA on back panel), which could be driven with an external 10 MHz square wave. You would then still be triggering off of the internal ADC clock (800 MHz), but immediately after an edge of your 10 MHz clock. So you'd have ~1 ns of jitter with respect to your external 10 MHz clock edges.
If that is not acceptable jitter performance, there is an external clock input (SMA) that could be used to drive the whole scope, replacing the 50 MHz oscillator on board. But I hadn't planned to route that connection to the back (or front) panel. It's just sitting next to the FPGA.

I'm actually not so familiar with the use cases where syncing with an external device is required, or the specifications of such a setup. Can you elaborate on your setup and requirements please?

The PCBs are not expensive, 5 of them cost about $300. This was only possible by completing the routing on "only" 10 layers, and without blind or buried vias. Not easy, given the 1mm and 0.8mm BGAs with 16x16=256 and 22x22=484 pins, and 56+8 LVDS pairs needed! I *think* you're joking about gold-plated paths - there is standard gold-plated ENIG finish on the boards, but that's not very costly. The usual FR4 does just fine up to a few GHz. Of course you want to specify the stack up and design the traces (and differential traces) to be 50 Ohm, but nothing special is required.
The main cost of the device is the components. Things with 2+ GHz of bandwidth are not cheap. The ADC alone is $180, in quantity 100. Even the relays are $15 each. But it's still going to be *much* cheaper than any other scope out there with 2 GHz bandwidth. Pricing will be announced soon when the CrowdSupply campaign goes live. And early supporters will get a good discount. Sign up on that page for updates.

Quote
Thanks. There is an external trigger in (SMA on back panel), which could be driven with an external 10 MHz square wave. You would then still be triggering off of the internal ADC clock (800 MHz), but immediately after an edge of your 10 MHz clock. So you'd have ~1 ns of jitter with respect to your external 10 MHz clock edges.
If that is not acceptable jitter performance, there is an external clock input (SMA) that could be used to drive the whole scope, replacing the 50 MHz oscillator on board. But I hadn't planned to route that connection to the back (or front) panel. It's just sitting next to the FPGA.
Some oscilloscopes are equipped with ext clk input. This allows you to synchronize the clock of the device under test, which is supposed to allow for a lower demand for sampling rate. One such oscilloscope is the rigol DHXXX series. That's why I asked. So I would have to connect the clock of the device under test to the point where the signal from the 50mhz oscillator reaches the pcb from your project?

Quote
The PCBs are not expensive, 5 of them cost about $300. This was only possible by completing the routing on "only" 10 layers, and without blind or buried vias. Not easy, given the 1mm and 0.8mm BGAs with 16x16=256 and 22x22=484 pins, and 56+8 LVDS pairs needed! I *think* you're joking about gold-plated paths - there is standard gold-plated ENIG finish on the boards, but that's not very costly. The usual FR4 does just fine up to a few GHz. Of course you want to specify the stack up and design the traces (and differential traces) to be 50 Ohm, but nothing special is required.
The main cost of the device is the components. Things with 2+ GHz of bandwidth are not cheap. The ADC alone is $180, in quantity 100. Even the relays are $15 each. But it's still going to be *much* cheaper than any other scope out there with 2 GHz bandwidth. Pricing will be announced soon when the CrowdSupply campaign goes
I have never made multilayer pcb to order in China that's why I asked. From what I see the minimum order quantity is 5 pcb in jlpcb. I just asked because I don't want to screw something up while placing the order or I can consider buying a ready device from you.

Quote
Pricing will be announced soon when the CrowdSupply campaign goes live. And early supporters will get a good discount. Sign up on that page for updates.
ok thx I added my email address via crowdsupply
 

Offline haastyleTopic starter

  • Contributor
  • Posts: 43
  • Country: us
Re: HaasoscopePro open-source 2 GHz oscilloscope!
« Reply #17 on: February 03, 2025, 09:44:27 pm »
Thanks for signing up for updates.
This is the page where others can sign up for updates: https://www.crowdsupply.com/andy-haas/haasoscope-pro
Expecting to launch this month.

Some oscilloscopes are equipped with ext clk input. This allows you to synchronize the clock of the device under test, which is supposed to allow for a lower demand for sampling rate. One such oscilloscope is the rigol DHXXX series. That's why I asked. So I would have to connect the clock of the device under test to the point where the signal from the 50mhz oscillator reaches the pcb from your project?


Yes, sort of. You would connect your external clock to the SMA input near the FPGA on the PCB. The firmware / software can select between the internal 50 MHz oscillator and an external clock input.
(Usually the external clock input is the LVDS signal from another Haasoscope Pro. This is how syncing of multiple units is done. But it's easy to take the external clock input from any source you like.)
 

Offline sdouble

  • Frequent Contributor
  • **
  • Posts: 281
  • Country: fr
Re: HaasoscopePro open-source 2 GHz oscilloscope!
« Reply #18 on: February 06, 2025, 02:48:11 pm »
My 2 cents :
1)foresee a rack mounted card to accomodate many more than 1 module
2) a 2 channel module is rather limited. Think about a 4 channel version.
3) an external clock or synchronization signal would be nice to snchonize many cards. You may think about a "master" clock or sync board for that purpose.
4) syncronization should allow  50- 100 ps jitter between boards.
5) ENOB is a key parameter.
6) You may want to integrate a low noise VGA in the input stage to accomodate for different input signal range.
7) you may consider a SMA input option.
« Last Edit: February 06, 2025, 02:52:00 pm by sdouble »
 

Online nctnico

  • Super Contributor
  • ***
  • Posts: 28502
  • Country: nl
    • NCT Developments
Re: HaasoscopePro open-source 2 GHz oscilloscope!
« Reply #19 on: February 09, 2025, 12:36:09 am »
The schematics are still horrible!  The key to good schematics is to connect the signals so people can follow the signal flow. Stuff like power and SPI / I2C can be put on a schematic as labels (or made part of a bus) but the signals should really be drawn between the parts in a schematic.

Please look at the latest ones. They've come a long way.
https://github.com/drandyhaas/HaasoscopePro/blob/main/adc%20board%2Fhaasoscope_pro_adc_fpga_board_schematics.pdf

I'm happy to take specific suggestions!
Didn't see your reply until now...

For clarity, I'd draw the relay contacts as seperate symbols in the schematic instead of big blobs with many contacts. That way you can really make a clear diagram on how the analog signals flow. And it also groups the control signals together in a logical way as a consequence.

There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline haastyleTopic starter

  • Contributor
  • Posts: 43
  • Country: us
Re: HaasoscopePro open-source 2 GHz oscilloscope!
« Reply #20 on: February 10, 2025, 01:47:02 pm »
My 2 cents :
1)foresee a rack mounted card to accomodate many more than 1 module
2) a 2 channel module is rather limited. Think about a 4 channel version.
3) an external clock or synchronization signal would be nice to snchonize many cards. You may think about a "master" clock or sync board for that purpose.
4) syncronization should allow  50- 100 ps jitter between boards.
5) ENOB is a key parameter.
6) You may want to integrate a low noise VGA in the input stage to accomodate for different input signal range.
7) you may consider a SMA input option.

Thanks for all these ideas! I think we're already on the same page. Expandability was a key design element from the beginning, even for the original Haasoscope.

1) The aluminum case has internal rails that the board slides into. A rack would just need to be a larger version of the case.
2) To get 4 channels, you just combine 2 haasoscope pros. They can stack on top of each other or side by side.
3) Syncing units is done through a sigle cat5 "Ethernet" cable that goes between units. The clock from the first board is replicated to downstream units.
4) The board to board jitter is at the 10-20 ps level already, limited by the Altera Pll jitter.
5) So far I've specified the same info via noise floor and input range, which seems to be more standard in the scope specs for other brands. Enob is about 10 at max sample rate, limited by the adc, but approaches 12 as the rate is lowered, thanks to sample averaging.
6) There is a vga, the lmh6401.
7) I did consider sma. They are easier, cheaper, and better bandwidth. But bnc is the standard for scopes, and we seem to be stuck with it.
 

Online nctnico

  • Super Contributor
  • ***
  • Posts: 28502
  • Country: nl
    • NCT Developments
Re: HaasoscopePro open-source 2 GHz oscilloscope!
« Reply #21 on: Today at 01:48:59 pm »
I don't see how you want to interleave two ADCs on different boards using a clock with 20ps jitter. Actually, a typical clock from a DPLL in an FPGA is useless for an ADC due to the excessive jitter. You'll need an external, low phase noise (analog) PLL. Some ADCs have clock cleaners inside them but you'd need to phase-sync these somehow when interleaving several ADCs. AFAIK this is already hard to do on a single board, let alone two seperate boxes.
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline haastyleTopic starter

  • Contributor
  • Posts: 43
  • Country: us
Re: HaasoscopePro open-source 2 GHz oscilloscope!
« Reply #22 on: Today at 02:13:52 pm »
I don't see how you want to interleave two ADCs on different boards using a clock with 20ps jitter. Actually, a typical clock from a DPLL in an FPGA is useless for an ADC due to the excessive jitter. You'll need an external, low phase noise (analog) PLL. Some ADCs have clock cleaners inside them but you'd need to phase-sync these somehow when interleaving several ADCs. AFAIK this is already hard to do on a single board, let alone two seperate boxes.

The FPGAs will have up to 20 ps jitter between boards, but the ADCs are driven by a PLL chip on each board - the ADF4350, which has <0.5 ps of jitter at 1600 MHz. Works great.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf