Measure As Little As You Want With OpenQCM

The clever folks over at [Novaetech SRL] have unveiled openQCM, their open-source quartz crystal microbalance. A QCM measures very minute amounts of mass or mass variation using the piezoelectric properties of quartz crystal. When an object is placed on the surface of this sensor, the changes in the crystal’s resonant frequency can be detected and used to determine its mass in a variety of experimental conditions (air, vacuum, liquid). However, most QCM technology is proprietary and pricey – at least US$3000 for the microbalance itself. Any consumables, such as additional crystals, cost several hundred dollars more.

The openQCM has a sensitivity of 700 picograms. At its core is an Arduino Micro with a custom PCB. The board contains a 10K thermistor for temperature offset readings and the driver for a Pierce oscillator circuit. The quartz crystal frequency is determined by hacking the timer interrupts of the Arduino’s ATmega32u4. An external library called FreqCount uses the clock to count the number of pulses of the TTL signal in a 1 second time frame. This yields quartz crystal frequency resolution of 1Hz. The user interface is built in Java so that data can be read, plotted, and stored on your computer. The entire casing is 3D-printed, and it appears that the sensors are standard oscillator crystals without their cases.

Simplistic design makes assembly and maintenance a breeze. It only weighs 55 grams. Replacing the quartz crystal requires no special tools due to the clip system. The openQCM can be used as a single unit, or in multiples to form a network for all of your precise measurement needs. While they have kits available that will set you back US$500, all of the files and schematics for 3D-printing, assembly, and the PCB are available on the openQCM site for free.

[Special Thanks to Augustineas for sending us this tip!]



24 thoughts on “Measure As Little As You Want With OpenQCM

  1. Wouldn’t a device like this benefit from being heavier? If it’s a lightweight device isn’t there likely to be an increased noise floor due to outside vibrations (eg, sound / ultrasound).

    Very interesting technology in any case.

    1. Built a femtogram-resolution sensor for my master’s project, so I can answer this with a pretty clear “no”. There’s really not a lot of 10MHz mechanical oscillation going on around us.

    2. They are looking a a ditinct frequency band so virbrations and resonances of the enclosure have a minor influence as long as they are not in the same frequency range.

      Compared to a static microbalance where the equilibrium point is strongly dependent on vibrations, therfore a heavy enclosure on very weak springs can isolate from external forces/movements (i.e. act as mechanical low pass f=sqrt(c/m)).

      Regarding excitation due to sound onto the disk, that is not that big of a problem because the acoustic impedance difference between air (Z1=1.2 kg/m³*340 m/s) and lets say a piezo disk material (Z2=7800 kg/m³*3970 m/s) is very big and therfore the reflection rate R =[(Z2-Z1)/(Z2+Z1)]²=0.999947 is very high (that is also the reason why Piezo buzzers have a minute efficiency factor), it is different in water but in this case you have to get the sound vibrations first in the liquid itself.

  2. yuck we hate videos that are nothing but music.

    if you are trying to share a song please use another video to do that we want some voice over to describe how it works

    1. openqcm: Can you please check and make sure your software download links are working? I’m unable to download the Arduino code nor the Windows Java code. The URL looks reasonable but clicking the links take me to your main page.

      Thanks for keeping your project open source.

  3. Did anyone else notice that they are charging $500 for the unit? The sensor costs $14 from their webstore (or about half that if you buy it from a vendor directly), the arduino shield is listed for $50 (and could be reproduced for about $10), which would imply the bulk of the cost is in the 3d printing. Is it really possible that a palm sized 3d printed object can cost upwards of $400 to produce?

    1. It is value versus cost. How many 3D printed enclosures can they make a day and what do they cost in real terms – rent, employee time that could be spent on something more profitable, wastage rate, decaping crystals, etc? If you had to pay yourself $130 an hour to make one, what would it cost?

  4. Very, very interesting. I looked at something like this years ago when I was into vacuum deposition and needed a way of measuring film thickness. Unfortunately I’m no longer doing that sort of stuff, but this would be ideal!

    As for the people wondering about the price (which is 500 Euros, not dollars) – my 2 cents. People don’t realise or appreciate the time and equipment invested in development and software. That’s invisible – all the customer sees is the finished box, and often assumes that just came about first time around. From bitter experience, there is a boatload of development work that goes into products which has to be paid for. They’re getting software for free – there’s another piece of work which has to be paid for, and this is incorporated into the price of the product.

    1. They have two tiers of pricing – the fully assembled and QC’d version is 500 euros. The starter kit that requires assembly is 400 euros, which is the one I was referring to in the article. I agree that the time and manpower required for developing a product is often underestimated; it’s part of the reason new pharmaceutical products can be so expensive – it takes a minimum of 15 years to get it to market, and only 1% of the drug candidates ever make it to that stage. We had a saying at my old R&D lab – a successfully developed product is 99% failure and 1% success.

    1. Thank you anfractuosity.
      The quartz crystal frequency is partially affected by variations in temperature. But once the device the reaches the equilibrium, typically 25 – 26 °C in standard ambient condition, the fluctuation in temperature stops. We are working on temperature control. For example, a setup based on a peltier element and PID control by using Arduino.

  5. Wait, just using the ATmega timers in a function they’re designed for is now “hacking” them?

    Is driving my car “hacking” it? Because it’s about the same difficulty.

  6. With the right algorithm, the frequency accuracy for a 1 second measurement doesn’t have to be limited to 1 Hz.

    For example, if you have a nominally 1 MHz sensor crystal, you don’t have to count the number of rising edges in a second to get 1,000,003 +/- 1. You can, instead, count the number of 16 MHz CPU clocks that are required to get 1M sensor clocks giving (16M – 43) +/- 1 –> 1M+2.68 +/- .06 Hz, which gives 16x better precision.

    You can even get better than that by looking at the pattern of sequential 100k counts to estimate the relative phases of the clocks at the beginning and the end of the ~1s accumulation interval.

    Whether getting the extra precision this way increases your accuracy depends on the system stability, relative clock speeds, etc., but I think it might help.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.