Published: 2026-09-27 | Category: [»] Engineering.

Call for Support

thepulsar.be has been providing high quality articles, experiments and open-hardware instruments since 2009. I always choose to provide the content for free, without relying on paid advertisements/popups and such which spoil the overall user experience. As a consequence, I run exclusively on private donations through the Patreon plateform. I therefore ask you to take a moment to consider donating to support our 15yr+ effort on this website.

Donate via Patreon

There are times when you can just drop a cuvette in place and measure, and there are times when you need the sample to be positioned in a repetitive manner to make accurate measurement. My next instrument is one of the latter, and, in fact, was found to be extremely sensitive to the position of the sample.

In this post, I explain how I designed and built the cuvette holder system of Figure 1 which is intended to be a “go to” solution for all my future projects. All the files required to reproduce the system can be downloaded [∞] here. I successfully implemented the system by 3D-printing the parts using ABS/ASA on my Bambulab printer. The zip archive of the CAD also contains the 3D-printer friendly version of the parts and only need 4 extra M2×3 inserts from CNC Kitchen. All M3 holes can be tapped directly into the printed parts as they don’t require much mounting/unmounting.

Figure 1 – Cuvette holder assembly

The system of Figure 1 is compatible with Thorlabs 30 mm cage systems and has a magnetic cover. Here I’m using a glass cuvette (not quartz!) from Hellma, model 6030-OG which is suited for polarization experiments, but the system also fits any standard square cuvette used in spectrometry experiments, including the cheap polystyrene ones.

As I mentioned, exact repositioning is a required feature for the instrument I am working on. Without it, error can grow to 50% of the measurement value!

To force exact repositioning, the first step is to make the system isostatic by giving it a number of contact points strictly equal to the number of degrees of freedom we would like to freeze. Here, since we want perfect repositioning, we need to fix 6 degrees of freedom.

The concept of isostatic mounting is shown in Figure 2 for the 2D case. In 2 dimensions, there are 3 degrees of freedom which are solved here using three contact points. The rectangle in Figure 2 can be removed and replaced at the exact same position at infinity thanks to these contact points. The two forces, F1 and F2, maintain the rectangle in contact with the contact points. In theory, one pressure point per axis is sufficient but I have found that, for the cuvette system of Figure 1, having one pressure point above each contact point works better.

Figure 2 – isostatic mounting

Isostatic mounting in the cuvette system is achieved using the ball screws of Figure 2 which can be obtained from Misumi. Balls provide nearly perfect contact points, and the cuvette can slide on them pretty easily although care must be taken to avoid scratching the cuvette surface (!). In this project, I’m using RSM3-5.2 M3 ball screws which provide L=5.2 mm, d1=1.5 mm and S=0.5 mm – a very compact solution.

Figure 3 – Ball screw RSM3 (image from Misumi)

Just like I used RSM3 ball screws, I am using BPK3 ball plunger screws from Misumi, shown in Figure 3. They are similar to ball screws except the ball is spring-loaded and can move while exerting a force on the cuvette. In BPK3 M3 screws, L=5 mm, and Smax=0.5 mm with a force ranging from 1.0 to 2.0 N.

Figure 4 – Plunger screws BPK3 (image from Misumi)

Using RSM3 and BPK3 works well with cuvette thanks to the beveled edges of the cuvette which guides it in place as shown in Figure 5.

Figure 5 – Bevel guiding cuvette in place

In terms of assembly, three RSM3 are inserted into the unmounted front plane until they protrude by about 0.25 mm as shown in Figure 3. Since the sag, S, is 0.5 mm, any distance between 0 and 0.5 mm should work but it best to avoid steep edges by inserting the balls too much into the cavity. To avoid changes in repositioning due to potential loosening of the ball screws over time, some standard DIN913 set screws are placed behind as a locking mechanism. These three ball screws already provide the required degree of freedom for the front plane of the cuvette.

Figure 6 – Front plane assembly

Note that the position of the screws was designed in such a way that scratches due to repeated insertions will never end up in the observation window of the cuvette. If the pattern had been flipped up vertically, the cuvette would have been unusable once scratched. Equivalents of RSM3 and BPK3 exist with resin tips, but they don’t offer the same repositioning accuracy as steels balls – a trade-off that you need to be aware of.

The second part of the assembly is shown in Figure 5 and follows the same principle and fix the remaining degrees of freedom. The RSM3 ball screws are inserted with 0.25 mm gaps and locked in place using regular DIN913 set screws. The ball plunger screws can be inserted but not tightened yet. Once the cuvette holder is fully assembled, as shown in Figure 1, you can insert a cuvette and slightly increase pressure with the plunger screws. I have found that a quarter turn of the M3 thread was enough once the BPK3 touches the glass surface. Tighten with extreme care as over-tightening will damage your cuvette in an irreversible way and might lead to injuries. Never force a cuvette into the holder. Changing between different cuvettes might require re-adjustment of the BPK3 ball plungers due to tolerance variation in cuvette manufacturing.

Figure 7 – Main cuvette holder part

The cavity for the cuvette has been designed taking into account the dimensions of a standard cuvette (12 mm) and the sag of the ball plunger screws, leading to an overall cavity of 13 mm. I have found most of the cuvettes I have being rather in the 12.20 mm range, although variation can be observed from one to the other. This is important because it pre-condition the amount by which you need to insert the ball screws in. Finally, when 3D printing the part, you will be required to sand off the faces of the #2026-17 and #2026-18 parts by about 0.25 mm each. This has been already foreseen into the STEP files that are 3D-printing compatible.

That’s all for this post! Do not hesitate to share your thoughts on the [∞] community board or ask your question on how to reproduce this experiment.

I would like to give a big thanks to Stephen, Lilith, Zach, Michael, Karel, Jesse, Samy, Kausban, Sivaraman, Pronto, Benjamin, Sunanda, Tayyab, Themulticaster, Marcel, Anthony, Dennis and Natan who have supported this post through [∞] Patreon. I also take the occasion to invite you to donate through Patreon, even as little as $1. I cannot stress it more, you can really help me to post more content and make more experiments!

[⇈] Top of Page

You may also like:

[»] OpenRaman Cuvette Upgrade/Fix

[»] Raman Cuvette Upgrade

[»] OpenRAMAN Starter Edition

[»] Solid Powder Raman Spectroscopy

[»] Fiber-Coupled Laser Update