Here are the slides I made up for the static display of the STM at OSS this weekend:
Testing Update: Getting Warmer
Here’s the latest:
I’m working to get the STM working as fast as possible, but it’s not 100% – I’ve got basic functionality tested and working, but no images yet – I’m hoping to have images within a month or so.
Current work:
- A new scanning head
- Complete the mechanical supports and approach mechanism (current state photo of the mechanicals, above)
- Programming the arduino and the python script that gathers the image data
- Final electronics testing
- Getting everything prepared for air flight (expect a post in the near future on preparing electronics for TSA inspection)
Here is a video of my latest tests – the digital side talking to the analog side and driving the scanning head (faintly):
If that’s not enough for you, here is some good background info to read about STMs:
Introduction to Scanning Probe Microscopy
Wikipedia Scanning Tunneling Microscope (STM) article
And you may be interested in the ChemHacker youtube channel. It’s a bit sparse now, but keep an eye out for updates as this project proceeds.
STM update: serial control (SPI) is working
As I mentioned earlier, I’m working on programming an arduino interface for the ChemHacker STM.
The arduino currently has to handle the following tasks:
- serial control of the five digital potentiometers (amplifier gain control)
- serial control of the 24 bit DAC (signal input to the microscope)
- analog signal processing from the microscope (via built-in ADC lines)
- serial data to the computer of the scanned data (for image processing)
A future task for the arduino may be:
- automated control of a stepper motor (for sample approach and control)
My road map for programming is as follows:
- establish serial control of the potentiometers
- establish serial control of the DAC
- establish signal into the ADCs
- establish serial data line to computer (and figure out some kind of live image processing system)
- interface with microscope circuit(s)
- establish stable scanning
As always, things take more time than you think – I foolishly thought I could get steps 1 and 2 done in a few weeks. After nearly a month of struggling, I finally have (1) accomplished, and with some help from some excellent electronic engineers, I’m quickly closing on (2).
Many many thanks to all the people who publish their SPI code on various Arduino boards, without your examples, I never would have gotten this far…
Here’s what I’ve learned from weeks of banging my head into walls: the entire SPI setup must be used for the arduino’s SPI to activate – that includes declaring pins you don’t intend to use (like the MISO and the SLAVESELECT)
Project Announcement: Design/Build of an STM
As I mentioned in yesterday’s radio interview, I’ve been working diligently on a DIY Scanning-Tunneling Microscope (STM).
The device I’m building will be significantly cheaper than the $15k a student level machine would cost, and will hopefully reach that range of performance. I’m certainly not expecting to build a device that can have the accuracy to do real research for only a few hundred dollars, but I’m hopeful that we can achieve modest results.
Right now, I’m basing the design on the work of John Alexander, but we (my electrical engineering and software gurus and I) will be extending and improving this design for microprocessor control and trace capture. I’m also contacting some of the recent builders of this class of device to hear their opinions and advice. I really am standing on the shoulders of giants here, and by basing my work on that of a lot of (very) brilliant people, I hope to be able to achieve success.
[Project goals, current, and future state after the jump...] Read the rest of this entry »

