Tom Verbeure's Avatar

Tom Verbeure

@tomverbeure.bsky.social

Plays with FPGAs. There can never be enough LEDs. Hardware engineer at Nvidia, but my views here are my own. he/him. Also @tom_verbeure at the woolly elephant and the former bird site

393 Followers  |  162 Following  |  422 Posts  |  Joined: 10.06.2023
Posts Following

Posts by Tom Verbeure (@tomverbeure.bsky.social)

Preview
tomverbeure.github.io/assets/polyphase/polyphase_het at master Β· tomverbeure/tomverbeure.github.io Contribute to tomverbeure/tomverbeure.github.io development by creating an account on GitHub.

It’s all draw.io. The snapping can be infuriating at times, but after a while you figure out patterns to avoid issues.
You can find the file here: github.com/tomverbeure/....

18.02.2026 17:03 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Diagram of a single channel polyphase filter bank

Diagram of a single channel polyphase filter bank

Diagram of a multi-channel polyphase filter bank

Diagram of a multi-channel polyphase filter bank

Spectrum of a signal with multiple channels

Spectrum of a signal with multiple channels

Spectra of the individual channels at the exit of the channelizer

Spectra of the individual channels at the exit of the channelizer

The Stunning Efficiency and Beauty of the Polyphase Channelizer

tomverbeure.github.io/2026/02/16/P...

17.02.2026 04:06 β€” πŸ‘ 9    πŸ” 2    πŸ’¬ 1    πŸ“Œ 0
Homemade GPS Receiver

Welp, now I'm this again: www.aholme.co.uk/GPS/Main.htm

15.02.2026 00:32 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Complex Heterodynes Explained

Looks like the link was broken? Here's the corrected one: tomverbeure.github.io/2026/02/07/C...

08.02.2026 05:56 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Of course! Go for it!

08.02.2026 05:53 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Block diagram of the complex heterodyne with decimation

Block diagram of the complex heterodyne with decimation

Spectrum of real heterodyne before and after

Spectrum of real heterodyne before and after

Spectrum of complex heterodyne before and after

Spectrum of complex heterodyne before and after

Complex Heterodynes Explained

tomverbeure.github.io/2026/02/07/C...

08.02.2026 02:58 β€” πŸ‘ 9    πŸ” 1    πŸ’¬ 3    πŸ“Œ 0
Block diagram of an FIR decimation filter split into 3 separate phases.

Block diagram of an FIR decimation filter split into 3 separate phases.

Notes about Basic Polyphase Decimation Filters

tomverbeure.github.io/2026/01/25/N...

26.01.2026 06:28 β€” πŸ‘ 4    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0
Preview
Repairing a Self-Destructing SRS DG535 Digital Delay Generator Hackaday Article

Repairing a Self-Destructing SRS DG535 Digital Delay Generator

07.01.2026 09:06 β€” πŸ‘ 118    πŸ” 16    πŸ’¬ 7    πŸ“Œ 1

Thanks! SRS must have some kind of test jig to debug those boards in isolation. It would have been nice to at least mention this in the manual (though I probably would have read over it.)

25.12.2025 15:18 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
SRS DG535 folded open

SRS DG535 folded open

Logic analyzer probes on Z80 of an SRS DG535

Logic analyzer probes on Z80 of an SRS DG535

Power schematic of SRS DG535

Power schematic of SRS DG535

SRS DG535 up and running with new LCD panel

SRS DG535 up and running with new LCD panel

The Scenic Route to Repairing a Self-Destructing SRS DG535 Digital Delay Generator

tomverbeure.github.io/2025/12/24/R...

25.12.2025 08:21 β€” πŸ‘ 5    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0

GPS is a great subject to learn DSP concepts.

12.12.2025 21:06 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Gorgeous! I could watch a 2 hour video where you route that thing. I try to make my PCB routing look nice, but it never comes close this.

08.12.2025 20:55 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

I currently don’t have a use for git-pages, but I read the whole thing. That’s a good sign. The documentation and writing style is great.

08.12.2025 16:02 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Game Gear - TechWiki

Yes, they are! I had never seen these kind of caps before.

wiki.console5.com/wiki/Game_Gear

04.11.2025 13:53 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
TDS220 screen showing horizontal band screen corruption

TDS220 screen showing horizontal band screen corruption

PCB inside LCD panel

PCB inside LCD panel

TDS220 screen showing probe compensation waveform that's definitely not right.

TDS220 screen showing probe compensation waveform that's definitely not right.

TDS220 PSU PCB with arrows to places where there's fluid residue that shouldn't be there.

TDS220 PSU PCB with arrows to places where there's fluid residue that shouldn't be there.

Fixing LCD Screen Corruption of a Tektronix TDS220 Oscilloscope (and other fixes)

tomverbeure.github.io/2025/11/03/T...

04.11.2025 07:14 β€” πŸ‘ 10    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

I didn’t know I needed this, and now I do.

02.11.2025 22:30 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Isotemp OXCO107-10 outside label

Isotemp OXCO107-10 outside label

