Archive for the ‘Uncategorized’ Category.

5517B Laser Tripod Mount

The 5517B is a dual frequency zeeman laser produced by HP/Agilent/Keysight for  interferometry applications. When you buy  it as a kit it often comes with a tripod, but most of the systems that turn up on eBay don’t have this tripod. When I’ve seen the tripods for sale, they’re about 1000USD.

So I 3D printed a really simple jig, you can find the STL files here: lasermount

It’s designed to fit a specific “bowl mount” tripod. This is the one I picked up on eBay: tripod.









Veeco/Bruker AFM (nanosope) head teardown pics

Some time ago I picked up a Veeco/Bruker AFM on eBay. The lot only contained the probe microscope itself (similar to that shown to the left). So, the control unit (a 2U box to electronics which contains among other things the high voltage drivers for the Piezo tube etc) was missing. One of the connectors was also damaged (unusable). They use fancy expensive connectors so replacing this one connector would cost about 100USD (the whole used unit was 400USD). For reference a complete new system is somewhere in the region of 200,000USD…

Anyway… I was pulling it apart recently and wanted to post some internal pics of the unit. These instruments are actually pretty simple (though I’ve not pulled apart the optical part just which I think is mostly just a quadrant photodiode…).




Mostly I was interested in how they do the coarse approach,  here’s a picture of the complete coarse approach system extracted from the AFM:

The coarse approach uses a Portescap 30:1 geared stepper motor. This appears to be nothing particularly special, though it’s pretty low profile. That’s connected to a coupler. The coupler itself is kind of interesting. It connects the motor (using grub screws) to a adjuster on the Piezo head/stage. The connection to the stage does not use grub screws. This uses a hex/allen type head which just sits loosely in the coupler. I think this means that when the stepper is not engaged there’s less mechanical coupling between these parts. This possibly helps with vibration isolation. I found it interesting anyway, and I’d be curious to know where you can buy these kinds of couples (and the adjuster which the hex end). The adjuster looks to be something like 100TPI, though I didn’t measure it exactly.

The head itself, looks very hand made. You can see the piezotube and the solder connections to this without disassembling the unit. For the coarse approach, there are 3 adjusters. The one that is driver by the stepper (shown above) and two others hand driven (with knobs on) when setting up the instrument you’re supposed to do some manual adjustment before starting the approach to get the head kind of close (and the orientation right).

I’ve not looked closely at the rest of the electronics in the unit. I’d guess there’s nothing super interesting going on. It didn’t look like any of the high voltage drive electronics was present (the Piezo tube needs ~100V drive voltage).




Anyway… a bunch more pictures follow for reference:




uMD1 – ChipKIT 32 – HP Interferometer Interface

I’ve put together a simple interface for use with Sam’s and Jan’s HP Interferometer code for the ChipKIT 32. It’s really just a layout of the design listed on their site, however avoids some wire-wrapping. You can find the Kicad files and gerbers on github.

I decided to use all through-hole components to make it easy to assemble. In a future revision I might move to SMD, the mounting points need re-positioning. I’d also like to try laying out the PIC32 on the same board. The board however works well for me, and it depends if I get any interest in developing it further. If you’d like one let me know and I’ll put it in my shop.

The board I’ve designed routes power traces to terminal blocks to which the receiver and laser head are attached. This helps simplify wiring.

uMD1 Build Notes

These are my notes on building Sam and Jan’s interferometer signal processing firmware for the Chipkit DP32.

First download the firmware, this is the version I used: (local copy (gz)).

Then install UECIDE, download it here: I used the latest version on Linux (

Next in Tools->Plugin Manager select Boards->chipKIT->chipKIT DP32 and then select “install”… wait.

Next in Tools->Plugin Manager select Compilers->PIC32->PIC32 Compiler for MX version 4.5.2 and then select “install”… wait.

Make sure the plugins have actually installed. UECIDE fails silently if you run out of disk space…

Open the ino file above (File-Open) it’ll move it into a scratch area. Select Hardware->Boards->chipKIT->chipKIT DP32

Select Hardware->Compilers->pic32-tools-452

In a text editor open: .uecide/compilers/pic32-tools-452/pic32mx/include/plib.h, comment out line 61 (#include <peripheral/ports.h).

Hit compile, hope for the best.

Remove all the jumpers from the chipKIT 32 board. Reinstall one jumper on JP7 furthest from the terminal block, the position is labeled VBUS.

Plug the board into a USB port. Press Press RESET and PGM buttons at the same time. Release RESET then PGM.

In UECIDE select Hardware->Device and then whichever serial port the chipKIT 32 is connected to.

Select Hardware->Programmers->Upload to chipKIT board via avrdude.

Press “Program”. Hope for the best again.

If everything has worked correctly you should be able to see the chipKIT throwing out numbers in serial console. Seemly baudrate settings don’t matter.