Due to the open nature of our driver system, it’s relatively straightforward to write a new driver file for almost any imaginable device in Nebula. However, driver development can be a pain, so I though I’d share some debugging tricks.
For all commands, we will navigate to the command line using windows Command prompt or powershell. Here I show command prompt syntax. Nebula is commonly installed under program files. So in the windows start bar type “cmd” and press enter. This should open the command prompt. The commands below navigate to the install location.
First, is the use of logging to the command line. When Nebula is launched from the command line, a series of optional switches can be used to report logged output. By opening this alongside the app, it’s very fast to figure out what or where something is going wrong. To see log output, use –printlog.
c:\Program Files\Nebula>Nebula.exe --printlog
This launches the app, but shows a live log output on the console at the same time.
Get a full list of Supported Drivers
This command will return a complete list of drivers found in the Nebula supported list. To print this list, use:
c:\Program Files\Nebula>Nebula.exe --listdrivers
Here is live example of that command and the expected result. A list of drivers is shown, press enter to close the listing.
Testing a specific Driver File
Next, let’s load up one of these drivers in the test utility. Now, this is where things get cool! The test utility can load a host device driver, inspect it’s shown devices, attempt to connect them, and even test every sub-device!
So, let’s assume we have a new camera driver we want to work on. The camera should do things like snap an image, show various properties etc. In my example I use a real UVC (web) camera, and inspect the driver. The driver actually pulls the real camera info and even snaps a test image. The goal of this function is twofold, first to validate a given driver, and second to validate the device itself.
For this command we will use –testdriver *drivername* and optionally –port *portname*, for example, COM5
Here we can watch the expected output in real time. Note a new window is spawned to show us the results for these tests.
Testing Host and Sub Devices
Let’s say we have a controller, for example, an ASI or Marzhauser box, which has a Z motor attached. In Nebula, the controller can be thought of as the Host (the resident controlling brain), and the device can be considered an appendage attached to the host. So all drivers must have a Host, but a Host may only have one device. In this example, we use a demo Focus device. First the host is loaded and analyzed, and then, you ca select to test any device provided by that host. I choose option # 1 (focus) and the test runs, even showing my driver has a small error I missed!
Obviously, if you have a driver which isn’t behaving, please contact us – yet I hope these options provide a first-line of interface for power users, so simple things can be corrected and analyzed quickly!
While this is an old subject in terms of technology, I find that every few years I end up describing it to a new group. Surprisingly to me, every time people seem to appreciate the information, and I think it’s just not covered often in broader imaging trainings. So today I’m writing about a favorite subject of mine – TTL control. To do this I’ll be referencing some fun technology – namely:
For illustration of the device control, I’ve captured a few real example frames from my oscilloscope, but also added some simulated oscilloscope examples that I hope will better depict the work behind the scenes for these devices.
I think it’s most important to frame this in a question,
When my software controls devices, how fast do they respond?
Assume we click a shutter button in any software. This can be for a laser, an LED, even an old mechanical shutter. In every case a bunch of things must happen for the end device to actually change it’s state. For that state (let’s say, “OFF” to change to “ON”,
the software must accept the command
and issue control signals to the device connection.
That connection talks to the device controller (normally, a microcontroller)
The microcontroller reads the command and does what it’s told
The state changes.
Now, along the way, each device has a communication bus, and each bus has a traffic control system to insure multiple communications don’t conflict. As a result, the timing from the start of the button click to the end is variable – sometimes, up to 20 milliseconds!
Now, because the software is typically programmed to “confirm” each thing it does, it doesn’t just shout orders into the dark. Instead, the software waits for a confirmation, or acknowledgment, of the command being received, and oftentimes it will confirm the new state is active.
Consider this means a new set of jobs which must be completed.
The device controller changes state
The device controller then replies, or reports state
The communication connection on the PC receives the reply
The software reads the reply, and confirms it’s correct
The software continues to the next job.
And so again, we can see a stack-up of not only delay, but a variable amount of delay.
If we visualize this in a graphic example like the one below, we can see the software code is sent to an LED microcontroller, the command is processed, and the led illuminates. However, we can also see there is a lot of room for improvement!
LED Control via Software (PC → LED Controller → GPIO)
A host PC issues serial commands. The LED Controller parses each command and drives a GPIO pin. The oscilloscope captures the resulting digital waveform on PA5.
OSCILLOSCOPE · CH1 — GPIO PA5RUN 1V / div · 500 ms / div
Another way to look at this control is what happens with a typical complex instrument. Below is a video where I control 3 devices. The PCO Camera, a Zaber filter turret, and the Tetrem. Notice how long it takes just to get 3 time points for 2 channels. The exposure is short, that's not the issue - the issue here is of course, the devices need to move, but also each device must receive + process + move + report positions, and this takes a long time.
TTL Control -> Old + Fast = Awesome
So what is TTL? Basically, nothing more than an on/off switch! Just like a light switch allows an electrical signal to feed a light, TTL uses a voltage to send a signal to another device. You can find a thorough history on this communication method here if interested.
What we care about is that we have an on/off control system. Because it's nothing more than a voltage, no crazy translations need to happen for things to immediately react. If a TTL control line is on, or "High", then the device should be doing whatever ON is. Many devices have this input, but few people even know about it! For example, most Focus controllers, XY Stages, Peristaltic Pumps, Perfusion systems, and many other devices like lasers, shutters, and actuators accept a TTL input for control.
TTL Logic typically comes in 2 flavors. Older systems will use 5V for "on" and 0V for "off". The device being controlled might use thresholds or a midpoint. Some devices, assuming you give them at least 2.5V, will go active. Others want at least 4V or 4.5V before they enable. Newer devices often use 3.3v control. This is the same concept as 5V, just with lower voltages. One word of caution here - before connecting things up, it's good to confirm the logic of your devices. Generally, the amount of power these use is quite low, and signal inputs won't break things - but in the case of an exposed microcontroller pin, you can definitely cook a 3.3v input with a 5V line!
TTL Blanking - A partial Solution
So what can be done about this overhead? First, we can consider that the only time we really need the illumination on, is when the camera is truly collecting data. One way to do this is to use the I/O control cables found on most scientific cameras. In my case I routed the expose signal from the edge camera into the Tetrem on a single channel, and then, told the tetrem in my software to use "TTL Control". With these changes, the LED source now waits for a TTL input to go high, before it enables it's emission.
So now, let's assume that when the camera is exposing, we can enable the LED line. The software can act as a logical "AND" if needed, but the line won't enable unless there is real collection of light by the camera. You can see an example of this below.
Software-Commanded vs. TTL-Triggered LED Control
A single event fires two paths simultaneously: the PC issues a serial command (software path), while a TTL line drives the controller directly (hardware path). The oscilloscope shows the resulting latency gap.
OSCILLOSCOPE · 3-CH · ALIGNED TIMEBASERUN 1V / div · 10 ms / div
For the example, the yellow line is the camera output, or trigger output, the teal line is the LED B brightness result, and the purple line is the software-only reaction. In this example, we can see the delay (latency) of the response, yet in most software, the purple line will illuminate before the camera exposure. What this means for research is your cells are being exposed to excitation energy, and you aren't even collecting that light onto a sensor! So, we are in effect just cooking cells for fun. NOT GOOD!
Oscilloscope reading TTL from PCO camera
Using the Triggerscope for State Control of Devices
This is great for a single LED, but how can we control more than 1 channel? For this, we would use a logic controller like the Triggerscope Mini! With the mini, the camera expose line is routed to it's TRIG input, and up to 4 output channels are connected to it's TTL control pins.
Triggerscope Mini with Tetrem Controller for intensity
With this done, we can assign an active line using the triggerscope. This provides fast easy state switching, and can even be done over multiple devices. Doing this will mean, for this example, we won't be moving our filter cube device. Instead, we would use a multi-band dichroic. However we can switch the LED excitation, and that's how we will gain some speed here.
In the example above, we see a high speed switch. This is simply by telling the Triggerscope Mini to change channels, instead of the LED. But - there is still more to do to improve our speed!
Streaming for the Win
The above example uses the triggerscope via USB, and while we only have 1 device, we are still using a "set + capture + set + capture" type of sequence. What if we just told the camera, "run as FAST as you can." Then, we used the output signal from the camera to count frames, and we told the triggerscope, "every other frame, switch from LED 1 to LED 2, then back to 1". THIS is the power of "Streaming", or also called "Sequencing". With this capability, we pre-load stuff to do into the triggerscope. Then, we arm the triggerscope. With that done, our triggerscope is sitting, locked into a state, simply waiting to receive camera frame TTL inputs. Below is a graphical depiction of this technique.
Now, we tell the camera, "Give us 2 channels * 10 frames = 20 pictures, and do so as fast as possible". In effect, "give us video of 20 frames".
In this method, there is zero control overhead. The camera free-runs, the triggerscope switches, and the LED reacts. Below is a video example of this, note also there is a small in-view live feed from a web camera (for all these video samples), and you can see that, indeed, streaming is crazy fast! For the below example, we've tied the camera "transfer" line into the triggerscope. This way, the triggerscope recieves a brief pulse before capture occurs. We enable on the "low" side of the signal, and illuminate. You can see for the CMOS style readout on the left of the example, once readout is done, the channel switches.
Trigger Switch — Camera-Driven LED Sequencing via Triggerscope
Each time the camera completes a frame, it emits a TTL pulse. The Triggerscope (Advanced Research Consulting) uses that pulse to advance its state machine and re-route its outputs — alternating TTL1 and TTL2 to the LED Controller so LED1 and LED2 illuminate consecutive frames.
OSCILLOSCOPE · 3-CH · CAMERA-SYNCHRONIZEDRUN 1V / div · ~16 ms / div
So what does the above look like in real life? Check out this example below! Note that I select in my "lambda" control box the "Stream" checkbox. Then once start capture is pressed, the triggerscope is armed, the camera is readied, and we snag 20 images in < 300ms!
Of course, we can extend this using the 5V DAC control line on the triggerscope for capture of Z as well as channel, and if using the more capable triggerscope 4B, we can control even more devices.
I hope this article has helped explain not only why I make devices such as the triggerscope, but also how it's important to use software that provides complete control for your light sources and other devices, as well as the ability to do things like this. My sincere thanks to Excelitas for lending me the Edge camera and Tetrem LED, both of which have worked flawlessly on my system. Nebula has drivers for both products fully integrated for streaming control if you have interest in using it.
Thomas Spieker from Opto Gmbh was kind enough to send us a demo assembly of several microscopes made by his company. Opto manufactures a series of highly integrated microscope modules, all provided in a small, integrated form factor.
I was able to work with two different variations. One is a complete transmitted illumination setup with camera and objective at 20x. The second is a reflected light device with integrated LED illuminators.
It’s neat to see such a compact setup on the desk. Using the 20x with a typical gut section stained sample was a piece of cake. Field uniformity on the illuminator was great, and color balance was as expected.
The reflected design unit has both a coaxial and ring-style illuminator position – both are provided in Nebula as control LED options.
Use of the camera was straightforward. It supports 8 and 12 bit readout on a color sensor. I can definitely imagine hooking this up to a small XYZ gantry or even a 3d printer for inspection use. Thanks to Opto for the demo unit!
Here is a video review and live demo of hte unit while running on Starlyte Nebula.
Recently, I had two different requests to support the cameras manufactured by Touptek. Ash from Scientific Imaging was kind enough to let me borrow one for in-house integration and testing.
These cameras support Sony IMX-174 sensors, use a USB 3.1 (locking!) cable, and are straightforward to hook up and use. A GPIO connection is provided for I/O, and some models also have opto-isolated IO as well.
Binning, ROI and bit depth readout modes are also supported.
The camera I had hands on had a color version of the sensor, and while today has been a lot of rain, I was able to get a gloomy scene outside for my demo video below.
For questions on running this camera in Nebula, please contact us at www.starlyteimaging.com
If you are interested in these cameras, please contact Scientific Imaging.
Here is a brief video demo of the camera in Starlyte Nebula!
Starlyte Imaging has completed support for Allied Vision array scan cameras. The driver suite fully supports:
Gain modes
Color & Bit Depth selection
Mono / Color Debayering
This addition enables users with existing cameras to easily integrate Nebula on machines used for inspection, materials processing, and other industrial applications.
Below is a short video introducing the Triggerscope Mini, as well as demonstrating how to set it up in micromanager.
If you’re in a hurry, I’ve also outlined the basic steps below with screen shots.
Connect the triggerscope mini to a USB-2 compliant port, via it’s USB C connection cable (included).
Open micromanager, select the device configuration wizard, and browse to the add device page.
Scroll the device list until you see “Triggerscope-MM” expand that and select the -Hub device.
A window will appear, set the COM port to the port used by the triggerscope mini, and set the baud to 115,200, then click OK.
After a few seconds, a list of components will appear. Note this is for the full triggerscope, so we will only choose the TTL 1-8 Bank, and DAC 1 + DAC 2. Below is a basic chart showing what devices are supported on the mini vs the standard triggerscope.
When prompted for the DAC voltages, only select 0-5V (default), and click OK.
That’s it! Follow the manager to complete the install. Once done, you’ll have the common TTL output control, DAC control, blanking, sequencing and other features of a standard triggerscope!
How well can modern AI agents produce engineering designs for optics? Well – I wanted to find out.
To test this, I’ll walk through my goal. I need to get a lens made and I need it fast. I also need it to work properly. Lastly, I need it to be manufacturable at scale which means using glass substitutes often found in China.
So – using Claude Chat, I took performance specs from several existing lenses, handed them over and added:
“Make me a lens design that meets these general performance criteria.”
I also asked :
Use Chinese available glass (e.g. K series)
Validate the design using a raytrace
produce estimated performance data
produce design drawings
produce a prescription
produce a ZMX file
Here is the design it produced, it sure doesn’t look bad so far!
After a while it decided to build it’s own python analysis tool using multiple metrics, it did the job and generally things look ok. However – is this actually OK? Let’s drop the lens design into Zemax.
Using a COTS 200mm doublet as a comparison, I pulled a image, plot, ray fan and Huygens spot to inspect. All look quite similar, the spot size can be realized a bit better, but consider the aperture on the reference file was slightly larger, so that means difference in NA.
AI Doublet Left — COTS Design at right
Ray Fan Diagram
Note there is a difference here, this design is not optimized – with an optimized second surface, it’s obvious a lot of improvement can be made. Yet for a commercial type lens, I think this is a good example of a sufficient result – it’s less than the diffraction limit, which is a suitable bar for pass failure.
Huygens spot size is below, again note the difference in the psf due to optimization missed.
Finally, we can compare the simulated image formation – here I don’t think there is a clear winner, which is what we are shooting for in a commercially produced result. Very cool.
We are about to announce some new products made using the amazing xTool UV laser engraver. Along te way, we needed to convert the 3d files used on the system to SVG. I figured I may as well share that, and so you can find it on my github here .
Of course, the first thing I made using this engraver was a 3D engraving of the USS Enterprise 1701-D inside of a BK7 Prism. Because why not?!?!
Compact, Simplified TTL and DAC – Micromanager Native
I’m happy to share a new device I’ve been working on after encouragement from numerous clients. This new smaller version of the Triggerscope is intended to bridge the gap between large complex systems and more streamlined setups.
With the Mini you get:
4 TTL Outputs at 5V
2 DAC Outputs at 5V
1 3.3V to 5V input Trigger
Status LEDs for all connections!
A single USB-C Connection to the computer
Full supported Micromanager Triggerscope-Hub Behavior
This was a super fun project for me, as for the first time this board uses a bare MCU, which enabled my team to use any connector we wanted (hence the USB C) as well as full USB-Serial emulation on our own terms.
I’m also quite fond of the baby side-emitting LEDs on the outputs. These LED’s draw almost no current, but having them for all of the outputs makes it so easy to know whether a given control line is on or off. For the DAC LED’s, they change brightness with the output!
I tried to keep this design in-line with the current TG4, as it’s worked well for us over the years. This one is of course thinner, lighter and smaller, but in effect a truly miniaturized version of the larger model.
We had a recent customer asking to solve a rather standard but annoying problem. If I have a manual filter turret, and still want to overlay images, how easy is it to do?
To solve this, we added the ability to drag+drop any image from our capture sidebar into our main view. By adding a demo filter turret to the system config, we captured the real ex, di and em filter settings from the image, insuring metadata is transferred with the images collected. The resulting view is a true multi-dim architecture, saved as an OME set or RGB combined view. Our team made the addition, ran bug testing and edge case validation, pushed the changes and compiled the application in 1 business day.
Being able to react to our customers’ needs in a short timeframe is one of the best parts of working with my team. Nice work!
Over the past few weeks, we’ve been building out driver support for the Excelitas illuminator line. Today i wrapped the Tetrem unit up.
Below is a 2 channel illumination sequence using the Excelitas Tetrem, captured via a Hamamatsu Fusion camera. A nice feature of the Excelitas units is a commonality of protocol. By keeping the communication back end similar between different units, it’s a straightforward job to add new models as they release. Thanks to Gary Tokman from Visual Dynamix for allowing us the system access to get this done!
Each driver has a unique entry in the driver list. All drivers support the maximum possible device response time and full intensity range profile per device. The Mini will be added soon as well.
Contact us for more info at www.starlyteimaging.com !
Recently Tucsen had a presentation on their new Libra CMOS cameras which includes some nice improvements in sensor performance.
Key highlights were:
Improved QE at 92%
Large Full Well Capacity (48,000 e)
Native binning / debin system
In a recent presentation here a series of improvements were listed, among them a smaller pixel size selection option which supports a drop in pixel size to ~ 3.27um. From the explanation I assume the camera runs natively in a binned mode to produce 7.x um pixels, but can be optionally de-binned.
Each of the cameras (3 models announced) appear to have this feature, as shown below.
I’m more interested in the full well, as having a ~50k e full well seems a nice improvement in dynamic range over current options. Once item that was very interesting to me is that the full well capacity does NOT reduce when enabling the higher resolution mode. If this is correct, a 3.x um pixel with a 48ke full well would still be quite a nice bump in range and quite a feat!
For pricing, the presentation noted 0.4x the cost of a “classic CMOS”. I’m curious what that means in an actual dollar amount.
A few months back, I started promoting a new software application called Nebula. As I introduced it to people I realized that I’d not explained the development or release of it on my website, and so here I’ll take a minute to explain that.
The Why
20 years ago I fell into a career in the life science imaging industry, working for an integration and microscope dealer in southern California. One of my first jobs was installing a copy of software application called MetaMorph. This was an interesting thing to me, having a background in building computers from the days of ISA cards and DOS boot menus.
Metamorph could move things like a filter wheel (then a Sutter Instrument 10-2), and capture images from a camera like the then-new Photometrics 1300 YHS.
It fascinated me to watch the camera snap images with it’s mechanical shutter as the filter wheel switched positions, compiling images into a singular display. I was intrigued by this ability and also how it was used in research.
As time went on, I eventually moved from building the basic systems to maintaining them in-field, and then to offering complete hardware and software systems as a direct rep for the company who made this software, Universal Imaging Corporation.
The Need
What made MetaMorph appealing was the wide array of devices it could control at speed – from stages, to microscopes, to illuminators, basically anything. The company had no specific lockout, and would integrate device drivers for any product.
Over time, UIC was acquired by Molecular Devices, and after a long run ceased offering product sales in 2023. By that time, the industry was somewhat locked into the major microscope companies selling brand-specific products. Further, these companies would refuse support (understandably) for specific competing devices. Yet, this posed a genuine challenge for users:
Once invested into an automated microscope, I am forced to use proprietary software with restrictions, or use open-source software alternatives like MicroManager.
Now, MicroManager is an exceptional suite of software with device drivers, but for customers who want a simplified approach to control, with minimal hands-on configuration, and someone to call when things go wrong, there really aren’t many commercial applications filling the need. This situation led me to conclude that a new company was needed in the industry to:
Provide Custom Integration Support for existing microscopes
Offer hardware driver support for smaller and newer companies excluded by the major brands.
Wrap device control into a simple, easy to use interface
Provide exceptional support for products.
With this in mind, I engaged with my friend and colleague Jacob Gewerth, to launch Starlyte Imaging, and build our core product, Nebula. It’s been a long development process, but what Nebula does is something very special:
The What
We imagined, and have released, a software application geared to capture, and capture alone:
We are dedicated to controlling devices as the priority – it’s all about getting data
Our drivers are completely developed in Python, and our driver standard is open – meaning YOU or any company who wants to, can write device drivers for our software.
Our pricing is approachable and fair – no huge budget outlay for software – we offer fixed licenses, or service-based pricing.
We can support old as well as new devices – many older microscopes are perfectly suitable as a chassis to perform any modern study, they just need to be tied into the capture control scheme.
We also can support data collection and metadata recording from perfusion systems, peristaltic pumps, or any other environmental control device you want to talk to.
More than anything else, I wanted to bring the simple, fair and honest product support I’ve enjoyed providing to this industry for my career. Things fail, mistakes happen, but what makes the difference to me, is the dedication to see projects through, supporting your research, and seeing the project through.
What to look for and how to replace the drive gear
The Venerable Nikon Ti-E remains in service in research labs all over the world. One of the first autofocus-enabled instruments deployed with the integrated PFS, there isn’t much to ask for when it comes to a modern compound fluorescent stand. For owners of the instruments, it’s important to be aware of a big maintenance item on the scope – it’s motorized epi filter cube turret.
It lived a good life!
These turrets use a stepper motor to rotate the large carousel into various positions. The motor, control electronics, and positional sensing system are all high quality and should last many years, however, there is an internal gear which connects the belt drive to the carousel, and over time and stress of use, these gear rings have a tendency to crack.
I recently had a colleague ask if we could reverse engineer a solution for these, as Nikon charges a mint for them and in some cases they may be difficult to obtain depending on your region. You can see from the one supplied to me indeed had cracked, and under inspection, stress cracks from aged plastic are apparent.
It’s important to note here that these might “work fine” under manual rotation (where the motor isn’t applying stress to the belt drive). If you are having problems where the filter isn’t moving to position, or hearing any snapping, clicking or other unusual noises, it’s highly recommended to remove the carriage assembly, and to inspect the gear closely for cracks. This is a ~ 15 minute procedure and only requires a flashlight and removal of the top cover of the carriage.
If yours is cracked, we can supply a replacement within 1 day of order placement from our web store.
Here is a video of how to inspect and replace the ring as well.
I made a short video describing why laser pricing is so different. Much of it comes down to how precise the beam performance needs to be, and as with so many similar fields, as precision becomes better and better, pricing begins to log scale up as the challenges increase. Thanks for watching!
ARC now has a driver available for users of Quorum Volocity microscopy software. New releases of Volocity will include native support. If you need a driver file or assistance please contact ARC for support.
One of the toughest aspects of working as a consultant engineer is that the coolest and most interesting projects are the ones I don’t get to talk about or share online! But as time marches on, sometimes I get to share a few of my secrets. One of those secrets is Zaber. Years back, I needed to find a reasonable cost linear motion system, with integrated motor drive, that provided a well documented library and good customer support. I ended up working with Zaber on that system, and came to rely more and more on their linear and rotary motion products for such systems. As I grew more familiar with these devices, Zaber released a few products into the microscopy industry, starting with an XY stage platform a few years back. Recently, Zaber released an entire microscope system. This microscope provides 3 channel LED excitation for fluorescence, a linear motor Z drive, motorized fluorescent filter cube changer, and XY top plate motorized stage.
One of the product engineers was kind enough to ask if I would give this new microscope an eyeball, so I spent some time with one of the younger employees at ARC to see if we could set it on fire or otherwise break it. 🙂 I’m happy to report it survived our abuse, no small feat for a microscope in my shop!
Unboxing & Assembly
Microscopes typically require a knowledgeable sales rep or service expert to build. As a test of difficulty and complexity for system setup, I decided to assign my relatively new employee Garrett to the build. His report from the build experience was insightful:
Overall, the assembly and the initial testing of the microscope was simple and concise. The assembly is pretty easy for a person’s first time building a microscope. The directions were clear and provided great examples of what to look for in terms of parts and what to do. The assembly itself wasn’t too hard as screws were accessible and easy to get to. It was also a little fun seeing the microscope work at the end of the assembly. The whole microscope was packaged in a pelican shipping case, so the parts were well protected. Directions were very concise and provided much detail aligned with picture guidance. The motor locks are very good, they never moved or slid in the slightest during assembly. Cable management is fairly good, doesn’t get in the way of any moving parts at any time. -Garrett Bunch
We also noted some areas for improvement along the way. For our model, the directions for mounting the microscope body and brackets, (5th hole) do not allow enough room for both the motor controller and the LED controller side-by-side as the picture shows. It would need to state at least the 6th or 7th hole. While used in all zaber systems, the the type of male cable connector for the X-DC02 cables were a little tricky to get connected. We had to fiddle with the inside thread on some of the internal drive connectors for a while to get it to connect properly.
In summary, while we had the regular amount of small questions, this was quite a straightforward system to build. There are far fewer components on this microscope for the user to assemble than on other systems. It results that the build requires simple tools and techniques, and all of the hard jobs are already done at the factory.
First Runs and XYZ performance
For our tests, we used a Hamamatsu Orca Flash 4.0 generously loaned to us from Hamamatsu. Connecting the camera to the microscope did demonstrate that cameras with a larger body would have a tough time fitting into the microscope access location on the sensor connection. We brought this to Zaber’s attention and were informed that they offer a riser kit for larger cameras, and can support cameras with large bodies.
Camera connection area. Note the LED illuminator cube directly above the camera. Larger bodies will require a riser kit supplied by Zaber for mounting.
Motion performance on the system was as expected. The XY stage uses a standard setup of lead screws and stepper motors. The focus/Z drive uses a linear motor, which supports fast operation, high accuracy and repeatability, but at a higher cost of components. I think it was a good decision to use a linear motor with the focus drive, and would love to see Zaber add linear XY to this microscope.
The control over the microscope can be performed using an included joystick, the Zaber Console software, or a Micromanager driver. We elected to first configure things in the Zaber Console to confirm proper operation, then to set up MicroManager for automated capture. Micromanager’s driver is a bit confusing to link up between drivers (you have to determine what controller and axis are operating a given function, 3.g. Controller 01 Axis B might == the Filter turret changer). But once things were configured, we had zero communication issues with the driver. Below is a video captured demonstrating the speed on a repeated XY move using MicroManager MDA for control.
Config window for Zaber Console.
We used MM 2.0 Gamma for our testing. A demonstration of the XY motion can be seen in the video below. This example included large Z moves and multiple channel settings to better visualize the speed of channel switching and Z stepping.
Initial samples used were a quite beat up kidney section, to demonstrate typical fluorescence performance. The objective we added to the system was a Zeiss 40x without UV apo correction, so some Z shift in color is apparent. Field illumination gradient was adequate, overall image field to the camera was well covered. This camera is a great tool for such testing as almost the entire 25mm output from the tube lens can be captured.
Collection of Z stacks for PSF analysis was straightforward. For these tests we used typical tetra-speck bead sets from Life technologies. What I was interested to look for here were coma or aberrations due to off-axis construction, none of which were observed. The system appears to be stacked up squarely, which was great to see.
40x PSF in Z/X40x PSF in ZY, note slight angular shift due to my failure to level the stage insert before scanning.
To analyze the repeatability of the XY stage, several locations were saved on the bead slide, and then imaged in XYZ using MDA with timelapse. The resulting locations were then projected to produce a single image. Results showed repeatability in all axes within Zaber’s specification. The GIF below shows total drift over several hours. Note the stage is moving away from and re-visiting this location. Z drift from thermal is also evident, but to be expected without an automated focus tracking mechanism.
Single location timelapse of beads under 40x magnification.
Z stacks captured in a similar manner to the prior experiment demonstrated even better Z performance, due to the employment of a linear motor stage on the focus axis by Zaber. Here, a single section is scanned multiple times in Z. The timelapse of these scans is stacked, so that numerous re-scans on a single set of images represents the same location scanned over time. When projecting this scan orthogonally, variations in Z will be visible. While expecting some linear shift due to thermal, there is almost no “wiggle” in the Z axis, due to the linear motor being so precise.
LED Performance
To test the LED performance we wanted to target two areas: field illumination performance and linear intensity regulation. Testing both can be somewhat tricky as almost everything will bleach over time. I used the blue isolation region of my bead slide, and it’s white label, to capture 2 multichannel timelapse series. Overall field analysis of each channel was then graphed to demonstrate intensity regulation. While a very small spike was observed in the UV channel, all channels performed considerably well, and it appears intensity regulation is well handled on the drivers for these LEDs.
Intensity plot on blue section of Life Tech slide. Channel intensity looks linear. White label region of bead slide. Decay rates for all channels look good, no major deviations caused by LED regulation, aside from a small UV blip at the start.
Field uniformity was great for a built-in LED system. This is always something tough to work on in a short-pathway LED excited system. Performance on multiple surfaces looked quite good. Some clipping can be seen at the upper left, due to camera placement. All channels showed this as well as a simple flashlight illuminated above, indicating this was due to my mounting and adjusting of the camera, rather than an excitation-side issue.
Blue region of bead slide, pseudo-color spectrum applied to better visualize intensity flatness.
Further Observations
Zaber added a drop/refocus feature to the microscope, similar to an escape function on a traditional scope. Using the linear motor’s speed, it is quite a fast shift to go from escaped to “in focus”. While this demonstrates the speed of a linear motor system, I would take care as an owner to know if I were “escaped” or just assuming so, for if a sample were placed over the objective, and the system to “return” at such a high rate through the sample, I imagine damage would occur to the sample or objective, or both. At the same time, this demonstrates the capability of such a motor, and slowing motion down in firmware/software is easy, while speeding things up is hard!
While Zaber did a great job with the included LED illumination, I can imagine customers would also benefit from using a LLG-coupled or fiber coupled light source. 4 channels is adequate, but many clients need greater diversity in channel selection, and stuffing more than 3 LEDs into an excitation module on-scope can be tricky, so I hope Zaber offers this as an option in the future.
The use of a linear motor for Z shows how great this motion method is for fast, reliable positioning. If Zaber were to add an autofocusing system to this axis, it would provide a nice improvement in market applicability for timelapse observations and high speed high magnification scanning. Similarly, the option to purchase a linear-motion XY top plate would be great, for those clients needing high speed scanning of a large region.
Summary
I really like this microscope. It has the feel of an industrial motion system adapted to an optical platform, which makes sense considering its pedigree. I can imagine that this would make an excellent choice for a plate scanning system, would do well coupled to an incubator, or would be a great fit for commercial clients working on automated analysis of a product, reagent or similar project. The addition of an integrated autofocusing system using reflection would greatly expand the use of this scope into timelapse live-cell work, where it’s shape and design would be a great fit for an incubation enclosure.
Customers who would do well with this microscope are those with some technical chops, who also don’t want to hand-build a microscope due to time constraints, or commercial customers who need a no-frills motorized microscope for scanning. As a company, Zaber has always provided great technical support and has a history of building precision motion systems at fair prices, so I would definitely recommend considering this system if you are in the market for an automated microscope.
-Austin Blanco & Garrett Bunch
(Disclosure) - I was not compensated for writing this review, and my observations and commentary are my own. - AB
Here is a quick example of using the RANGE controls in the Triggerscope GUI Application, as well as an example of saving ranges to the on board SD Card.
We’ve made a new video example of how to get things set up on the Triggerscope with the “Micromanager” version firmware from Nico. Please take a look if you are interested in updating your Triggerscope to use this code, or if you want to learn more about using Shutters, blanking, and presets for the -MM firmware device.
Recently one of my clients was working with a Blackfly S camera from FLIR, and noticed that the TTL signaling was not working properly. With some investigation, we discovered the cause to be the camera running at 3.3V output TTL, with very little drive current, whereas the Triggerscope is configured to accept 5V input TTL signals.
Needing to address this problem, we used a standard level shifting circuit, and stuffed the wires into a small enclosure. After thinking about this, I figured others may have the same problem (not only with PTG or FLIR cameras, but others also), and so decided to roll out a dedicated PCB to address this need. So – it’s posted to the store website. The circuit diagram can be seen below for those interested. You can place orders for these on the storefront here, with shipping as early as the week of 10/12/20.
This can be used with any device that outputs a 3.3v signal. If you have questions on how to connect things or if it will work for your system, please don’t hesitate to contact us! – Austin
I’m excited today to announce the release of the Triggerscope version 4. TG4 marks a major improvement in the performance and capability of the Triggerscope.
New Features
At the heart of Triggerscope 4 is a New high speed MCU running @ 600 Mhz. This is an 83x improvement over the Triggerscope 3B.
On board 1024K MCU RAM provides more than enough memory for arrays.
A new features provides access to a 16GB External SD Card, installed inside. Memory may be used for storing data for sequence access, recording of external parameters and timing events, or saving of advanced settings.
A new Real Time Clock is included for better timing over long duration experiments and delays.
DAC update rates can be overclocked, to a maximum frequency of 270kHz.
Integrated and simplified external controls for easier operation.
New Software
In addition to the release of Triggerscope 4, ARC is introducing a python-based, multi-platform compatible standalone control application. Our application can be installed on Windows, OS-X, or Linux systems. Source is also available from the GitHub Repo here. Users have two options for use – EXE and APP executables provide a small containerized version of python, so the entire application runs without any external installs required. Or, for customers who already have python installed, simply downloading and running the native python file is an option.
For debugging, all communication between the software and the triggerscope are printed for the user to view, to make diagnostics and custom driver development as simple as possible.
Light and Dark themes are provided to keep monitor glare down during imaging. This software is available for all Triggerscope 3 and up devices, and can be found on our GitHub Repo here.
New Micromanager Firmware Options
Nico Stuurman recently undertook a huge endeavor, and implemented a new approach for using MicroManager and the Triggerscope, with faster syntax, greater memory capacity, and tight integration into the Micromanager sequencing system for fast device control. ARC can install this firmware option before your triggerscope ships, just let us know which version you’d like to use!
Thanks to some generous industry friends, I finally managed to get my hands on a seemingly unobtanium RPI “High Quality” camera. I’ll have more info on the camera itself regarding performance, but my first question was – “can it be effectively cooled? ” Fortunately, having run similar experiments on a Point Grey / FLIR camera, I had most of the components and a basic test method ready to go to figure out the answer.
To start, we simply piled up thermal tape on the backside of the camera. This provided a poor but useable thermal coupling to the back of the camera PCB. Ideally, we would wrap the entire camera system in aluminum, but for now, this works. Next, we used a off the shelf TEC, and a CPU radiator, for the heat exchange.
The camera sits atop a TEC, which sits on an aluminum block, which sits on top of a CPU cooling sink.
To test performance, we obtained 40 images with an exposure time of 5 seconds. We only ran the TEC at 1V / 125mA. While running the experiment we recorded an IR video to document the reaction. What is quite evident at about the halfway mark, when the cooler is enabled, is that the TEC Cold side goes “dark”, and shortly thereafter the aluminum C mount housing of the camera as well as the exposed PCB begins to cool down. Images obtained showed corresponding drops in background intensity of ~ 10% for this test. Not amazing, but the drop in mean image intensity directly matches the enable and disable of the cooler. Further tests will include a tightly wrapped enclosure to better thermally sink the complete camera sensor cell and PCB.
A drop of ~ 8 counts can be seen after the cooler is enabled. Once the Cooler is disabled at ~ frame 24, the mean continues rising.
Of additional interest is the noise in the image from the readout taps. Of the images obtained, a clear pattern can be seen, again with the lens cover on and exposures of 5 seconds. A bloom can be seen on one side. I’m curious how this may change with a better cooling system. Below is a pseudo-colored maximum intensity projection of the 40 frames obtained during the experiment.
A basic example of read noise on the taps can be seen by looking at the standard deviation over the frames. This isn’t perfect but it does show a general amount of error in readout. Performance here was not bad at 3 counts maximum change over the sensor field.
As with all such tests – further study is needed :-). We plan on taking this camera through it’s paces in a lot more detail – so – more to come soon!
All over the world people are being asked to work from home…
Yet how many of us have had to do so for extended periods of time? As a case in point, are you reading this now while sitting at the office? Or, worse – while sitting at home, when you should be working? If so, this guide is for you! I also have experienced this challenge, but have had the opportunity to refine my work procedures while conducting business at home for the last 20 years. So – if you are working from home today, or plan to do so in the future, I hope these tools will help you maximize your enjoyment and impact while away from the office. The following sections I hope will give you clarity of purpose, the proper mindset to work alone, a set of practical tools to work alone, and finally, a method to evaluate how well you are doing at coping with this change.
Preparing the heart and mind to work alone
To be free to operate independently is a privilege. For most people over the course of history, employers or overseers would not or could not trust those they watched to “work hard”. As a result, work was “managed”, typically under brutal forms of motivation. Of course, there were notable exceptions to this. In the New Testament we find Jesus using a story of three servants who are given large sums of money, “Talents”. All are given rather large, but different sums of money (roughly, 1-3 years’ wages), and told to use the money for the masters’ benefit. Two of them do so, realizing a gain, while the third, buries the money. When the master returns, the two who have profited are rewarded with further authority. The third returns the original sum, saying, “Master I know you are a hard man, taking what you did not earn, reaping what you did not sow, and so I was afraid and hid the money, so here is your Talent back.” But the master replies, “You know I was a hard man? At least you could have put the money in the bank and earned interest!”. The servant is then fired. This to me is a fascinating story. It tells us so much about how life was 2,000 years ago, and what we can basically see is that not much has changed today. Leaders of companies may be tough people, oftentimes we will find ourselves questioning the morality or fairness of the decisions they make. Some wrestle with a love of money so intense that they will allow others to be hurt, so that they can gain further wealth. At the same time, we can see that those of us who use resources wisely are given further trust – and can we not see this principle applies today? If we at our work prove ourselves capable and responsible with the freedom and authority we are granted, most of the time, we will be offered greater freedom and authority. Now of course this is not 100% of the time – when it isn’t, I’d suggest the management is not doing well – as this principle is a simple, effective and fair one for any organization. So – whether by promotion, a change in work policy, a change in life situation, or even a global pandemic, here we find ourselves with this new authority – the authority to do what we want, when we want, and with no one watching over us. So what will you do with this new authority over yourself? The question itself is defined by one word: Integrity
In the Marine Corps, one of the principles drilled into our heads was that integrity is what you do when your drill instructor isn’t there. Similarly for us, integrity is what we will do at home when our management, more importantly our team isn’t there to motivate us and keep an eye on us. So these stories convey operational principles and the question of our own personal morality. We all must ask ourselves if what we are doing is the Right Thing. So, here are some thoughts to keep handy while working, or in case you find yourself browsing facebook during work time:
YOUR COMPETITOR IS WORKING HARDER THAN YOU RIGHT NOW If you don’t work hard, keep in mInd the people who you compete with. They are likely also at home – and if they are working harder than you, at some point this energy difference will result in your company losing it’s position, resulting in you losing your employment. This is harsh, but I think we can all agree rather obvious.
DISCIPLINE PROVIDES OPPORTUNITY AND POWER If you do work hard, you can realize the personal joy and pride of knowing you did well for yourself, your team, all on your own – further, you can grasp the power of your discipline, knowing that you can work on your own in any other job! This opens up a massive new world of employment opportunities – as there are quite a few people who simply cannot discipline themeselves! So you are more capable, a better team member, more employable, and ultimately, have greater freedom as a result of your discipline and efforts.
YOU ARE NOT A THIEF – SO DON’T STEAL. If you are being paid to work, and are not working, you are stealing. Not only from your employer, but from those members of your group who ARE working hard while you don’t. You may not consider the owners or management worthy of your integrity, but we should all consider our peers as deserving of our best. Get after it.
Practical tools for working at home
Prepare yourself
For the next few months – keep your regular work routine as much as you possibly can. Get up and dress in your work clothes. Do whatever you need to be presentable and prepared for your job. Eat breakfast as you normally would at the same time. All of these activities will help mentally set the stage to understand that “We are now working”. I know it seems wasteful – but the mind needs this routine, especially when so many changes are all around us. Bear in mind, your work commute now takes 3 seconds, and traffic is always light!
Prepare your “office”
My office in 2002. Note the Ghost Recon game & IPA were NOT during work hours! 🙂 Our 700 sq/ft apartment was small, but I accomplished a ton of work from this tiny desk!
My first office was a piece of junk computer stand 4 feet from our kitchen in a one bedroom apartment (pictured above). From that little cove I covered a sales territory encompassing all of northern California for 2 years. In that time I attained a salesperson of the year award from Molecular Devices. But I MADE THE SPACE for my office, and when I was sitting there, even when the wife was watching tv 5 feet away, I was “at work” during business hours. Because so many of us find ourselves without preparation today, you might make your office be the kitchen table or even a folding table for now. But – wherever it is it should be away from the living room if possible, and in a place where there are the least possible distractions. In front of a window? Close it if it’s distracting. You can open it after you rebuild the routine. In a noisy location? Amazon prime a headset. But make the space, and remember that while you are there, you are “away at work”, away from the responsibilities of the home, away from the XBOX, away from the kitchen. Those things don’t exist, because you aren’t there – you are at the office!
Prepare your schedule
As you are now your own boss at home, you will probably find it hard to stay motivated, as until there is a deadline, do I really have to do this now? Yes you do! Using our calendar, block out time for each project as you need. Make sure to include a 15 minute break every so often, as well as your lunch break. This is helpful as when the desire to check Instagram hits – it’s better to have an alternative – e.g. “Well I only have 2 hours to finish this data entry project, so if I hit instagram right now I won’t have time for the job”, instead of “Hey let’s go see what’s up on instagram, there isn’t anything pressing at work right now…”. The difference in mental position is amazing.
Prepare your family
Kids and the spouse may find it tough to understand why they can’t pester you while at home. This is very important to draw a line while working. If they are interrupting you while at work in the house, they are literally taking food from their own mouths (is your competitor allowing such distraction? No? Then you are losing right now!!!). Your work is important, and they must honor your endeavour. This simply takes training and repetition to realize for them, but give it a few days and they will see your clothes, you sitting at the office, and soon realize, “Mom is working right now, I can’t bother her”. Now – I should note that one of the greatest joys for me is allowing my boys into my work life. I’ve had them help with many work projects, learning along the way. Over the years we have developed a system where they will visit the office to tell me stories about school, ask questions on things etc. But at first – the barrier must be established for your benefiet as well as theirs. If you allow distractions now, they won’t respect your requests later for peace and quiet. Further, what are you telling them about the value of your work? So have the family meetings as many times as are needed, and keep up the barrier for the short term. In a few months you can experiment with opening that up – but this is a tough change for you – so minimize the number of fronts you need to be fighting on at the same time!
Prepare your management
Any time we are suddenly gone from the office, management can have trouble. People in leadership positions can have greater fear, greater uncertainty, than those in operational positions. So as bad as things may be for you with this change, it’s worse for them! Further, while you are struggling with how to cope with the change, they are doing the same, but also struggling with how to handle the managerial/directive changes needed to keep things going. In this time of chaos, you can be the stable anchor. This requires some creative thinking, good communication and diligent follow through.
Get the tools you need. This is critical. If you do assembly work, check out or record the tools needed from the office and take them home. If you need a soldering iron, buy one. If you need to have supplies shipped to you or you need to have a monday pickup / friday drop-off, talk with management and set it up. Ultimately there is a way to do your work anywhere – it might not be optimal, but it is possible. Be creative and solve these problems for your management, so they can worry about others and not you. .
During online meetings, write down the tasks you are supposed to accomplish, and then review them with the team or leader at the end of the meeting.
Share your online “self-schedule” with your management – this can be a great way to help them allocate resources. It’s much better to have a conversation where you say, “Hey I am trying to maximize my work in this situation, so I’ve cooked up a work schedule for myself. Please take a second to look at it and let me know if you want anything changed.”. If they see this, and have half a brain, the reaction will be “Wow, his employee is good to go – and I’m lucky they are so self reliant!”
If you are running out of things to do at home, spend some time thinking up new things you can do to help the team. Brainstorm with management – This is quite important because ultimately, if you do run out of things to do, why should the company keep paying you? With enough creative thinking and hard work, you should never end up with nothing to do.
Conclusion
I have set a rather strong tone on this subject. I have done so because initially, it takes a heap of effort to think differently about your work. But what also needs to be understood is the amazing freedom, efficiency and joy of working in isolation. How long is your commute? 30 minutes? You now have 5 hours back in your life, 5 hours. That’s almost a work day! What can you do with 5 new hours in your life? Learn a new skill? Spend more time with your family? This new time is a gift, and the only loss is the auto company and gas station! Learning to work this way makes you exponentially more powerful and employable. If an employer can see that you are capable of working like this – will they really question you when you ask for greater autonomy? Further, when you do meet in person, your meeting time will be more valued, and you will find greater joy in sharing time with colleagues. The richness of doing work together will be realized as now, it will be rare.
As with all things in life – today can be a chance for us to shrink from what we are called to do, or to rise to the challenge, and grow as a result. But having tools helps in our growth. I hope some of these tools help you in learning to adapt to this new work environment you may find yourself in. Good luck! – Austin
For some time now I’ve been using 8020 extrusion for quick prototyping of optical assemblies. It’s great for assemblies which require longer focal lengths and larger elements. For such systems, the choices are to use a breadboard or table, with posts – and then line everything up, having to worry at minimum about elevation and rotation of each element. Once lined up the parts aren’t quite easily moved around. For my parts, I simply created a negative profile for the “8020” 2525 brand of extrusion, then placed a 32mm circle at the center of this profile with vertical clearance. Likely I should have placed it higher, but for most elements it’s simple to create a clamp, send it to the 3-D printer, stick the element inside and voila, held at an axial center, generally en face, and very easy to slide back and forth.
For complicated systems which may use reflection or episcopic combined paths, additional pieces of extrusion can be cut and aligned to a core axis quite easily, and even attached in 3 rotations (left, right and “up” from the primary optical axis). Extrusion pieces can be ordered pre-cut, or easily cut to length using a hacksaw. Right angle clamps avoid any angular errors caused by bad cuts. Personally I use a mill to face off the ends, but most people don’t have access to a mill.
In this image I use the extrusion to align a large optic, with further parts out of frame.
To make things even easier, it’s nice to be able to mark off critical dimensions on the extrusion with a felt tip pen, which is easily later removed from the anodized surface with IPA.
In this example a high power excitation input was designed in Zemax to squeeze a bit more power from a fluorescent system. Before building the assembly the profile extrusion was used to verify the field collimation and flatness at the desired focal length.
I’ve added all of the designs I frequently start from, in STEP format. If someone needs another format please let me know and I’ll export one.
A few months back I was working on a custom microscope that required several sections to be aligned. The camera to be centered on it’s axis and aligned to the objective, the excitation wide-field illuminator to be aligned to the back aperture of the objective (and for that alignment to be coaxial), and finally, a laser source to be aligned into the back aperture as well.
Before the on site work, I decided to cook up a little “starter” jig, that would screw into the objective threads, and easily identify whether the laser was in fact coaxial. It worked fairly well, so I figured I’d share the model for anyone who wants it. You can find the f3d, STEP and STL files here on Github – Note the threads modeled work decently, but are my own mod job off of another fine pitch close-ish thread. They worked great when printed using my Prusa MK3, so I figure most people using the model should have no issues. I’ll probably make one for Olympus RMS threads when the need arises.
Over the past few years, I’ve often battled the Micromanager MDA window, when needing to perform high speed triggered acquisitions. While the system works well for multi channel Z stacks, running timelapse 2 channel streams, or “Z first” streams, didn’t work well. To overcome this, I’ve written a script that pulls all of the MDA user settings out of the window, loads up the Triggerscope, and captures the sequence.
This approach gives any user of the triggerscope far greater control over how sequences are run, and offers users the ability to customize external device commands if needed.
I’ve cooked up a brief video overview here, with some example screenshots of the results on an oscilloscope below.
If you’d like to use or check the script out, it can be found on my GitHub site here.
Please note this requires updated firmware (V 600 or up)
A basic example of a Z stack in a single channel is shown below. In this configuration, 1 channel is selected in the MDA window, and a single Z stack is collected. The Yellow line indicates intensity of a laser or LED on Ch1, the pink line indicates the Z voltage output, and the blue line indicates a TTL input from the camera.
In the next example, output from a “channel first” Z capture is shown. Here Channel is prioritized, so the system runs Ch1 , then captures all Z frames, thens witches to Ch2, and captures all Z frames.
Next, is an example of a capture previously impossible in MM. In this capture we stream 3 time loops back to back, with no delay.
Next up is an example of a “Z First” capture, where all channels are acquired for a single Z position.
Finally, a multi channel example can be seen in this image, with 2 channels running in a time series.
Those are the highlights – I hope others find this useful!
I frequently build parts, both aluminum and 3d printed, which are used with thor components. Using Fusion360 from Autodesk, it’s simple to add threads into a hole, or even create pre-threaded holes in objects. Luckily, Fusion360 even includes a C-Mount thread option.
But – the SM1 thread from Thor is another matter. I had to add one to a part, so I found this nifty trick in fusion which supports adding custom threads to your install.
It turns out Thor provides the required information to form the threads, so using this page I was able to pull in the thread settings, and generate my own thread selection.
For anyone who just wants to use the threads in their copy of fusion, please find the file located on my Github page here.
This is a great example of using Arduino in the lab. If you have limitations to your Lab hardware, and want to explore how to expand or modify it, please get in touch, as this is what we do!
Like so many who live in the sciences, I am fascinated by all things new, unknown, or barely discovered. I think some people just have this innate sense of a continued drive to understand, to improve our awareness and knowledge in the world.
Yet for many, the financial or temporal obligations of higher education aren’t possible to accept. Sure, there is night school, online correspondence etc, and these frameworks are excellent sources of gaining credentials, and of accessing new opportunities in a career. But what if I simply want to learn a bit about making parts? What if I want to build a little trinket of electronics, or to learn a little bit about optics? Today, this concise/iterative form of learning is available to everyone, yet only a few I interact with seem to exploit it’s full potential. It’s the way I’ve learned almost everything I know and use today. It does have downsides, but these can be filled with proper guidance. I would call this form of learning “Project-based” in nature. So, how does one attend such a lesson?
The Jellybox is a 3D printer kit you can build with your kids. (https://www.imade3d.com/)
Step 1: Take on a project in the field of interest
Let’s say that, like me you have an interest or a curiosity on how machines move. You’ve seen a 3-D printer, or maybe a robot, or a CNC machine, and wondered, “how does the table top move, what drives it? How does it “know” where it is?” All good questions of course! Now, I had these questions, and I never truly was able to answer them until I embarked on my first CNC construction project. This began as a kick-starter investment, and probably had a total cost of ~ $350 by the time I was done. It took 2 months or so of work to finish it completely. Spending a few hours here and there to construct it. From there, I tinkered and modified a bit, and finally, after several months of use, I ended up stripping it down to use for other projects. Now, numerous issues and limitations popped up during this process, and I also realized I was left with several questions. Which brings us to the next level of learning.
Step 2: Learn from the Experts
Some of the questions which gnawed on my brain at the end of this build were:
Was this machine actually capable of milling aluminum?
Why did the speed seem so slow?
Did I need liquid cutting fluid all the time?
How come these tiny dremel end-mills kept breaking?
What was the best GCODE generator to use?
These are questions which come not from the top level of a neophyte, but from a marginally deeper question of the enthusiast with some minimal experience. I moved from the neophyte to the enthusiast when I took on the project. I now had a surface level understanding of what questions to even ask! Not only that, but my ears itched for the answer. I HAD TO UNDERSTAND these answers, because my lack of knowledge was killing me, and affecting my understanding as to what this little machine could do! So I turned to people I know in the microscopy automation industry, gents like Chris Ballard from Sutter, John Zemek from ASI, and during the course of other work, would ask things like, “Hey so what exactly do you do with your machines to compensate for backlash?” Now here’s the fun part – no-one EVER denies an opportunity to share their expertise when prompted! So while I absorbed everything they had to teach, they were happy to share and to receive an opportunity to deliver lessons and experiences gained from years of effort. These small interactions may have taken 10, or 15 minutes, but over time I accumulated a series of data points. Some things like, “well, we always use fluid because we are cutting so fast” allowed me to understand that speed impacted heat to a greater degree than I had assumed, prompting me to search down google eggs like this speed & feed calculator. Other times, I’d learn objective known facts like Chris stating, “It’s hard to beat mass, when it comes to CNC, and microscopes for that matter, the heavier the better. ” Now such a statement seems simple, but because I had the background of watching my tiny machine struggle to cut, and had the framework of knowledge for that statement to fit, I quickly was able to understand the why behind the fact, which allowed me to cement a better understanding of what this meant for such machines. Vibration, strength, heat, inertia, it was all making sense.
This kickstarter campaign will provide classes on AI using openCV. https://www.learnopencv.com/
Step 3: Take the next class
How to proceed? Simple: Build a machine that supported my next level of learning! In this case, it was a used RF-45 geared head mill. Armed with my understanding of how motors drove my current CNC, I snagged a used RF45, and designed my own CNC conversion for it. My design was additive, meaning that even if it completely failed, I could revert back to owning a manual mill – and who doesn’t want a milling machine? 🙂 So the next level of learning, the next class, had begun. Through it I learned my motors weren’t strong enough, my motor drivers were not high enough current and too slow, I had to account for additional backlash on the bigger machine, and so the journey continued. I still use the results from that machine for small projects today. The experience gained during the project has been too enormous to measure as I’ve applied it to things like, “hey, you can’t make a box with square inside corners, because all end mills are round, so how will it be cut?”
How do I know I’ve gained requisite knowledge in a field? The answer is, I never have. At each level of learning I’ve discovered new and more interesting aspects of a field. Liner encoding, DRO’s, automated tool changing heads, variable speed control GCODE, a litany of CAM generators, new 3 phase motors and controller options. So when is learning a field enough? I don’t think there is an upper limit. And this is the most important principle in my humble opinion. Those of us given this gift of curiosity have an obligation to leverage it. In an era in which Khan Academy can teach you trig for free, there is no excuse to stay stagnant. More importantly, I have watched several colleagues declare an end of learning, and subsequently become irrelevant. From, “I don’t do email” to “I can’t understand programming”, these people made the choice to stop.
And the world kept going.
And they were left behind, no longer useful to the community they lived or worked in. So whether it’s art, philosophy, religion, sports, outdoors, history, science, or just learning about the lives of others, we must never accept a point at which we believe, “I have arrived”. And so what is the final exam? Well, it’s likely comfort. Are you comfortable in your work? In your technical experience? Then get uncomfortable. Engage in that arena you were scared to try. Try out Jiu-Jitsu even if you’re scared. Order that 3-D printer kit, even if you don’t have time to build it. Download Python and follow some online tutorials, even if you never use it again. Stay off balance. If you are comfortable today, you failed the exam. The good news is that you have another opportunity to take the test, and learn something new, staring today.
For a new Triggerscope 3B shipment, remove from packaging and account for the following:
12V power supply
Mini-USB cable
SMA-BNC connector cables, if purchased
ARC certificate of compliance paperwork
Triggerscope 3B Controller
Hardware Connections
Once unpackaged and all components are accounted for, plug the 12V power supply into the slot located on the left side of the unit labeled “12V,” and plug the other end of the power supply into an available power outlet.
Next, plug the mini-USB cable into the left side of the Triggerscope unit in the slot labeled “USB,” and plug the other end into the computer you are going to be using.
Driver Install
Next, locate the switch on the right side of the Triggerscope 3B, flip the switch either way, both ways turn the Triggerscope on. Open a new tab on your web browser, and download the Arduino IDE Software that matches the Operating System you are currently using. Follow the install prompts to install the software
With install of Arduino IDE complete, open the newly installed Arduino IDE application on your computer.
On the top ribbon, select the “Tools” tab. Then hover over the section that says “board” and then click on the “Board Manager” option.
Next, in the “Board Manager” window, click on the “filter your search” box and type “DUE,” and the following should pop up on the screen, “Arduino SAM Boards (32-bits ARM Cortex -M3) by Arduino.” Click install on this option.
The Arduino application will proceed to download and install the driver package needed to run the Triggerscope 3B unit.
MicroManager Setup
Most end-users will already have MicroManager installed, but if not, make sure to use the nightly builds found here.
In MicroManager, select the “Hardware Configuration Wizard”, Click Next until reaching step 2. In the lower list, browse to the “Triggerscope” section, and add the Triggerscope Hub Device.
For the Communication setup, select the COM # assigned to your triggerscope under the Windows Device manager, read as “Arduino Due Programming Port”.
Configure the Com # found int he device manager, make sure to set the BAUD rate to 115200.
When prompted, select the TTL and DAC lines needed for your application. Also note DAC 16 is tied by default to the FOCUS device. If running sequencing for Z stacks you’ll want to add this.
Continue through the dialog options, if connecting to a Z stage, be sure to specify the maximum and minimum height of your stage so that Z data is properly calibrated. Contact ARC if using a range other than 0-10V.
Next, confirm proper operation by opening up the Device Property Browser. You should have discrete control over the DAC lines added, and on/off state control over TTL lines. Note that the Triggerscope 3B will illuminate an output LED when DAC control is enabled, or when TTL control is enabled. This can be very useful to confirm proper communication with the computer.
This concludes the basic setup for Triggerscope 3B. Please contact ARC with any questions if you are having difficulty!
As client demand continues to grow , ARC has been looking to expand the team, and is pleased to announce the hiring of ARC’s first employee, Daymian Rocca.
Daymian joined the team as Technical Systems Engineer Jan 15th, and brings to the company experience in MSCA, fabrication, additive manufacturing and firmware development. His primary role will be hardware & technical systems , as well as supporting work in the software and optical areas we work in. Please join me in welcoming Daymian to the team!
I’m excited to announce the release of the newest Triggerscope model the 3-B. This version replaces the V3, and is packed with improvements for practical laboratory use, including:
DAC Software Range Selection
Range selection is now software controllable for each channel. This means you can get a full 16 Bit resolution delivered to your device in any range from -2.5/+2.5V, to -10V/+10V, as well as -5/+5V, 0-5V, and 0-10V. A demo video of this feature is available below.
LED Status Indication
When integrating or first using any TTL controlled system, it’s difficult to determine whether the controller is properly firing trigger signals, and whether the device is properly outputting changes on the TTL and DAC lines. New LED’s on the Triggerscope 3B indicate an active sequence, TTL status, DAC output status, and input trigger status, all from the face of the device. In addition, these signals can be disabled or enabled for compatibility with ultra low light acquisition environments.
High Current TTL Drivers
When driving Lasers, the 50 Ohm impedance used can cause a tough voltage drop problem. This has been addressed by now sourcing up to 500mA per line on TTL lines 1-4. In addition, lines 5-8 now source 200mA per channel. While most systems should work great at 200mA, the higher current channels may also optionally be used to drive low intensity LEDs if needed, for applications such as transmitted illumination, powered directly from the Triggerscope.
An External DC Power switch is now included for simple restarts.
On a recent project I had an opportunity to collaborate with some great manufacturers and vendors, to build a custom microscope for Dr. Chia-Yi (Alex) Kuan, at the University of Virginia School of Medicine. This instrument is quite unique, and required a team of manufacturers to pull it off.
Completed system ready for use.
Dr. Kuan required an upright confocal microscope, which could perform photoactivation, widefield and confocal fluorescent excitation, all while running on an extended focus throw of 2″ range. The system required several custom pieces of hardware and software, which made things extra *fun*.
This image was taken from a live specimen, showing cranial vasculature in vivo.
Team Contributors
Visual Dynamix LLC, headed by Gary Tockman, was the lead system integrator on the project as well as the primary service provider for the system. Gary led the team on the build and did an excellent job defining input specifications and performance criteria, as well as managing the crazy logistics of building a system from so many different vendors.
Using the same device for slides and for live specimens required some work on the focuser throw. Sutter Instruments provided a great solution via the BOB microscope. Chris Ballard spent a great deal of effort working out a long travel Z motor relying on the MPC control system for XYZ axis.
89 North provided the photostimulation system, confocal, and LDI laser excitation. Scott Phillips and Simona Stelea both spent several days on site working on the system to make sure everything was dialed in properly.
Scott Phillips works on cable connections
All of the devices on the system needed control via Metamorph. I worked with David Biggs over at KB Imaging to handle this part, and was very glad I chose his work. David has extensive experience with driver development, and due to the proprietary nature of the firmware on this instrument, his experience saved the day on dialing in the driver for speed and reliability.
Finally, I took on the system I/O side for lasers and triggering, as well as building the imaging PC and configuring Metamorph. Because the latest Triggerscope 3 model needed to drive the lasers,I also managed to work with David to create a Metamorph driver, so if you happen to run MetaMorph and want to control the triggerscope, please get in touch.
Gary inspecting the filters on the XLight
Systems like this usually require a day or two for the install, but in our case, most of the install team spent a week on site, to be certain that the details were ironed out and to get some training on the system in for the end users. In our situation this was a good call, as we found the inevitable last minute changes which needed to be addressed. Having the team together made addressing these things straightforward.
Results
A bit after leaving, the client sent over a beautiful video showing experimental data which includes the visualization of vasculature, with a clot stimulated by the laser exciter, and a resulting timelapse of that clot forming.
Training for end users on a live specimen
It’s great to be able to participate with clients, manufacturers and engineers who can pull builds like this together, and better still to watch this important and exciting research move forward. I’m even happier I get to share this build!
During a recent project for a client, I had to prepare a fluorescent bead slide for imaging. Beads require dilution, and a vortex mixer is recommended in order to provide ample separation of the individual beads. Not having one on hand, I figured there must be a way to achieve similar results, and found this used by a homebrewer for yeast prep. It was close for my needs, but I didn’t want to use wood due to the fabrication time and difficulty of install / removal. So I measured the screw hole spacing on the sander pad, and sketched one up in Fusion. A PLA print was made, and the result has been great for simple use.
One additional trick I use for mods like this, is a router speed control, available form Harbor freight or Amazon. It allows the motor speed to be adjusted. The little Ryobi is super fast, so I ended up suing the speed control on it’s lowest setting. These controls work well for most motors – some using “soft start” motors may not work, but it did great in this case!
If you would like to print your own (assuming the hole spacing is compatible), the STL file and STEP for modification are available on my Github page here.
Flir is pushing these new Sony sensors, along with Lucid, for use in remote sensing and inspection. These are interesting.
Basically each camera can capture 4 polarization states in one image. I can imagine these may be used for several microscopy applications, chiefly in polarization light microscopes, but also in DIC, and stereo applications where specular reflection is prevalent.
I’ve long wanted to build a terminal and testing application for my products. Using the exceptional QT Creator, I was able to cook one up in a relatively short period of time!
This application was built using the QT Terminal example program, so it will work for the ARC Triggerscope 2, 16, and Triggerscope 3 products, as well as the ARCLED.
In addition, anyone using an Arduino or other serial-based device may find it useful. You can find the program on my Github.
I am aware that the vast majority of end users rely on Windows for control of devices, so if you read this and have an interest in a compiled x64 version, I’d be interested to know.
Over time I plan on expanding this application to include full configuration over delay timing, sequencing, and other functions.
I’m happy to announce a new product made by ARC. Over the years I’ve worked with a large number of illuminators, from mercury excitation lamps to laser combiners. I’ve tried to combine the best traits of a light source into this device, while ignoring some of the super-awesome features that drive costs up. Key to this is to be completely flexible in LED selection. This is a “dichroic-less” device, as such, one can select as many close-line LEDs as needed for a given application. In addition, LED’s can be installed after purchase by end-users, should they need to add or modify custom modules to the system. Another great advantage for users is the ability to use a broad spectrum white channel, built into the device with the discrete LED channels. This is a unique advantage over other devices, for in many cases all that is required is a broad spectrum light source and a filter cube. Finally, due to the nature of the design and manufacturing engineering of this product, we can offer this multi-channel exciter at what I believe is the lowest price in the industry, $8,500 USD with 8 LEDs installed.
Here’s a brief video showing the device, you can purchase it from the online store here.
The resources below are for students attending my drone courses at Norcal Flight Center, but if other readers stop by, I hope you find these useful!
The FAA classifies certification for commercial use of drones as an “sUAS” cert. Or, a small Unmanned Aerial System, Remote Pilot certification. This certification allows us to operate a drone up to 55lb, for profit, in much of the US airspace. Below are links and resources, as well as questions and answers that come up during classes. Feel free to post here with more questions if you have them!
This is for part 107 operations, or sUAS operations.
If you are having trouble with reading of charts, especially the Lat/Long stuff, here’s a great video that walks through the steps.
—-UPDATE—-
Some answers to the questions which came up during the class:
Question: “Can a rPIC certificate holder operate within 5 miles of a non-towered airport?”
Yes – refer to FAA AC 107-2, section 5.8.1. “…Unless the flight is conducted within controlled airspace, no notification or authorization is necessary to operate at or near an airport. ” (Applies to certificated sUAS pilots)
Question: “Are sUAS operations permitted in MOA’s?”
Yes – There si a great study table on airspace from this website, search for “MOA”.
I’m excited to share the following publication from my colleagues at Neurovision Imaging & Cedars Sinai Medical Center. This paper represents a ton of work, from people all over the world. I’m also happy to say I had a chance to play a very small role in supporting the efforts!
This research continues to advance the work of attempting identification of Alzheimer’s via the retina. If we can continue to refine this approach, someday, people will be able to have frequent checkups to determine whether they are approaching a risk of Alzheimers – early enough for intervention to occur.
Heat map example of AB plaque identification
For the human trials, images were obtained of the retina, using a custom modified confocal ophthalmoscope. The retinal imager obtains images from the patient’s eye, and the images are then analyzed for a number of potential plaque sites (those sites which may contain AB plaques). If enough sites, and or site density is found, the patient indication shows higher, whereas a control would show less grouping and/or less sites. This is a simplified explanation of course, and a ton of work went into figuring out how to best identify these sites. Here’s an image of such a patient. Int his image the heat map indicates the grouping and intensity of the AB plaque locations.
Hats off to Maya & Yosef Koronyo, the team at Neurovision Imaging, and the folks at Cedars for this awesome work!
I keep looking into a low cost, yet stable way to generate nice sine waves which are controllable, using something other than a signal generator or one of the cheap breakouts which never seem to work that well. This led me to considering audio systems as a possible source of signal. It turns out that the iPhone app store has a nice little tone generator app – aptly named “Signal Generator“. The app has a frequency range from 100Hz to 20Khz. Connecting the output of this into an oscilloscope shows a really nice signal. I worked on buffering this through an op amp, and sure enough, it works great! So, could an enterprising person use an old iPhone as a driver for a galvo…? If anyone is interested, I can send over my inverter+amp design for you!
I made a short video showing the results – I hope someone can make use of it!
So i finally spent some money on a decent site theme. I hope you like it! If anyone experiences any issues in using the site with this theme, please let me know!
Not sure the money pans out considering how much time it would take to build, but if one wanted to learn mechanical control, this would be a good way to dive in!
I’ve been working with Pt Grey (now FLIR) cameras for a few years now, and one nagging question in the back of my mind has been whether or not it is possible to cool them via external means. There are basically 3 categories of cooling when it comes to low light cameras:
no cooling whatsoever
cooling to + or – some delta from ambient
fixed-temperature cooling to some set point.
Of these methods, the fixed temp cooling is the most difficult to achieve, for a number of reasons, and I don’t believe these types of cameras would benefit greatly from such an attempt, so my idea was to simply answer the question, “Will cooling improve the performance of these cameras in a measurable way?”
Normally, the cooling of a sensor takes place as close as possible to the back side of the sensor itself. In this case, I started with an already-encased camera, the Pt Grey Chameleon 3. Because I didn’t have access to the sensor back directly, I figured making contact with the case, at as much surface as possible, would suffice. In order to do that I simply used 2 l channel strips of aluminum, and placed thermal tape on all 3 sides touching the camera. The graphic below shows what was added after the aluminum wrapper. First, a peltier (thermo-electric heat exchanger) was coupled to the aluminum. From there, a large CPU heat sink/cooler was attached to the hot side of the TEC. The general idea here is that the aluminum should absorb the heat from the camera. The peltier moves a lot of that heat to the CPU cooler, which radiates the heat into the air. This is a rather rudimentary setup, but it works for the proof of concept.
Below is an image of the assembled system. To provide the required 5V and 12V power to the cooler and peltier, I used my old reliable ATX Power supply. This assembly low cost components from Amazon and the like. I think the total cost was $27 or so. Maybe more including thermal tape.
So how did the system perform?
First I allowed the stack to heat up for ~ 30 minutes. I wanted the camera to heat-soak the wrapper, so that when cooling was applied any measurable change could be collected. I think the act of adding the non-powered stack aided in the camera performance a bit, as simply having the radiator attached means that the hot camera can cool more readily from greater surface area exposure. In any case, a thermal camera was used in timelapse mode to collect the change in temperature over time. The recording was started after 30 minutes of warm-up. Images from the thermal camera were captured during a 1 hour period, while the camera was run in timelapse mode using Micro-Manager 1.4. First, here’s a GIF showing a time-compressed thermal image.
Several things to note here. One is the large drop in camera body temp during the experiment. Another is the subsequent increase in radiator temperature, as it works to shunt the heat from the peltier. Also note the wings on each side of the camera body. They start at a similar temp as the camera body, then drop in temperature significantly (40-50°F) over the duration of the timelapse. It’s important to also note that the emissivity of the plastic camera body differs from that of the aluminum. As a result, even if the temperature is exactly the same, a slight difference in the IR image will be visible.
Below are the results of the image captures. First is a graph showing maximum measured intensity of any pixel in-frame, over the duration of the timelapse (120 frames @ 30Seconds interval). In the case of “hot pixels”, as the camera temperature decreases, the collected signal from those pixels drops.
Graph of measured 8-bit maximum intensity in image over time of experiment. Orange line represents a 20 point moving average trend.
Next, I wanted to measure the total # of hot pixels. Now, it’s somewhat nebulous to define a hot pixel, but I used anything 1.5x greater in intensity than the minimum background, or offset, of the image. On this experiment, the average background was ~ 14, resulting in a threshold of 21. I was really surprised by this one. There is a rather large spike in the data, and I’m not certain what that is from. However, this again shows that the cooling is indeed reducing the hot pixel count, as would be expected. Additionally, the count can be seen to normalize at around 1500 pixels, which I expect is where the system started to thermal stabilize.
For a final set of interesting images. Here’s a shot of the stack after the experiment finished. Note the low temp of the wings and the back wrapper block.
Another interesting shot, this one of the sensor face. Using the cooling system it was at 104°F.
Turning the system off produced a temp of ~ 130°F.
My conclusion is that it is possible to cool even encased cameras using external cooling methods, to improve the performance of the camera(s). I do not think such adaptation will yield comparable results to a camera designed with cooling from the start, but this is an interesting option to achieve better results from a camera with a low price point.
Do you build systems which use Arduino or Raspberry Pi boards? Are you happy with the enclosure options available today? I’m not either. But I’m having some trouble figuring out the best possible products to offer. So, I figure there’s no one better to help than the people who need such products. Would you help me out by filling out this very brief survey? It’ll go a long way in helping me find the best path forward in offering a next-level enclosure for our community!
It appears that more and more people want to use PWM control for illumination devices from Micro-Manager and other imaging software. PWM may be used for any number of applications, from high speed pulsing of an LED, or a laser, in order to reduce phototoxicity or just to control brightness, or to drive a DC motor at a varying speed, or to drive a device like a spinning disk to set the PRM. I figured I’d address this using the Triggerscope system controllers. rIn order to support PWM drive over an external device, I wanted a few useful functions to work in MM:
PWM duty cycle should be controlled form presets
PWM should be called to “off” from a TTL or other “shutter” style command
Once off, a similar “ttl on” type command should re-enable PWM at the alst used duty cycle
multiple output lines should be supported at different duty cycles.
Version 407 of the Triggerscope firmware now supports this, and uses the existing driver available for these devices. I’ve made a short demo video showing how this works on an oscilloscope output. I’ll place an option for this on the store. Please get in touch with any questions or post here – thanks!
One of my recent projects which was very exciting and interesting was to build a custom imaging system for John Mclaughlin at Torch Therapeutics. This was a great build for a number of reasons, one of which is that Torch has allowed me to write a report on this build, which is greatly appreciated! From the tiny camera to similarly tiny NUC computer, this was a really interesting build, and I’m excited to share what I found during the testing and setup of the system. If you are looking for this type of custom integrated system, please take a look at what my company offers, as we’d love to build a system for you!
Scope Selection
What we were looking to build on this system was a low cost, yet fully automated imaging scope that would be easy to modify, simple to operate, and compatible with Micro-manager. In the short term, only Z control is required, but as the work grows, we wanted provision for XY automation, as well as autofocus tracking. For fluorescence excitation we an LED illuminator. After looking at several options, we selected the ASI RAMM microscope, with the inclusion of the Tiger unified controller, and the ASI LED excitation module. This system offers a complete microscope from one control box, on a scalable build platform, at a competitive price. I reviewed the RAMM scope a few years back, and happy to see that the quality and options have only increased over time. When I reviewed the system, it was required that I build the frame and align things correctly. The new systems ship completely assembled. I literally pulled it out of the box, plugged it in and things were operational. This out-of-box experience isn’t normally seen even in the “big 4” microscopes.
RAMM scope after unboxing
Dual lightpath setup for focus tracking – dichroic for epi on the left (thumbscrews shown) and provision for IR cut mirror on right.
Another feature of this scope is the inclusion of all needed driver components in one box, ASI’s Tiger controller. This is a modular control box which can accept riser cards as-needed to drive various components. The controller on this setup was actually the largest electronic box in the system! From left to right are installed driver cards for joystick/control input, Z stage, LED output, and filter wheel control. Another great feature of this box is that when installing in Micro-manager, only a single USB connection, and single hub device are required.
Tiger Controller, with intel NUC on top
LED Illumination
ASI offers a 4 channel LED illuminator, with option for almost any available LED module. This is a simple illumination setup using a common ladder-dichroic design. The open nature of the hardware allows for changes to the dichroics, or the LED modules, as may be needed by the customer as things change in the future. Each LED is driven using a simple audio style TRS cable, so connecting or disconnecting the LEDs from the driver is straightforward. On the output side of the module, an aperture diapragm is provided to avoid overfilling the back aperture of the objective.
Camera Selection
When selecting a camera, we wanted good QE, decent resolution, but didn’t require any advanced cooling or long exposures. Of the available options, the Pt Grey (FLIR) BlackFly camera fit the bill. Recently, Nico Stuurman @ UCSF wrote up a driver to support this camera in Micro-manager, and after working with it for w while I’m quite impressed. I was able to configure some tricky stuff, I tested various binning modes, subarrays, a wide range of exposure times, and things seemed stable. One suggestion if using this camera is to always snap an image after making changes, vs. simply clicking “live”.
The camera is unbelievably small, roughly the size of a 1″ cube. While cool at first glance, there are some drawbacks to such a design which I note below. I tested the camera at no-light conditions for 2 things – dark current over exposure time, and read noise. Read noise shows a 16-bit count standard deviation of 214.78. Value ranges on the noise floor ran 3264 counts max-min. This works out to a noise level of 4%. Calculation for this measurement was from 2 images in a sequence.
(Image1+2000) -image2 = 200 count centered noise level. (ranging around the 2k level).
Not the best performance from a typical sCMOS camera, but if we consider the next lowest-cost camera runs ~ $5,000, this is quite good in my opinion. There is some pattern noise apparent in the camera, below is an average of 20 exposures, all using 10ms exposure time. The image has been contrast enhanced and pseudo-colored for presentation.
Average of 20 images captured @ 10ms exposure time.
So it appears the taps are drifting a bit. Just for grins I tossed one of these images into an FFT and redisplayed the spectrum for view. Looking at the output, my gut says the image below results from temperature bias on the output taps, and this bias is distributed across the back side of the sensor, or at least wherever the taps are located on the readout layer of the PCB. The higher frequency events at the center look like the typical clock timing jitter seen on any ADC. But this is only my non-expert observation – I’d love for any uber-camera experts to weigh in!
I also wanted to look at how bad the hot pixel effects would be using longer exposures. For this test I ran a set of exposure times from 1ms to 3000ms.
Increase in dark current over time was about as expected.
I think the bottom line on this camera is that it runs as hot as any other camera, but has neither the active cooling nor the inherent surface area to radiate heat well. I took a pic of it using my Flir One camera, and it runs at about 95°F while idle.
Does this mean the camera isn’t suitable for microscopy? Not at all? This is an amazing piece of tech for a very low price. I can imagine buying 3 of these, one for each of 3 emission channels on a single scope! My goal in presenting this information is to share what the current limitations are for such a product. I think the raw QE and ~2.3MP resolution of the camera make it a perfect fit for most microscopy jobs. Of course, there will always be need for higher end cameras, but for many run of the mill operations, this is a nice solution.
NUC Computer
When searching for an “imaging computer” on this project, I had initially considered using a Mac Mini, dual booted with windows 10. I’ve used this for a number of other projects, and it has always run well in windows. John suggested looking at the NUC as an option, which provided later opportunity to upgrade the RAM and disk space. After building it up (which only required installing memory and an SSD), this little guy kicked butt!I ran Windows 10-Professional x64 for this build, and used the latest version of Micro-manager. Funny that a $500 computer and a $500 camera can be had for what used to run ~ $15k!. I successfully ran this on timelapse for 10 hours, and captured streams in MM of 100 frames. I didn’t push the buffer too much or analyze the USB-3 performance, but overall this is a great little machine for simple capture of images.
Building this system was a lot of fun, and I really enjoyed using non-traditional components for it. I think this type of system will become commonplace in the future, as more and more customers realize that traditional components, at a traditional high cost, aren’t always the best fit for their needs. If you are interested in this type of solution for your lab or company, please get in touch, as I’d love to build one just for you!
Micro-manager guru Kyle M. Douglass recently posed his implementation of micro-manager on a raspberry Pi 3. Very cool potential here, considering when the computing power of the pi is exceeded for a given application, one could just add more for $45!
I’d imagine that memory handling issues related to image capture would be the biggest problem for the rpi, but it wouldn’t be surprising to see that addressed in the future. It looks like accessing cameras such as the point grey chamelion has been accomplished, however over 1394, not USB.
The Waller Lab recently had a demo announcement of their awesome implementation of computational imaging. They have some examples on their lytro page, which look really cool! This got me thinking about the last 10 years or so, and how the combination of image capture with control over input and output image fields, has grown into a new force in microscopy today.
It’s interesting to consider what techniques fit into the field of computational imaging. Optical microscopy has pushed into an ever smaller domain of resolution, to the point that Abbe’s laws need to be avoided in order to pull resolution out of an image. Consider the initial techniques used for this – phase, DIC, confocal, TIRF, and the like are contrast enhancement techniques of enhancing an image’s contrast, by either increasing the signal intensity, or by reducing the surrounding noise/background intensity. Beginning with the Apotome, and maybe earlier, with deconvolution, a combination of using multiple image samples with post-capture image processing, to gather more information than can be obtained by a single image, started to emerge.
Building on these first techniques, we can see further sampling methods in the optical domain, like STORM/PALM, where optical control over emission is coupled with high sampling rates, and back-end processing, to statistically avoid Abbe’s laws. I’d imagine FLIM falls into this category as well, using time and multiple images, again to extract more data than may be obtained by a single sample. Non-microscopy applications for yet another method in this domain, the employment of coded apertures, similar to this work from MIT, are growing in a number of imaging fields.
This combination, of computing power + controlled image fields, can be employed to do all sorts of as-yet untouched things with a conventional microscope. I can imagine that very soon, we will see a few of the following products available for use:
phase contrast, and fluorescent, multi-capture resolution enhancement systems, all built into an “off the shelf” microscope
angular changes to fluorescence excitation, used to improve resolution
wavelength-based restriction inside an image field, to eliminate the potential for crosstalk in emission
multiple excitation power sampling, to pull greater dynamic range from images
multiple cameras used with restricting apertures, used to pull focus information, or multiple focal fields, from a single position in a sample
These are only a few ideas where this can go, but the general path I can see in the future is lower cost components, which are leveraged to do better and better work, which gives more imaging power to a greater number of researchers. At least – that’s a future I’d like to see 🙂
While there are a few viewing tools available for OSX, I’ve been looking for something that was higher quality, and more configurable. Today I stumbled upon Cuprum. This viewer supports layering, export of user-configured views, some good print options and other stuff. It’s $13 on the Mac App store, and well worth it IMHO.
Here’s an example of one of my breakout board shields. Overall this makes review of a gerber output MUCH easier than other programs I’ve tried. An app store DL is available here – It’s $14,99 on the app store.
Let’s say you want to build an imaging system, but you want to attach 2 cameras for time-correlated 2 channel imaging. The limiting factor for such an arrangement is usually cost, that cost being $10,000 USD per camera means $20,000 for such a setup! A result of this is most researchers end up not using time correlation at such an accuracy, and resort to filter cube switching or emission wheels. Enter the new release of Micro-Manager drivers for Pt. Grey cameras. Through the hard work of Nico Stuurman, Micro-Manager now supports most of the low cost USB cameras offered by this machine vision camera manufacturer. Kurt Thorn has an excellent report on his blog with performance data from one of Pt. Grey’s CMOS cameras.
The key point? Most microscopy cameras start @ $6,000 USD, and go up from there. By comparison, Pt Grey cameras usually run less than $1,000 USD!
So why is it that such a camera can cost 1/10 of a typical microscopy camera? The major cause is the ongoing market cycle of entrenched mature products and services, vs. disruptive technologies and products. Clayton Christensen explains the nature of this process in his excellent book, “The Innovator’s Dilemma“, but let’s look at the top 2 reasons for the price delta.
Cooling: Most of the big camera manufacturers chase each other on performance specifications. If you’ve attempted to purchase one of these cameras through an on-site demo, you’ve likely heard the “spec war” sales pitch, wherein camera company A explains the important numeric advantages (quantum efficiency, read noise, dark current, etc) over companies B, C etc. Of course, this rises out of a need to improve a camera’s performance as much as possible, to win sales. While this is all great for both product variation and for economic advantage (better product at a lower cost through competition), it assumes that the people driving these specs actually understand how important they are to the end user. In the past, dark noise was an easy problem to “one up” on performance. How? Simply cool the sensor! So peltier coolers (thermoelectric plates) were attached to the backside of sensors, with large radiators used to vent drawn heat on the back of the camera. This gave us heavy, large cameras with very low dark current of 0.03 electrons per pixel per second. But how does this relate to the average user? Normal exposure times are < 1 sec. Read noise levels on quiet cameras are ~ 3 electrons. So one would need to capture an image for an exposure time of 3 / 0.01 = 300 seconds, in order to reach a thermal issue with the camera! But the better spec gave an advantage to sales, and therefore this performance was considered standard in the industry, even though 99% of end users don’t need it.
Of course, other issues pop up when adding such extreme cooling. One is condensation. Because these chips would be cooled to -30c or lower, condensation loved to form on the face of the sensor, which obscures the image, and shorts the sensor. As a result, a vacuum sealed window must be placed around the sensor. Dry nitrogen may be back-filled into the chamber, but in the end, you have a chamber waiting for a leak. The manufacturing process is costly. All of this adds up to $$$$, which transfers down to the customer. Finally this trend is changing. Today, Hamamatsu, Pt Grey and others offer ambient (read un-cooled) camera options, resulting in substantial cost savings to customers.
Example of ice on a sensor. This is what a typical low temperature camera will produce when active, and when a seal is broken. condensation freezes due to the low sensor temp, producing images which look like crystals, or water droplets at lower temps.
Manufacturing: CCD sensors were initially produced on accident. RAM designers found that configurations of chip layouts were light sensitive, and as a result discovered they could be used to detect light in an array. Soon after CCDs began a strong fabrication growth, conventional memory switch from serial addressed layouts to dynamically addressed layouts. This resulted in CCD manufacturers being able to only build CCD chips, and not other, newer forms of memory. Single-use costs of such facilities caused prices to stay relatively high, as how many end-users require monochrome sensors, high sensitivity, precision, etc etc? Most consumers of sensor technology want to see a pretty picture on a phone! So CCD sensor production became a high cost problem. CMOS technology unlocked this problem, allowing conventional memory production houses to build CMOS sensors. As sensor production expanded, “modular” sensor packages went from the exception to the rule for the majority of cameras sold today. In the past, camera companies purchased a “chip” which had only the sensor, and access pins attached to it. It was required for the camera company to add a window, seal or other protective assembly, readout electronics, etc. Beginning with the ICX series from Sony, things changed. Instead of purchasing only a sensor, you could purchase a pre-built package right from the sensor manufacturer, including a complete window, and in some cases, the ADC and clocks all ready for use. Both of these changes in how sensors are produced have given rise to two new entrants in the camera market – low cost camera companies, who do as minimal work as required to get a camera out for sale, and more manufacturing houses capable of producing sensors. All this adds up to more choice for the consumer at a lower, more competitive price.
So what does this mean for you? Check out the Pt Grey camera line! It’ll save you a bundle on your imaging system, and may unlock your options for more multi-channel imaging!
I’ve been working on a project which requires data logging from a mobile device over several days. I came across a neat site which supports simple uploading and view/export of data, from numerous sources. It’s called thingspeak.com. Once you have data loaded into a channel, there an excellent tool which supports the execution of Matlab code on the data. You can even display the results of your matlab calculations in the channel window! There’s also an “Act!” ability, which allows you to set up reactions to thresholds and so forth.
Thingspeak seems tailored for the IOT world, but this is a compelling opportunity for biologists, who may want to log environmental data into an easily displayed cloud location.
Here’s an example of the channel I created, and below is an iframe object, which shows the most recent measurements made, dynamically!
Here’s a project I can finally talk about! This is one of my clients, PEOVI, who makes rugged, high speed camera mounts for anything from race cars, to airplanes. If you need to mount a Black Magic Micro, or GoPro, to your high speed vehicle, this is the product for you. The engineering team behind this company has decades of experience in manufacturing airborne cinematography platforms. No plastic on these bad boys 🙂
Here’s a link to the company store, where you can get anything from a simple fixtured mount, up to a tilt/roll/pitch enclosure.
Above is an example of the “speed ball” enclosure, which is used with GoPro cameras. The bottom mount us for a cinematic type tube, so it can be used with normal video production equipment if desired. Of course, it might also be attached to the strut of an experimental aircraft wing… 🙂
In 2011, I reviewed the Andor Neo, one of the first scmos cameras commercially available. I ended my report with this statement,
“…there is much life left in the good old frame transfer sensor…until someone cooks up a back thinned scmos…”
Recently, back thinned scmos camera have come to market, and Kurt Thorne at the UCSF NIC has an excellent report on Photometrics’ new Prime 95B camera. While there may be specific areas of research that can benefit from a BT EMCCD, it looks like the days of EMCCD are at an end for most of us. I guess the question now is, what comes next?
While I haven’t had a chance to test these for accuracy, I was excited to find them while looking for some tube lens specs! You can find the file set here. These designs include some of the common infinity corrected objectives, as well as tube lenses, from every major microscope manufacturer.
I made this video to show how to use both a state device shutter object and a group shutter object in micro-manager. Hopefully others can make use of it!
As the 2020 FAA mandate for ADS-B comes upon us, more aircraft are using the ADS-B system. Additionally, weather transmission via towers is a major free source of in-flight weather info. Having recently picked up a new iPad, and subscribing to FireFlight, I decided it was time to add the ability to see ADS-B traffic, and snag weather.
Having done a bit of homework, I knew there were some open source solutions available, so of course that’s the way I was going to go. Heck I even considered repurposing one of my other rPi’s for the job, but meh, better to dedicate a box for it!
With a flight coming up where I wanted the weather, I decided I wanted to get something to use NOW. Amazon same-day-delivery to the rescue! Here’s what I bought:
All in I was @ $120 for the setup. Consider that the closest commercial product runs 3 or 4x more!
So this must be trouble to set up, right? Anything but! Upon recieving the components, I had the system working in ~ 8minutes! The work required is to:
install heat sinks on rPi IC’s
install rPi into case
insert microSD card
insert USB tuner(s)
insert power supply USB
plug in
connect on the iPad.
Unbelievably simple! This couldn’t be any easier for a “maker” project. In the pic below you can see the antenna I hung in the window, the case and tuner, and the iPad with the Stratux host page open. I experimented with using both receivers, and each receiver solo, and found that using 2 receivers really improved the # of detected 978Mhz signals. Not sure why, but I’ll take it!
SO I’ve been working with AutoDesk’s Fusion360 for a while now, and have found it to be an exceptional tool for diving into CAD. If you’ve considered CAD before, but have been scared off by the learning curve, I recommend checking it out. One of the important functions of a truly parametric CAD program is the need to reference objects to other objects, and to reference measurements to variables or other object measurements. I knew Fusion360 could handle parametric work, but hadn’t been able to figure out a solution to my particular problem, so, here’s a video on how I did it. Not sure if this is an accepted method conventionally, but it worked for me!
The problem I had was how to set up a reflection line, which was dependent on 2 inputs, the angle of an input source, and the reflection angle of a mirrored surface. I wanted to be able to drive these 2 input values, and have either of them affect the resulting reflection line. Here’s how it worked out.
Over the past 5 years, almost every project I’ve worked on has required some level of optic design. In many cases, simple designs suffice. For example, projecting an LED can be accomplished at a basic level with an aspheric condenser. But when designs require flat fields, especially corrective elements, or apochromatic performance, it’s time to leverage commercial tools like Zemax. Luckily, I have one of the best Zemax gurus on the planet on hand for such work. But there is a middle ground where I want to work on designs I’d call basic+. This is where there has never been a clear solution. In such cases, the best compromise is to buy experimental grade lenses, and test them empirically.
Obviously this presents 3 problems:
shipping time + setup time = a long iterative design process.
when issues are found, the only solution is to snag a few more lenses and test, vs. modeling a solution.
The end result is “good enough” , but it’s unknown as to where other improvements may be found.
So imagine my surprise when I found an app for ray tracing and modeling, in the App store! Too good to be true – has to be a joke, right? Nope – Check out this short example, showing the Nikon 105mm SLR lens.
The basic app is ~ $2.00. Adding all of the features will run just under $30. Considering that the cheapest alternative runs ~ $1500, this is an amazing deal. Anyway – I hope others find this as useful as I have!
Oh one more example – here’s the optical design for a Zeiss 40x objective! Cool huh?!?!
I wrote this for a client, but figured others could make use of it. This code simply captures a number of images as defined by the user, and saves them to the specified folder without displaying them. This is useful if you don’t want all of the images open in memory during a timelapse.
David Biggs at KB Imaging LLC put me onto this serial monitoring software, called SUDT Accessport . I’ve used it a bit for some work on the triggerscope, and it works very well! You can watch data transmitted between USB emulated serial ports, under RS-232, and it will output the communication in either ASCII or HEX. I hope others find a use for it!
Controlling a camera from an external trigger can be very useful. External triggering provides greater timing accuracy, direct control over exposure duration, and remote operation from TTL devices. This is a prime reason I made the Triggerscope controller, so I though it would be useful to explain how this works and what you can do with it.
What is “triggering”?
Most cameras built for scientific imaging or life science have a high density connector located on the back. 90% of the time, this is only used by savvy customers, or OEM integrators (companies buying a camera to place inside a machine for resale). The connector on the back of the camera will typically include 2 basic functions: Inputs (connections which send signals into the camera) and outputs (signals which activate when the camera is in a process or cycle).
Why use Triggering on a camera? Doesn’t the software control image capture?
Of course, software can tell a camera to snap an image. But when will that image be captured? Software needs to do more than say “snap” when you capture an image. Behind the scenes, a LOT of stuff happens!
the top level controls you see are converted into camera-specific commands via the camera “device driver” in your software.
The camera commands are fed into a control card or USB port and up to the camera.
The camera accepts the commands, which activate sets of tables in the camera firmware, to set up a sequence of turning on and off clocks and transistors at very high speed, all depending on your binning, ROI, etc.
The camera performs the above operations, and sends back an image.
What is quickly apparent is how much has to happen to get an image. In addition, the camera firmware will process some instruction sets faster than others! So some exposures might come back 200ms from issuing the “snap” button, while others will return in 130ms, 30ms, who knows!
So when precise timing is desired, and you really want that camera to fire at a specified time, triggering may be used. In this configuration, all software comms with the camera are pre-compiled, everything’s done. All of the steps above are performed, but the last step, the “camera performs operations above” sits….and waits…for the trigger line to run from 0 Volts to 5 Volts. As soon as that happens, an image is captured. For single frames, this is somewhat useful, but for sequences, this is great. We can capture images at some interval with 100% confidence timing is accurate.
Example
Let’s look at a typical camera, and pull the information we need from the user manual, in order to better understand triggered control. For this post, I’ll use the Photometrics CoolSNAP MYO camera, and as Photometrics makes it easy to read up on the user manual for their products, you can find the user manual here. Page 21 of the PDF describes the various operating modes for the trigger input. Note, the PDF also gives us information on EACH PIN used in conjunction with input and output signaling. There’s more than one!
Note, PM also provides short descriptions for each pin:
So – now we know which pins communicate which functions from the camera head connector – to connect to any of these, we’d simply connect a ground wire, and a positive pin wire to our chosen camera pin (for our needs, say Pin 1 – Trigger In)
Now – the most pertinent for us is the trigger in line, which runs in a few modes. Let’s review each, and why we might use them:
Trigger-First (sometimes called other things like “Fire”)
In this mode, the camera is set to snap some # of images (let’s say 10), but waits for a trigger input. Once that input goes high, the camera snaps 10 images as quickly as possible.
Strobe
In this mode, the camera is again configured for some # of images, but every image waits for a trigger.
Bulb
In this mode, the exposure time for each image is controlled by the input trigger. Again, multiple images are assumed (although Image qty of 1 is acceptable), and each frame waits for a trigger input pulse.
These three modes constitute the majority of uses for a typical triggered input line.
So, what does “receive a trigger” actually mean? Good question!
Triggering = TTL Control
Cameras, like almost all computer systems, are made to interact with external systems. One of the oldest, and most common methods, is referred to as “transistor transistor logic” or TTL. This boils down to the concept that if we specify an electrical voltage value of X as “off” and Y as “ON” then we can remotely flip a switch.
Many imaging devices use this communication method. A simple uniblitz shutter for example, can accept USB/serial data to open and close the shutter, but using TTL is faster and simpler. (just one thing to do, send 5Volts or 0Volts.) Below is an oscilloscope capture of such a signal. The vertical scale = Voltage level, and the horizontal scale from left to right = time elapsed. My annotations are in red. Note the yellow line, which indicates the signal.
Example Signal
Let’s say we have a device, for now, it’ll be the triggerscope 2, which is connected to the “TRIGGER” line of our camera. We want to signal the camera to capture immediately after we turn on an LED. In this case, we might use the triggerscope line 1 for the LED on and off, and line 2 for the camera signal.
In our software, we’d specify the camera exposure time, binning, and other usual parameters. In our controller, we’d set the output to high when we wanted to capture our image. Let’s use an example of 1 image:.
Tell the camera to acquire using software (nothing should happen yet!)
-Camera waits for a trigger signal
Tell our triggerscope to send a TTL high
-Camera captures an image.
Tell our triggerscope to send a TTL low
(nothing changes)
The above sequence can be used for a series of images. In that case, the acquisition would be configured for some # of frames (say 10), and the camera would capture 1 frame each time the signal swung from low to high.
To tie everything together, I’ve recorded quick video explaining this on the scope. Check it out!
I can’t believe I missed this excellent post from Sam Lord @ Everyday Scientist on how to insert an emission filter on your ocular lightpath. Having been hit by some untold number scopes wherein I either was observing, and switched to a no-emission-filter spot on the dichroic turret, or where I was observing and for one reason or another (software reset?!?!) the excitation shutter opened inadvertently, I can say with certainty that if you work on scopes long enough, this WILL HAPPEN, and it’s not good.
Of interest is the FDA’s ophthalmic instrument guidance docs for retinal radiation (sec H 2.c). From my perspective, it’s surprisingly vague.
Because prolonged intense light exposure can damage the retina, the use of the device for ocular examination should not be unnecessarily prolonged, and the brightness setting should not exceed what is needed to provide clear visualization of the target structures. This device should be used with filters that eliminate UV radiation (< 400 nm) and, whenever possible, filters that eliminate short-wavelength blue light (<420 nm).
“The retinal exposure dose for a photochemical hazard is a product of the radiance and the exposure time. If the value of radiance were reduced in half, twice the time would be needed to reach the maximum exposure limit.
Bottom line, if you have a scope which is equipped with an emission filter wheel, this is something you should address.
Kickstarter has another iphone microscope project, this time it looks like an attachment which includes a 4 line LED, focusing and optical element system, and machined body. Looks cool!
If you have an extra Raspberry pi around and want to try something fun, you can use the GPIO on the pi to transmit at FM frequencies. For the rPi v1 you can use this link for instructions. For Raspberry Pi2 I found a great application which can be run from the command line, called PiFmRds . Not only will this broadcast audio from a number of sources, but it will also broadcast text, and can issue the station ID info! Really a neat experiment.
To use the Raspberry Pi 2 with PiFmRds follow these steps:
Configure an SD card with Raspbian or other linux distro.
Connect an antenna wire of appropriate length (or none for low range!) so as not to violate local laws
For the next work, we’ll use the Terminal.
To play any file format other than wav or ogg, install Sox
sudo apt-get install sox
Install the sndfile library using
sudo apt-get install libsndfile1-dev
Install pifmrds with the following 4 commands
git clone https://github.com/ChristopheJacquet/PiFmRds.git
cd PiFmRds/src
make clean
make
Now you are ready to run the program ***when in operation, if you click on anything outside the terminal it will freeze the rpi. I recommend stopping the play service using CNTL+C before attempting to even use the mouse!
for a list of commands on playing a file and setting a frequency, see the pifmrds page.
Here’s what you should see from PiFmRds, if everything works correctly:
Example output from PiFmRds
*Bear in mind that running this in a way so as to provide signal @ 200ft from your location can violate FCC regs! (see this FCC notice ). Obviously, for a number of reasons, I recommend you take extra care to comply with regs.
What do you think of the new site layout? I was looking for a simple, clean interface that works well on conventional and mobile browsers. Hopefully, I’ve found it. If anyone has recommendations, please feel free to comment!
One of the best aspects of flying is being apart from the world. Not only terra firma, but the troubles of life, questions of the future, and concerns of the present. Flight requires attention to instruments while in operation, but long cross country flights leave the pilot with time to sit and watch the world unfold beneath as time passes.
Departing from San Diego @ ASCB
Night flight brings an even more isolated perspective, where after a few minutes alone, you watch the gauges, view the small points of light from far off cities, and feel suspended in the air, utterly alone in the earth.
Night Flight home in the cessna.
So last night, flying home with the sun setting behind me, I had a chance to consider the past week of ASCB, and what it meant to me.
Trade shows are hard. They are hard for the attendees and the exhibitioners. Attendees sit through lengthy talks, then browse the show floor and get bombarded by marketing, then have dinners with colleagues into the night. Exhibitors aren’t that different. Business meetings in the early morning, standing at the show floor booth all day, and then meetings and dinners with colleagues and contacts into the night. By the last day, everyone is happy to rest on the trip home!
Yet somehow in this internet era, there’s nothing like meeting face to face, to share life, to discuss new projects, and meet new people. This year was my 14th year of attending trade shows as a member of the microscopy community. In that time things have changed in many ways, and are exactly the same in others. I hunted through the Blanco archives and found a few shots from my very first trade show. What an impression it made on me! This was from Neuroscience 2001, with my good friend Will Casavan. I was there working for Technical Instrument Company at the time, and Will was with Media Cybernetics.
Little did I know that it would be 14 years later, that Will would link me up with Echo labs, and a new and exciting chapter in my life would begin.
I bring up the past for two reasons. First, because I enjoy looking back to see how far this industry has come. 14 years ago the hottest product on the market was the Nikon TE-2000, and it sported 2, yes 2!, cameras. One for fluorescence, and one for brightfield. The inverted microscope with cameras, computer, capture cards (yes, the cameras required a card, check out that data cable!), monitor, supporting electronic boxes and cables, took up a large bench worth of space, and ran about $65,000.
Noelle looking at a TE-2000 microscope equipped with fluorescence and brightfield cameras
Some might argue that this industry hasn’t evolved quickly enough, but consider the following. Almost every function performed on the microscope above can also be performed using the ECHO Revolve. Of course, while at the booth I was able to airdrop images like this one straight to my phone, allowing me to easily post them on the blog!
Three channel fluorescence captured and airdropped to my iPhone in about 30 seconds using the Revolve microscope
To me, this is a major step forward in research technology. I think the attendees who visited the ECHO booth would agree, as while working the booth I don’t think there was a single minute without at least 1 person looking at the scopes. In 2 of the 3 days I worked the booth, we couldn’t even break for lunch!
Yes, I was there, yes this is a selfie, don’t judge me 🙂
While writing this, Eugene Cho, CEO of Echo labs, sent me a great timelapse of the show. I think this is an excellent video, as it shows the additional hard work required for exhibitors, to set up and tear down these displays. ECHO hand made the booth for the show, and the personal touch really made the booth stand out from the crowd in my opinion!
Of course, there are many other advances taking place in the industry! I got to speak with Silvia Foppiano of Oko Lab, and was amazed how far incubation technology has come! In 2001, the best incubators I remember were homemade ones. Today, you can buy a stage top incubator, with magnetized connectors, micro-scale thermistor temp probes, humidity and co2 control, for prices around 1/3 of units in the past. As a machining junkie, I was very impressed with the finish of these units. If you are looking for an incubation solution you should definitely check them out.
Magnetized hold downs keep the chambered slide in place when being used with immersion oil
This little controller provides control and capture of all sensor data in the system.
Chamber has perfusion ports for dynamic experiments
Zeiss has an awesome Oculus Rift-equipped demonstration of interactive sample observation. I couldn’t believe it when I walked by, there was the rift, and no-one was sitting in the demo chair! Boom 🙂 I had to jump on that chance. As a tech nerd and gaming junkie, I’ve been relishing the chance to test these, and it was a super cool experience! At first it’s disjointed to turn and see the image field move with the accelerometer inputs on the rift. Navigation was performed using an XBOX 360 controller.
Zeiss ad for the Oculus Rift Cellular Visualization demo
In only a few minutes I found my senses immersed in the environment, and was soon able to fly around with ease without even thinking about the control inputs required to do so. It really was like being in another environment. Excellent demonstration by Zeiss, and I’m happy to see that these types of technology are being adapted for use in biology.
Sutter Instrument Company had the new IPA Integrated Patch Amplifier system on display at the show. This system is a huge leap forward for cell physiologists. With a single system, you get a matched probe, amplifier, and digital capture device, all optimized for low noise and maximum sensitivity. Definitely a major step for whole cell analysis!
Sutters new IPA cell patch system
Open-Imaging had a booth as well, demonstrating the new Micro-Manager 2.0 open source microscopy platform.
I’ve seen a lot of new (read unstable) software at shows like this, and was surprised at how smoothly things worked. It’s obvious that Chris and Mark have put lots of time into this version, to make sure there’s minimal chaos factor when end users upgrade. I was also able to spend some time talking with Mark, as we flew to the show together this year! I’m excited for the future of Open Imaging, and am looking forward to working with the new release!
Mark Tsuchida takes the controls of a Mooney 201. We were speeding to the show at about 225MPH when I took this. Mark flew great!
I want to give a special thanks to Sutter and Open Imaging, who both allowed me to present my Triggerscope at the show. I hope you got a chance to see it!
My second observation is more a felt sense than a metric. Maybe it was the new product advancements, or my age, or who I spent tim with, but I felt a shift in generational control of the industry. During my early years in microscopy, there were a group of highly intelligent, capable and dedicated people who, in one form or another, directed the outcome of products and services in this industry. But now, a decade and a half has gone by, and I’ve realized that a new group of people are influencing that direction. While I may never get to place my personal mark on the industry, I know that I get to work near those who do. To the people who led us here, I’d say thanks for working so hard to bring this industry such incredible capability. To those who now have the burden of keeping things new, I say bear this responsibly, not lightly. Our industry should be the hallmark of the highest ethical standards, have the strictest dedication to accuracy, and consistency. Our marketing should keep people captivated while only promising what we can deliver. We should price products fairly, and support them well. I hope we are up to the challenge, because it’s in our shoulders now.
Yet…..when I did get a chance to walk the show floor this year, I took heart. I can see that the future is bright 🙂
Austin
Sunset after the show, from the top of the SD convention center
Ever notice that no matter what zoom setting you use on an iPhone, the resolution of the captured image is the same? This defies convention, as normally, as a sensor is cropped digitally, the resolution of the resulting image should decrease. With Apple iDevices, this isn’t the case. The native resolution is always the same, regardless of the zoom setting used!
Both of these images have the same XY resolution from the same iPhone 6s!
But some cropping MUST be going on, as there isn’t an optical zoom assembly inside the iPhone. At the same time, looking at the file sizes of captured images, it’s obvious some compression is employed, and one must assume this compression is near lossless for a given mag, so the Apple gurus must know what the true resolution of a field is, and employ a scaled compression to not exceed the inherent resolution of the captured image. Or rather, that’s what I assume is going on.
In order to test this theory, I printed an ISO standard test image (ISO 12233 @2014 to be specific), set up my iPhone 6s at a distance of 22″ from the target, and obtained a set of images, increasing in magnification from 1x, to the maximum allowed “zoom”, with as discrete steps as could be managed with touch controls. In total I captured 29 independent magnification steps.
First, here’s a look at the compression change over mag. For each image captured, I recorded the gross file size. Plotting this shows a direct inverse correlation between mag and filesize. As we know the resolution and bit depth of the file is unity, the only change must be the compression level used for a given mag setting.
So the next question is, how is maximum optical resolution (or rather “system resolution” affected by increases in magnification? The common method used to determine this for microscopy systems is the Rayleigh criterion , which basically says that maximum resolution is determined by the smallest spacing measured between two points (referred to as “minimum resolvable distance”). So in this case, we have a nice set of lines which gradually get closer together, and thinner, and which act as an excellent test standard we can use to compare maximum image resolutions.
Quick caveat here – my method of determining when minimum resolvable distance has been reached, is to use a dynamic ROI profiling tool on a line scan, and drag the line towards the thinner set of line spacings, until I cannot resolve in the ROI profile window, a measurable separation between the lines. While I admit this isn’t a hyper accurate method, I believe it to be adequate for this purpose. Anyone who might have a better solution is welcome to share!
So – here’s an example of a measurement on the lowest magnification. The steps to perform this measurement are:
Open sample image using Fiji
increase image zoom until horizontal resolution lines are clearly visible
Draw vertical line
open ROI profiling tool
Move line towards minimum resolution until no separation is visible between one line pair.
Move line back until pair lost is recaptured.
Record result.
So how does resolution compare to zoom? This graph is quite interesting! Note that a subsample of the total available images was filled, once maximum resolution was reached.
What’s compelling here is that the maximum resolution is reached at a relatively low mag value of ~ 1.496x. Further magnification beyond 1.496x would appear to only reduce field of view, and corresponding filesize. What’s also interesting is that the resolution available to the phone owner can INCREASE by using zoom! This is not normally the case for cameras which employ “digital zoom”.
How can you leverage this information? The next time you want to capture a distant scene with your iPhone, and want to capture the maximum resolution available while also snagging the greatest FOV, set the zoom to around 30% of the available range, and you’ll have a good balance between resolution and field of view!
*Notes
Zoom was calculated by comparing the size of a target object in each image relative to the lowest magnification image.
If you’d like to view the source data collected during this experiment, it’s available here. *Images are also available, please post a request if you’d like them!
With ASCB right around the corner, I’ve been looking for opportunities to showcase the controller, so I’m happy and grateful to announce that the TriggerScope16 will be demonstrated at the Open-Imaging Micro-Manager booth (#1312) this year!
Here’s a short video I made showing the new display which will be at the booth. The display uses a NeopIxel (WS2812) strip, housed in a 1″ square extrusion, capped with a milled acrylic rod.
I’m excited to announce 2 new products from Advanced Research Consulting. The first is a new, 16-Channel, 16-Bit DAC controller. This controller uses a high accuracy multi-line DAC IC to provide more DAC lines than any other product available for the microscopy market. A fully compatible micro-manager driver, as well as a text based programming library are included.
New TriggerScope16 Capabilities:
Set the controller up to perform pre-programmed functions, up to 10 functions per program, with a fast-switching array of 6 program blocks.
<1mS switch time for all lines
Optional setup for your devices, using either 0-5V, or 0-10V control ranges. These are configured at ARC, but can be changed at a later time should you need to work with new devices in the future!
Save-File function in micro-manager driver. It’s now possible to write a simple .CSV file, listing each program to run, and then load that file using a single command in micro-manager. This makes setup quick and reliable.
New custom extruded aluminum case
Optional connectors for your application. Purchase includes 2 D Sub connectors built to suit your needs, just let us know what hardware you wish to control!
Triggerscope2 is an update to the original triggerscope. I’ve that customers weren’t using the screen or the control knob in manual mode. Removing these has allowed for speed increase in all modes of operation, New output options allow for control over a wide range of devices, feel free to get in touch if you want to see if the triggerscope2 can work for you!
New TriggerScope2 Capabilities:
Basic configuration with 2 line TTL control
Custom Programming included with purchase!
Full micro-manager control included
Run sequenced programs, or run you own custom programs!
Expandable to include DAC, RS232, USB and multi-line TTL
New custom extruded aluminum case
You can read more on the triggerscope controllers on triggerscope.com.
SO I had a project where I needed a specific size of beamsplitter and I needed it quickly. Unfortunately, the type I needed wasn’t available from the usual sources, at least, not without a few days of lead time. What to do? It turns out, crazier people than me have been using CNC machines to cut glass!
So, I made a jig from acrylic, and cooked up a hold down method, and voila, after a few attempts and figuring out how to hold the part, I was able to cut both sides of 2 of these small beamsplitters successfully! Unlike the linked example, I simply used water as a coolant, and submerged the workpiece in a recessed channel in order to provide cooling during the cut. I used a dremel diamond engraving bit, likely not the best choice, but it’s what I had avaailable. Feed speeds were @ 0.61 IPM with an RPM on the spindle @ 2600. Finish was a bit rough, but definitely useable! I figure the difference between my work and the example above is the end mill selection. Anwyay – If you ever find yourself in a similar pickle, and have access to a CNC, it might be worth a shot.
In my previous post, I reviewed the current performance of available microscope control applications like Metamorph, NIS Elements, and Micro-Manager. Of course, using the Metamorph software device streaming function produced a hands-down winner, if you are looking for a simple commercial solution. On the other hand, many researchers are using the Micro-Manager software package, which is free, and quite fast considering it’s free. But what if you want an even greater speed, while using Micro-Manager? This is where stand-off controllers, like my device, the Triggerscope, or others, like National Instruments cards, or the Esio controller, may be considered.
Each option has it’s own advantages and disadvantages, but you really won’t go wrong with any of them. Deciding to work with triggering is a bit of an educational hurdle, but will allow you to become a far more powerful imaging jedi, as knowing how to make stuff work quickly can greatly expand the possibilities in your imaging!! So – even if you are considering one of the competing products available vs. the triggerscope, I say no matter which way you choose, a stand-off controller is superior in it’s inherent capability compared to PC based control. Why?
Reliable: PC based control requires drivers, drivers require a lot of development work, and they live inside the operating system’s environment, that environment is always changing (available RAM, processor time, etc) and is competing with other applications for resources. A stand-alone controller has a relatively static set of code in firmware, which basically either runs or won’t run at all. It’s a LOT more stable and reliable, not to mention that a windows OS update won’t blow it up!
Inherently Open: With voltages and TTL signals, you are free as the owner of such a device to basically drive anything you want. Filter wheels, lasers, piezo focusing modules, galvo mirrors, stepper motors, really anything you can imagine. This is not the case with software-specific device drivers.
Fast: While applications like Metamorph are quite fast, even meta sits underneath the stack of the operating system, and is therefore limited by the resources and access the OS will provide. microcontroller based solutions operate at the base level of the OS stack, or as low as you can get without using an FPGA. So these devices operate basically as quickly as it’s practically possible to operate.
Here’s a video I recorded recently demonstrating the speed potential for a stand-off controller.
Control Modes
Generally speaking, there are 2 ways one can use a stand alone controller with an existing microscope. For this example, let’s assume we are using a TTL controlled LED, and that we also have analog control over the intensity of the LED.
Master Control – In a master control mode, the controller will be used as the core clock for other devices in the system, thus the master will direct other devices to do things. In this example, the Triggerscope would run a program wherein any time latency or delays, would be pre-rpogrammed by the user. The user, or software in the computer, would tell the program to “ARM”. Operation sequence would look as follows:
Software sends “ARM” to controller
Controller runs program # 1 which is stored in memory
DAC’s, TTL’s are updated using saved stuff inside program 1
If a delay is added to program 1, a wait for the delay duration is executed
With program 1 complete, controller runs program 2, and basically repeats # 2 above.
Operations 2&3 are repeated until the maximum program # is run.
Controller reports that it’s done working to the host computer
Here’s a block diagram showing this configuration
Slave Control – In this configuration, the controller has a list of programs to run, but will wait to run each line based on the camera’s input. This can be useful when the camera may have a long timelapse due to exposure, or when the microscopy software may intermittently control the camera, based on other inputs. (for instance, maybe the software is driving an XY stage, and will expose the camera after stage movement is complete). Operation for such a setup would look like this:
Controller is sent an ARM command from software
Controller waits to run program 1
Camera sends TTL pulse or high to controller
Controller runs program 1
Controller updates DAC and TTL lines as specified in current program line, stored in memory.
If a wait value is specified, controller waits for the specified duration
When program is complete, controller returns to step 2, waiting for next program to run after trigger in.
Steps 2-4 repeat until last program specified has been run.
Here’s a block diagram of this configuration:
So how fast can a system like this run? Here’s a screen capture from a recent oscilloscope run. This was using my generation 2 triggerscope PCB. In this example, there’s about 1.4ms of total system latency, meaning that a maximum speed of 1000/1.4 = 714fps is theoretically possible. In the screen capture below, the yellow line is a DAC line, the blue line is a second DAC line, and the magenta line is a TTL line.
Let’s investigate this a bit further. In the above sequence, the Triggerscope was configured for master mode, with 10ms delays per line. the 2 DAC’s were updated and the TTL was controlled during the operation of a total of 4 program lines. If we look a bit closer at this graph, we can measure the width of these signal changes:
Note here the BX-AX measure of 11.3ms. This should be 10,0ms, so we have 1.3ms of latency
For each step in the program list, we can measure ~ 11.3 or 11.4ms of total delay. Why is this 1.4ms of delay present? It turns out that in this particular IC used for DAC, the communication method used, and the response time, adds up to ~ 1.4ms. This can be seen by viewing a comparison of the DAC line change vs. the faster, and direct, TTL line change:
In this example we can see a 0.5ms, or 500uS, delay in the TTL signal
For the above example, we can see a measurement of 500uS. This delay is the delay time of the TTL line, over our specified 10ms wait on the program. What this shows is that the controller can operate at ~ 2000FPS, but this particular DAC requires an additional 1ms to operate.
Conclusions
Standoff control systems like the Triggerscope require a bit home homework to set up, but I hope the examples above prove the benefit of such systems. Very high speeds can be achieved, or rather, speeds far faster than most cameras can capture light at! Additionally, the open nature of these systems allows end users to set them up for a wide variety of uses, from light, to fluid delivery. Best of all, these controllers are essentially “crash-proof”, eliminating the commonly experienced random crashes found with typical microscope control software.
How fast can a typical imaging system really run? What factors affect this? While most research might not require rapid sequential capture, almost all experiments can benefiet from tight exposure/illumination timing, yet few microscope users are aware of timing delays injected into experiments by the control software they are using. So how much delay is caused by software? I’ve long wanted to look into this, and finally got the chance!
In order to accomplish this, I programmed a microcontroller to accept commands from the Lumencor Spectra-X. This high power/high speed LED engine is popular for fluorescent excitation, as a result, almost every available software application can control it. I set up my code to measure the time in which a known shutter, or known wavelength command was received on the serial line (well, USB serial).
The team at Technical instruments were kind enough to loan me the use of their equipment, so a generous thanks to Reese Allen and the entire Technical instrument staff!
Experimental conditions were as follows:
All software packages were installed on a clean OS install of Win7/x64
Test machine was a Dell Precision series
Tests were performed by configuring the camera to run ~100fps. This was accomplished using a 4×4 binning, and an exposure of 9.8mS.
All software applications were set to send at minimum one shutter and one wavelength change per acquisition cycle. (i.e. 1 picture from the camera, + 1 wavelength change + open shutter, then switch wavelength and cycle shutter).
All applications were first tested in a “free run” mode, to confirm the camera configuration was capable of 100fps at minimum.
No other devices were installed for these tests.
The results were quite interesting:
Software
NIS Elements V4.30
Micro-Manager V1.4.22
Metamorph V7.8.12
Metamorph Streaming
Average Overhead
60mS
71mS
65mS
11mS
Max FPS
16
14
15
90
Here are some videos showing each of the programs performing. You can see some timing variation (likely caused by my capture device) but the averages are easy to resolve, and they correlate to the speed seen on the captured image stacks.
NIS Elements
Micro-Manager
MetaMorph
What becomes quickly apparent is the influence of asynchronous device control using metamorph’s “Stream” function. This is making use of a patented computer-based device sequencing technique. This technique waits for a camera “event flag” (interrupt) to fire, and when it does, a pre-defined set of events occur which control devices. This is similar to what many external trigger devices do, such as a configured national instruments card , or a pulse oscillator, or the triggerscope. The key difference here is that an external card and/or device isn’t needed, this occurs within the PC itself.
Some further thoughts:
Micromanager is a great open-source competitor to other pay-for solutions. Good speed performance for a low up-front cost! (the cost of setting it up!)
It’s interesting that this never really seems to come up for 90% of customers who purchase “high speed” devices. Either the exposure times needed for acquisition of dim signal are so long as to never reach the speed thresholds shown here, or the capture frequency needed for a given study doesn’t require these speeds, or some other cause, but in my experience this is rarely a complaint on behalf of clients. Why isn’t this a bigger problem?
Many, many devices can’t reach the speeds shown here. In my tests I was using an LED driver. LED’s should have a switch time in the <5mS range. The slowest components usually found on a common automated microscope are the filter wheels and turrets, which usually run at the 50ms range when fully loaded with filters. (that’s on the fast side). So is this the reason the problem isn’t exposed more often?
By far, the slowest components you’ll find for microscopy are found on automated microscopes. Shutter open/close times on a common scope (i.e. big 4 name brand scope) can be in the upwards of 100ms! Moving a big filter turret usually takes 200mS. Again, this begs the question of how important speed really is for the common researcher….
For those who want the fastest possible speeds, have no fear! I’ll be announcing some major improvements to my triggerscope soon, to include programmable high speed sequencing capability!
I’ve been working with Arduino boards a lot lately, and they are great. But some elements of the arduino can be even better.
What is an Arduino?
An Arduino is a breakout board for the Atmel “ATMega” series of microcontrollers. These microcontrollers allow for high speed measurement of analog and digital signals, as well as high speed output of analog and digital signals (well, quasi-analog using PWM, which is another post). So, the arduino houses one of the ATMega Chips at heart, and provides things like a voltage regulator, Serial – USB adapter, 1mm pin connections for several of the chip’s pins, and other nice to have or required-for-operation items one might want or need for these chips.
Now, there are large Arduino boards with a great number of pin connections, like the Mega2560. This board has a ton of capability,
Arduino Mega2560 pinout Diagram from Pighixxx
with a great array of connection options. On the other hand, there are super small but capable boards like the RedBearLabs Blend Micro – which includes BOTH an ATMega ship and a BLE transciever!
But each of these options has drawbacks, cost being one. The Mega is around $45, and the nano or tiny boards even without BLE are ~ $11. Yes, this is cheap, amazingly cheap considering the capability they provide, but if you want to integrate these into several projects, this cost aggregates rather quickly. So, can we go cheaper? In many cases, the answer is yes, and it can be found in the excellent little ATTINy series of controllers.
ATTiny pinout
The ATtiny85 is excellent for sensing a few lines on input, and driving a few outputs, like an LED, or speaker. For powering the IC, I prefer using a USB cable, which usually provides a clean source of 5V power.
Now, to program the IC, you’ll need a programmer. The folks at Arduino have conveniently included an option for “Arduino as ISP”. Basically, you use the communication lines on an existing arduino to program your Attiny. I’ve found that a homemade shield makes this easy, as when you need to program an IC, you take any arduino laying around, drop the shield + chip on, program, and then continue using the arduino board for whatever project you’ve got. An example of a shield for an Arduino mega can be seen below. It took maybe 15 minutes to get this wired up – not a pretty solution, but fast and easy to use.
Of course, you don’t need a shield to program the IC’s, a breadboard and some jumper wires will do.
Once you have the IC programmed, it’s a matter of popping it out of the socket (or breadboard), and placing it into whatever socket you use for your project!
There are numerous examples online of how to program these chips, a few of which I’ve used as guides. I like the one here, and there’s a nice video showing the general process here:
Anyway – if you do plan to tackle this, just make sure to follow the directions for your specific version of Arduino IDE – there’s a big difference between v1.6 and the earlier version(s). ***IMHO, V1.6 is WAY easier to set up.
Over 450 years have seen the compound microscope evolve into an incredible instrument. From simple contrast viewing, we’ve moved to super resolution systems capable of sub-diffraction accuracy. But for all this advancement, we’ve been stuck with the architecture of the microscope platform. Over 70% of labs end up buying both inverted and upright microscopes….until today!
I’m happy to introduce the Revolve Hybrid Microscope! A scope that combines both inverted and upright observation into one instrument. I’ve worked in this industry for over a decade, and this is by far the biggest evolution in the idea of a scope I’ve ever seen! I’m so excited to share this with the research community, and I hope you’ll enjoy learning more about it!
The Concept
We all know that uprights and inverts use similar objectives, illuminators, position systems and cameras. Why duplicate all of these expensive components? Can’t we find a way to merge these two systems into one unified instrument? Echo Labs has done just that, with the Revolve.
As you can see above, this a completely new way of approaching what a microscope should be! The revolve is two microscopes in one. It provides a fully capable inverted research instrument, AND a fully capable upright microscope, into one device. So the revolve is 2x the microscope at 1x the price, size and maintenance. While the revolve brings so much more capability, it’s also less, in all the ways less can be good. You’ll note the lack of a tower computer. It’s gone! The integrated iPad drives everything inside the scope. No more rat’s nest of wires on your lab bench. Of course, with the iPad, training isn’t required for new users. Both my boys (6 & 7yrs old) got a chance to use the fluorescent side of the app, and were capturing multichannel fluorescence with a few seconds. Using the touchscreen is simple and an easy extension to the other controls on the scope, so the keyboard and mouse won’t be missed. You may also note a lack of wires. In normal marketing pictures microscope manufactures won’t connect all the boxes, so things “look clean”, but the revolve IS clean. Only 1 power wire is required for operation, and all of the other brightfield, and fluorescent components are placed inside the body of the scope! To see these functions live, Echo Labs has produced a great website which includes demonstration videos, at www.echo-labs.com
The Revolve Microscope
Let’s get right to the specs. This is a compound, infinity-path microscope. Current glass selection includes the entire line of Olympus objectives, with everything from long working distance phase to high NA oil immersion lenses. Both a high NA and long working distance transmitted light condenser are available to support phase and brightfield. The instrument uses the Apple iPad for control, interface, storage and display of images. The body and chassis are designed to be compact, fitting inside a fume hood or a lab bench with shelving installed. A single power supply runs all internal components, so there is only a single power connection required, and aside from that, no other cables need to be connected.
Brightfield
In brightfield mode the iPad camera is optically coupled to the lightpath, providing sharp, color balanced, auto exposed images. Optical coupling is set to provide the full objective field within the iPad camera FOV, with pinch+zoom available should the user want a traditional square view. On-screen controls are provided for color balance, brightness and contrast.
Due to the unique nature of the upright/inverted combination, both high res close working condensers as well as long working distance phase condensers are available. A high accuracy locking mechanism is used to securely hold the condenser assembly in place, while still allowing for easy removal by a single lever.
Fluorescence
In fluorescent mode the Revolve uses a high sensitivity quantitative monochrome camera, which is wirelessly connected to the iPad display, providing a no-latency view when scanning a fluorescent plate or slide. High power discrete LED’s provide fluorescence excitation. Fluorescent wavelengths are specified by “light cube”, with a cube and filter block set provided for popular fluorescent excitation/emission spectra.
The user interface for fluorescence includes enough control to be useful, but avoids the excessive detail usually found on older imaging programs. You won’t have to worry about parallel shift voltage settings, or pre/post sensor clearing options just to snap an image! On-image display scaling, a simple high/low gain selection, and attenuation control are easily controlled. The physical knob on the right side of the microscope controls the current fluorescent channel in parallel with the app, providing a bidirectional link for the user’s preferred mode of operation.
Mechanical
The body includes a USB hub which can accept common memory sticks, allowing for quick USB transfer of images obtained by the iPad app. The engineers spent an extensive amount of time working on the question of “what do we do with the images on the iPad?”. This is an important question for every microscope, yet it never seems to be completely addressed. How many times have you realized images you captured simply were lost, because someone deleted them from your scope’s hard drive! With the Revolve you can save your images almost anywhere: USB, AirDrop, DropBox, with more cloud options coming soon. Or, just take your iPad….and walk away!
The focus mechanism is duplicated for easy access in either upright or inverted configuration, providing a common coarse/fine knob adjustment. X/Y adjustment is provided by dual knob control placed close to the user’s hand. The stage is locked into the microscope with a secure, but easily removable cam lock and alignment pins. This makes removal of the stage easy for revolving the scope, but keeps the stage securely in place when in use. Check out this video for an example of each of the above functions!
Conclusion
During my time working with the Echo Labs team, I’ve seen the attention to detail put into the user-focused features of this microscope. My previous posts have hopefully allowed a sense of understanding as to why I am so excited to work with this team! This company is a completely new approach to an old industry. The management team consists of veterans in the microscopy industry with a passion for high end imaging. The engineers are an amazing cadre with broad experience in the music, medical, defense, and research industries. Watching this team put the combined skill and experience into this microscope has been simply incredible. I hope you get a chance to experience using this microscope, as you’ll never look at scopes the same way again! Of course, in keeping with the idea of a new-generation company, you don’t need to talk with anyone just to check out pricing, an online and interactive quote configurator is available, which allows you to easily build the revolve for your work.
I believe Echo labs is well on the way to completely changing the microscopy industry. The Revolve is only the first step in bringing easy to use, fair price research instruments into the lab. Welcome to the Revolution.
I guess I should continue providing lengthy explanations of this skunk works project, but I think it’s time to let this thing stand on it’s own merit. So…here’s a nifty countdown timer until the announcement goes up!
I was supposed to write about bigger/faster/stronger today, but I don’t want to. Instead I want to consider culture. Companies absolutely have cultures, or rather, micro-cultures. Labs have cultures as well! One can consider in many ways a lab to be a small business operating inside the incubator of a university! So how does a culture affect what products and services are offered by a company? Well, take for example the typical order lag from when you say, “I want to buy a new eyepiece” or some other part, and when you actually receive that part. For most major scope companies, this is around 4-9 weeks. Yes…. WEEKS.
Hawaiian shirt day is NOT a good cultural trait….just sayin…
Is that wrong? Well…that depends on what your company culture values. If it values maximum profit potential for in-stock supplies over turnaround times, then no, it’s not wrong. In my mind, if I have customers that need parts, and it’s regularly taking a month to receive supplies, I’m a lot less concerned with the part itself and a lot more concerned with customer satisfaction, so to me, I don’t think it’s the best customer-service philosophy. In any case, this is a question of culture – what values are prioritized inside of a company? Those values drive the culture. Is shaking up things seen as productive, or divisive? This is a cultural trait of a company. Companies like Tesla or Apple have to maintain a fanatical obsession with experimentation, with risk taking, in order to avoid becoming just another big widget maker, and truth be told, over some length of time, they will likely not be able to avoid this change. It’s almost inevitable.
So – what sort of company do you want to work with? What values should be important to a new company offering products in the microscopy industry? Should delivery times run in the months, or the days? Should service require checklists, or a ups label? Just an interesting thing to consider….
Every so often I will get the chance to cook up some code for one of the usual software scope control packages. But these days, I spend most of my time in programs like Fusion360, Fritzing, and the like. So I guess this is how I feel when using the typical scope control software. How about you?
I’ve used Elements, imagePro, MetaMorph, for years. It’s all good software. It’s powerful, and can do all sorts of crazy things that are super awesome. But what if I just want to obtain a 3 channel fluorescent image? Here’s what I end up looking at for a simple capture.
Screenshot from NIS Elements – Lots of options, but lots of buttons!
But this must be only one program, right? Surely other more capable systems have a current style of user interface, right? Here’s an example of the most capable (and IMHO fastest) software around, the venerable MetaMorph.
Another example of great software, Metamorph, that includes a large array of buttons….
For the typical person who just wants to snap an image, this is overkill. Now – I don’t intend to bash on these great software applications. For multi-dimensional timelapse, or other advanced work, there are few better tools available, and these do a great job of providing any feature one could want. But what percentage of labs have such complicated instruments, vs. the great number of simple, multichannel fluorescent microscopes around in every biology facility? How can it be that all these users must learn these behemoth software packages to capture some cultures? Other industries seem to have moved to workflow-based designs. You can find apps that perform full MIDI mixing on a tablet, heck, even airplanes have touchscreen controls now! Yet the microscopy industry seems to be locked into a slightly improved version of windows XP button mashup.
With all of the consumer products finding ways of simplifying control over hardware, isn’t there another way of doing this?
Good software design can perform a specified job, and provide users the controls they need to do that job, but excellent software does so without requiringany training. An example of this can be found below, showing a unified interface for shuttering, attenuation and capture. This is a very limited example of what’s coming up, but just from this clip I think the differences in design philosophy are evident.
Can this simple control drive shuttering, attenuation and capture?
I think Scotty wasn’t annoyed at the keyboard because he had to use it. He was annoyed because of what it represented: A barrier to getting his work done. Microscope time isn’t free time. There’s a lot of other, far more important work to be done than collecting the results of actual research. Cumbersome software results in less time to do the important stuff.
Complex software will always be required for highly complex jobs, but for everyone else, I’m happy to say that the days of “software training” will soon be behind us. My guess is that most people will have a hard time going back to click and hunt, after using the next generation of control software. I know my perspective has changed. I guess that’s why these days, when I sit down behind a button-crowded screen, all I can think of is Scotty cracking his fingers 🙂
Any user of a modern scope, or at least, a high end scope, considers the addition of new widgets. Whether it’s a better illuminator, adding a more sensitive camera, or even a motorized component, we think of scope upgrades,as…well…UP grades, yes? But in so many other areas of our lives, we’ve seen that less can really be more. How many of us still have a cable TV service, and a landline, and a fax line, and a fiber connection for internet? We’ve reduced all of these different services to a simpler and easier choice – wired of some type (Cable, fiber or whatnot) for high bandwidth, and wireless (cellular etc) for low bandwidth. I’d expect we’ll soon see the end of wired connections at all…. One could imagine the new apartment renter only 15 years ago, asking the question, “how many phone / fax lines do I need?” yet now, we find our less is better, is more. Less power consumption is better, yet 30 years ago every ad wasn’t about efficiency, it was about POWER. Now, don’t get me wrong, there’s nothing that stirs my soul like the sound of a Hellcat at the reno air races, pushing 500MPH and screaming out the gutteral sound of 2,000 horsepower only a few hundred feet away. Power is cool. But hey, I drive a hybrid. In many practical ways, less is more. It’s with this in mind that I ask, do you NEED that 30lb computer, sitting next to your scope? What if it wasn’t there? What could you do differently with your scope if, say, it was smaller, or lighter? What could you do with your scope if those boxes and wires hanging everywhere were….less?
Sometimes we don’t see the power in less. I love wrenching on scopes that, by all rights, may blow a breaker were everything fired up at the same time. I love the complexity, but I’m, for lack of a better term, an imaging gearhead. I love working on laser launches BECAUSE they might burn my fingers! If they can’t, it’s just not as cool for some reason. But at the end of things, I’m just a gearhead. Research is what matters, not my personal desire to melt fiber. Today more then ever we are presented with the challenge of better understanding our world, our environment, our universe, through basic research. We need affordable tools. We need tools that are easy to obtain, easy to use, easy to service. Tools that can be used for what they are. The research is the objective, but so many microscopy companies have fallen into the mistaken belief that the device they sell is the objective itself. A microscope is nothing more than 450 years of technological advancement beyond the hammer, but……it’s still a tool.
What if the tools you had in the lab weren’t aimed at being the most complex, all encompassing widget around, but instead were aimed at being useful for the intended purpose? Would less complexity equal more speed?
What if your microscope wan’t intended to have every cool new thing added to it? What if it were just made to have cool stuff, useful stuff, already inside? Would less wiring and add-on components equal more useable bench space? Or more potential places you could put the thing?
What if the scope you wanted to buy didn’t come with a 4 page list of crypto-part numbers, providing your sales rep, and you, an excellent way to miss detailed little parts on the system, only to figure that out when you receive the thing? Would less itemization result in more assurance in a simple, complete system?
What if you didn’t have to earn a dual Ph.D in computer science just to run esoteric software with a few hundred unintelligible icons scattered all over the place? Would less buttons equal more sanity?
You know, most of these questions aren’t new ones. There will always be gearheads who want a water cooled 220V laser simply because it needs water cooling, but in so many ways, the current microscope options available are built FOR the gearhead, and then reduced and passed to the regular researcher who just wants the tool to work.
I’ll always be a gearhead, but I’ve come to realize how powerful less can be, and it’s pretty freaking powerful….
One of the first known microscopes by Zacharias Jansen.
The foundational design of the compound microscope has, in many ways, remained locked in place for the 450 years of it’s existence. Combining an objective, eyepiece, and illuminator to provide a magnified view of a specimen has drastically improved. The illumination, staging, detection, optical design, and contrast methods have all evolved by leaps and bounds today. Super resolution will likely become the new normal in the next 10 years. But for all of this improvement, some of the basic limitations of the microscope remain locked in place. A further limitation is placed on development by the same names in the industry. Big name instrument manufacturers, with entrenched, slow, and top-heavy R&D divisions aren’t really set up to upset things, but instead to make small improvements over time. Sometimes it takes fresh eyes, a new way of seeing things, a new generation of builders, to break free of this incremental development cycle, to find a different way of solving the age old limitations we find in todays’ instruments.
Guess what this is 🙂
Over the past year, I’ve been privileged to find an amazing group of young entrepreneurs, who have tirelessly worked to bring a new microscope to life. I’ve been even more honored to play a small part along the way. I’ve been chomping at the bit to share the story of this group. I’ve watched as they struggled to solve extremely difficult problems. I’ve looked into eyes not seen since I was a young grunt in the infantry, the eyes of a man who hasn’t slept in days, fighting to figure out the answer to a seemingly unanswerable question. I’ve watched as we walked through success, through failure, through disappointment, watching as one man’s imagination was brought into reality, watching as each person contributed to make something bigger, better, than any of us could imagine.
On August 1, the company will announce it’s product, and I’ll be able to tell more of the story. For today, I just want to ask a series of questions, which I plan to further explore in the days leading up to release.
What can’t your microscope do?
Does the instrument you use today reflect an embodiment of available consumer-grade technology?
What is “ease of use”, how can such a phrase be quantified?
Is faster, bigger, heavier, stronger, always better?
Asking a tough question on mature markets and the voice of the customer.
I hope you’ll stay with me for the week. All I can promise is that will be worth the wait. I hope to at least provide an explanation on why I believe this group is on the right track, and why it’ll turn the microscopy industry on it’s head…..literally.
I came across this excellent design reference, which shows quite a few basic op amp design examples. Great guide to keep handy should you be working on amps!
One of the downsides to using OSX for my primary operating system is that most of the major imaging programs are windows-only. To compound the trouble, many of these programs, like NIS Elements, use the “HASP” license manager to communicate with a security key in order to fight piracy. So, you have to have this USB security key installed onto your system, but when attempting to use the key from a virtual machine, like Parallels or Virtualbox, you’ll see a “USB Device Unavailable” error message displayed in the VM window. To avoid this, I use the following command found at this discussion:
Remove the USB Dongle
Open terminal, enter the following text: sudo launchctl unload /Library/LaunchDaemons/com.aladdin.aksusbd.plist
provide your password to execute this unload command
connect the dongle
select your VM application, and attempt to connect to the Dongle – on my system, it worked great!
Should you need to use Aladdin hasp stuff on your mac, a restart would be required, but I don’t use the alladin drivers for anything other than windows applications.
This solution has allowed me to free my system from the constraints of requiring a bootcamp shutdown / reboot!
So I needed to set up an Arduino Mega as a signal processor. I had a sawtooth signal coming from a device, and I wanted to convert that signal to a 0/5V TTL signal. Now, with something like a sine or sawtooth wave, the question becomes, “At what point do I want to consider this signal to be “ON”?” This is where a comparator comes in. Basically, a comparator references a different voltage you supply, and compares your supplied voltage to the measured voltage. There’s a detailed example of how this works using an Arduino in this instructable.
Now, that ‘ible is nice, but note it’s written using an UNO, and unbelievably, the Mega 2560, a more capable board, DOESN”T have the AIN0 pin connected to a breakout line!!!
Mega 2560 Pin Mapping
Looking closely at this pinout, we’ll see that indeed, AIN1 is mapped to D5, but AIN0 is just out there with no love!!
So what to do?
Well, I considered just soldering a tap directly to the pin, but I was afraid of thermal issued in doing this, and it’s a small pitch, so instead I looked around a bit more at the functions used for the cmparator (ACSR Command) in the Atmel docs. It turns out, there’s an on board reference (1.1V) which can be used w/ AIN0. This is called using the ACSR command, and I went ahead and used that, as for my needs it worked great. BUT, Your mileage may vary.
Here’s an example of the code I used:
void setup()
{
pinMode(5,INPUT);
pinMode(40,OUTPUT);
digitalWrite(40,HIGH);
//Serial.begin(9600);
ACSR = B01011000; // comparator interrupt enabled and tripped on falling edge.
}
/*ACSR =
(0<<ACD) | // Analog Comparator: Enabled
(0<<ACBG) | // Analog Comparator Bandgap Select: AIN0 is applied to the positive input
(0<<ACO) | // Analog Comparator Output: Off
(1<<ACI) | // Analog Comparator Interrupt Flag: Clear Pending Interrupt
(1<<ACIE) | // Analog Comparator Interrupt: Enabled
(0<<ACIC) | // Analog Comparator Input Capture: Disabled
(1<<ACIS1) | (1<ACIS0); // Analog Comparator Interrupt Mode: Comparator Interrupt on Rising Output Edge
*/
volatile boolean sOn=false;
unsigned long timer;
void loop()
{
if(sOn)
{
digitalWrite(40,!digitalRead(40));
sOn=false;
delay(10);
}
}
ISR(ANALOG_COMP_vect)
{
sOn=true;
}
Here’s the output generated from this code against my source wave, the red channel shows the behavior of my output pin. I’m happy with the result, and it’s fun to learn (another) cool thing that the Arduino can do!
Proper optical performance should produce nice clear defocused rings as shown in this example
After all of the engineering and testing which goes into a microscope, you’d imagine that any manufactured scope would have perfect alignment of the optics. Believe it or not, in many cases things can be off! So how can you tell this? A simple test is to view a bead slide, or a grid slide, and run the focus up and down through the sample’s best focal plane. What you should see is clear defocused rings or bars which expand away from the object as you drive away from either side of the focal plane.
Nikon has a nice writeup on astigmatism here – click on the pic to view the artice.
Running through the focus quickly will reveal astigmatism:
Does the defocused haze seem to move from right to left as you drive into the focal plane, and continue traveling in the same direction as you focus past the focal plane? This can indicate astigmatism or sample alignment problems.
Do your out of focus regions seem to defocus into horizontal lines on one side of the sample, and then defocus into vertical lines on the other side? If so this can indicate astigmatism.
In either case this is a limitation to the amount of clarity your optics can resolve and should be addressed.
Simple example of astigmatic errors and the effect they cause on image clarity
You can further isolate the issue by switching objectives and running the test again.
If the problem remains, the problem is not related to a single objective, but is either due to the optical components inside the scope, or due to the stage not installed at perfect level (this is actually quite common!).
If the problem is only visible in one objective and not in any others, the problem is in the objective affected. (If it’s an oil lens first try giving it a good cleaning! old oil can build up on the lens and cause this type of behavior!
Does your system crash when taking a timelapse, or just every so often, but isn’t linked to a specific set of actions you take? Or, does your camera run slowly for no apparent reason, only sometimes? Here’s a basic set of checks to do before targeting the software drivers or hardware.
Windows power options
So windows by default wants to save power. It does this by turning off stuff when those items aren’t “used”. But for research systems, we want these devices always running, even if they aren’t feeding data at the time.
Open Control Panel in Windows (Make sure you have administrator rights to do this)
Open “Power Options”
Make sure “High Performance” is the active plan.
Click “Change Advanced Power Settings”
Browse through each item and make sure things like “USB Selective Suspend” is Disabled. My system looks like this:
Turn Off Hard Disk : NEVER
Wireless Power Saving: Disabled
Sleep Settings : Disable everything
USB Selective Suspend: DISABLED *this one is important!
PCI Express Link State Power Management: EVERYTHING OFF
With these changes made (if needed) click APPLY then OK.
USB Happiness
USB bandwidth is divided when several items share the same USB hub – so for instance you might get a hard drive on USB running nice and fast all by itself, but as you add more stuff to the USB hub it’s running on, it’ll run more and more slowly. In order to avoid this on our systems we need to manage what devices are sharing ports.
Next we’ll see whats going on with USB devices. For this, we need a program called “USBDeview” found here.
Install + run this program. You’ll see a tree of your USB devices. To make sure only connected and active devices are displayed, click View, and turn off “Display Disconnected Devices”. What remains should be those devices connected to your computer. My computer only shows a tablet pad right now, but for a typical imaging system, there will be many more items!
Slide the view bar to the right, until you see the column for “HUB/PORT”. This shows what USB hub and port your hardware is connected to. So, if your camera is connected to HUB 1, and a bunch of other devices are also on HUB 1, then this can cause the bandwidth of your camera to be drastically reduced!
Note this is sort of a “musical chairs” game, where you’ve got to figure out which devices you want to have the most bandwidth, and sort them into hubs as desired. As a general rule, devices fall into 3 classes:
Cameras – most data, should have a hub all to itself if possible
High speed UART devices (those scopes and devices NOT using a standard COM #)
Serial Emulated Devices running at 9600 Baud – these are easy in terms of bandwidth and don’t need a lot to be happy.
Mice/KB/other user hardware – this stuff isn’t critical, so should be relegated to a “don’t care” hub.
With these changes, try out your system and see if things work better. More to come on this subject!
I’ve had an actual “job” since I was 15. Of course, my first work was mowing lawns as a kid, moving firewood, cleaning up rental houses, the usual “make a few bucks” stuff. When I was 15 I had a chance to become a beta tester for a book called something like “Windows 3.1 for kids”. Of course, once that book published, I had to enter the real workforce, which led to the upper crust position of Jack in the Box grill guy. Over time I moved up the ladder to Wal-Mart, pushing carts, and ultimately working in the electronics department. In my junior year of high school, I joined a small independent computer shop in a strip mall called ICB computers, managing to get in 40 hours a week while in school. There I beat my head against the wall trying to resolve IRQ conflicts by swapping jumpers in ISA cards, installing the oh-so futuristic 5″ “bigfoot” hard drives, and generally figuring out the world of the PC. Many years and jobs later, I’m 35, so I’ve had a full time job for around 18 years.
It was this comfort of always “having a job” which caused me to struggle with a very tough question – was this the time to branch out into my own business? Would there be enough work for me to sustain my family? Could I manage such a daunting task? Ultimately, I was compelled to take the step, and as of Oct 2014 have launched Advanced Research Consulting Corporation.
[EDIT]
Originally I planned to stop blogging, but I’ve had a number of requests to keep it up! So – I must bow to the community and get back to frequent posting. 🙂
I’m happy to announce a new product for microscopy, the “TriggerScope” controller system. I hope this device will prove itself useful in many areas of microscopy, but the basic idea is that it can drive scope components via manual control, TTL triggering, or PC control.
Let’s say you have a laser and want to drive it, but want to use Micro-Manager, and there isn’t a straightforward driver solution – with this device, you can run the laser right from the triggerscope, control the firing sequence of the laser based on a camera, manual, timed or software input, or just control the laser manually. A block diagram of such a setup would look like this:
Here’s an example of a ramp setup showing on/off of 2 triggers (say 2 lasers) and stepping of the DAC output (in this example we could send the DAC to a focus motor)
The Controller can also be used as a straight controlled DAC system, where your PC drives the box and the box sends out TTL and/or Voltage values out. More information can be found on the website for the device.
The device shown is the base system – I can build these with up to 9 DAC outputs, and 20 TTL outputs. Custom software is also available should you want to do something unique with this. Also – the firmware and software code is provided with the device, so you can add to it if you like! As far as I know, this is the first device to be provided with open source firmware & drivers.
I’ve been experimenting with a simple way of pulling a single power source into two rails, ad the simple solution is to use a voltage divider. One of the best explanations I’ve found on how these work is this excellent tutorial from SparkFun .
I recently was working on some file transfers using filezilla, when I needed to edit a php file. Filezilla has a “view/edit” option, so I clicked it figuring, “ah, this likely won’t work, but I’ll give it a try”. To my surprize, it launched a really nice text editor, which after some research turns out to be Adobe’s Brackets. I tried this tool on Elements .mac files and on arduino .ino files, and while it reads mac files, amking external edits simple and clean, it properly color codes arduino .ino files, which is really nice.
Microscope objectives are typically classified as being brighter or darker based on NA, or Numerical Aperture. This is for good reason, as the NA of a lens will affect both the amount of light delivered to a specimen (excitation) and the amount of light collected from a specimen (emission). In addition to this, NA increases in both the X and Y axes, so a 0.1NA increase increases the efficiency of an objective by 0.1², which translates into a LOT more light. But how does magnification affect the brightness of a lens?
Consider a typical set of high magnification oil immersion lenses, let’s look at a 100x 1.4NA, and a 60x 1.4NA. If the NA is the same, we can determine that:
the minimum resolvable distance is the same (affected by NA)
the excitation.emission efficiency is the same (affected by NA)
So how will the magnification affect the overall brightness? If the NA of the lens specifies the accuracy we can resolve at the specimen plane, then the magnification of the objective relays that resolvable distance, to either a detector (camera) or our eye. If the magnification is low, the amount of information, or light, per unit area, will be greater, at a lower magnification. Kurt Thorne has a good example of this on his post regarding space bandwidth product, which shows just how much more information is packed into a 60x lens due to the larger FOV. So – if we have the same light collecting ability at 60x, as we have at 100x, then we have concentrated the same amount of light onto a smaller point at our camera, or at our eye.
What this leads to is that we have a choice of which resolution we want to maximize, if we want to obtain the most dynamic range, or the fastest capture frequency, or a large field of view, (or any combination thereof) we would choose the 60x lens. The 60x grabs a larger field of view, and packs the most light into the image sent to our oculars or camera.
On the other hand, if we want the absolute highest spatial resolution, say for a large-pixel EMCCD, then we could choose the 100x, to spread our light over a greater # of pixels.
It’s not uncommon for microscopes to be equipped with only one high magnification oil immersion lens, and usually it’ll be either the 60x or the 100x. So, if you are considering which lens to buy, or to standardize on for your research, consider the importance of both magnification AND field of view/brightness. You may find that a lower mag objective improves the quality of your data!
A friend sent me an awesome and interesting article on petapixel with some excellent examples of how rolling shutters work on cmos cameras. (Thanks Hoy!) This is directly applicable to scientific CMOS cameras, IF you are using the “rolling shutter” method of capture. To make sure you capture an entire field of view in one single snap, use “global shutter” mode.
But I’d add that the best place to find such tools is Harbor Freight. Now don’t get me wrong, I’ve found items like cutting tools, abrasive pads and the like to be of marginal quality, but for a lot of tools, you can’t beat good old HF!