Inside of the OCXO, showing a Dewar flash and internal electronics.

Inside of the OCXO, showing a Dewar flash and internal electronics.

Lab bench with oscilloscope, power supply, spectrum analyzer and OCXO

Lab bench with oscilloscope, power supply, spectrum analyzer and OCXO

Spectrum with harmonics

Spectrum with harmonics

Inside an Isotemp OCXO107-10 Oven Controlled Crystal Oscillator

tomverbeure.github.io/2025/10/26/I...

27.10.2025 05:08 β€” πŸ‘ 7    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

OTOH, I paid for the 16 channel MSO option on my scope, but I’ve never used it. The scope UI is just to terrible and slow compared to a Saleae or DSLogic SW.

22.10.2025 15:39 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

The easy of sending data to your PC for decoding and the length of traces. I’ve used a USB logic analyzer to extract the full contents of a large SPI PROM, for example.

22.10.2025 15:36 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

I had the 150-in-1. Spent a ton of time on it, but looking back, most of it was building stuff without having a clue about what I was doing. For some circuits, that would still be true today. :-)

20.10.2025 14:09 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Maybe I missed it in the (interesting!) article, but while it mentions radiation intensity, it doesn’t say how it compares to the actual radiation intensity in the LEO where the cubesat resides?

08.10.2025 16:01 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image

My new article on Harold Black and the invention of the Negative Feedback Amplifier has just been posted. I start the story with the invention of the telephone in the 1870s, to a patent lawsuit in the 1940s.

Check it out. Let me know what you think.

emedia.digikey.com/eMagazine-Vo...

06.10.2025 16:10 β€” πŸ‘ 6    πŸ” 2    πŸ’¬ 2    πŸ“Œ 0

The article is excellent!

06.10.2025 17:01 β€” πŸ‘ 1    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0

The longevity of the Cyclone II EP2C5 is amazing. 21 years after introduction, it’s still the FPGA that I use most for hobby projects.

05.10.2025 19:32 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Based on the Unix versions available on tuhs.org, all of this appears to
have been introduced in 4.1c BSD. This is the version that adds
IPPORT_RESERVED to netinet/in.h and has the TCP/UDP port binding
code check it in in_pcbbind in netinet/in pcb.c. In case you think the
BSD people thought that this was an elegant idea, let me show you the
code:

if (lport) {
u_short aport = htons (lport) ;
int wild = 0;
/* GROSS */
if (aport < IPPORT_RESERVED && u.u_uid != 0) return (EACCES) ;
[...1

The BSD people knew this was a hack; they just did it anyway,
probably because it was a very handy hack in their trusted local
network environment. Unix has quietly inherited it ever since.

Based on the Unix versions available on tuhs.org, all of this appears to have been introduced in 4.1c BSD. This is the version that adds IPPORT_RESERVED to netinet/in.h and has the TCP/UDP port binding code check it in in_pcbbind in netinet/in pcb.c. In case you think the BSD people thought that this was an elegant idea, let me show you the code: if (lport) { u_short aport = htons (lport) ; int wild = 0; /* GROSS */ if (aport < IPPORT_RESERVED && u.u_uid != 0) return (EACCES) ; [...1 The BSD people knew this was a hack; they just did it anyway, probably because it was a very handy hack in their trusted local network environment. Unix has quietly inherited it ever since.

I'm writing about self-hosting and got wondering why ports <1024 are privileged on Linux, and require you to be root to bind to them.

Found this explanation and couldn't help but laugh. I'd always thought it was a bit of a hack.

utcc.utoronto.ca/~cks/space/b...

01.10.2025 09:53 β€” πŸ‘ 53    πŸ” 5    πŸ’¬ 3    πŸ“Œ 0
Video thumbnail

Want easy capsense touchpad buttons? Just a PCB & 4 resistors. Coming soon to my Tindie store! If you want to make your own, files are here: github.com/todbot/touch...
This demo in CircuitPython but also works in Arduino w/ my TouchyTouch lib
#circuitpython #capsense #captouch #raspberrypipico

29.09.2025 23:10 β€” πŸ‘ 19    πŸ” 2    πŸ’¬ 1    πŸ“Œ 0

Yeah, if that’s all you’re pulling it should be totally fine.

29.09.2025 22:46 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

The 7805 is a linear voltage regulator. Its power consumption will be the current through it times the voltage drop. You have a pretty large drop of 14V, so the heat produced in the regulator could be significant. Something to keep in mind.

29.09.2025 21:25 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0

Cecilia Payne-Gaposchkin ✨ figured out what stars are made of ✨ when she was just 25. πŸ”­πŸ§ͺ

Her PhD thesis basically established the Harvard astro department β€” at a time when Harvard didn't officially allow woman students.

I wrote this little profile to mark the 100th anniversary of her thesis:

24.09.2025 09:14 β€” πŸ‘ 1880    πŸ” 867    πŸ’¬ 22    πŸ“Œ 36

My projects that require custom PCBs are on hold. πŸ₯Ί

22.08.2025 16:19 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0