Polarization Part #6: Calibrating Waveplates
Discover the art of calibrating wave plates with metrology-level precision! Also includes an analysis of the measurement precision using Monte-Carlo simulations!

Discover the art of calibrating wave plates with metrology-level precision! Also includes an analysis of the measurement precision using Monte-Carlo simulations!

Discover the art of aligning polarizers with metrology-level precision! Covers reference axis alignment, crossed, parallel and 45° configurations.

Finally a full mathematical framework to understand generalized polarization!

Understand birefringence and elliptical polarization using our hands-on experimental setup on stress birefringence with vivid colored images!

Ever wondered how to build a high quality backlight and optimize it through simulation? Check-out our amazing post on backlight optimization!

Angular Spectrum doesn't ring a bell to you ? Check-out our post on how to measure LED and diffuser plates intensities variation with angle! Also includes CAD files for experimental setups!

In this second post of the Polarization series, we explore how reflection affects linear polarization.

In this first post of the Polarization series, we explore how scattering affects linear polarization.

Discover the amazing world of Signed Distance Functions and how I used it to implement a robust tool crash detection method!

My CNC Programming/G-Code crash course is finally available! Check-it out!

I can't believe CNC machining could have been so easy :D Crash course in setting up your own CNC machine for fast optical instrument prototyping!

Wanting to switch to rapid manufacturing for your optical project? Check here to learn how to make lenses mounts under 3h at less than 6€ each!

DevOps for Optical Design


DevOps for Optical Design

DevOps for Optical Design

Watch the spectra of distant objects using a telescope? It's now possible with our open-source confocal spectrometric telescope!

Open-Source Fluorescence Spectroscopy, how to create liquid white fluorescence and extracting the fluorescent dyes from pens!

Materialise screwed up my parts! It's time for a fix in the workshop :) .NC program and STEP shared for reproduction!

Ever wanted a 3-axis translation stage but couldn't afford Thorlabs or Newport prices? Here is the answer! all sort of 3d printed high performances stages!

In this post, I show how an extremely cheap setup based on 3D printing technology can accurately evaluate the performances of cameras according to the EMVA 1288 standard.

Have you ever wondered how we perceive colors and how we reproduce them on computer displays? Here, I give some open-source code to compute colored patch and synthetic spectral images from .csv spectra!

Open-Source absorbance spectroscopy hardware and experimental discussion of the absorbance of copper chloride in different solvents!

Everything you always wanted to know about GigE PoE cameras: from a one camera setup to multiple cameras with multiple computers!

Open-Source 350-700nm spectrometer design & analysis of the spectra dynamic range as a function of the slit size!

In this post we "hack" Thorlabs MTDEVAL1 board and software for a cheaper alternative!

DevOps for Optical Design


DevOps for Optical Design

How should we deal with off-the-shelve components in our product? Discover some lessons learned here!

DevOps for Optical Design



Transform a cheap $150 Thorlabs laser into a high-performance 1k$+ one!


DevOps for Optical Design

Testing CNI MGL-III-532-50mW laser on OpenRaman!

DevOps for Optical Design

Check here how to tune your laser to boost its performances!

All the secrets to ease up alignment of OpenRAMAN!

DevOps for Optical Design

DevOps for Optical Design

All you need to know about partition ratios!

How to use an external laser in OpenRAMAN!

Resources Manager are NOT only for game engines!

Is this synthesis correct? Check-out using low-cost Raman Spectroscopy!

DevOps for Optical Design

DevOps for Optical Design

DevOps for Optical Design


DevOps for Optical Design

C++ Concurrency in heavy action!

DevOps for Optical Design


DevOps for Optical Design


Learn how Video Games and Raytracing software transforms objects from local space to world space coordinates


DevOps for Optical Design

DevOps for Optical Design

DevOps for Optical Design

DevOps for Optical Design

DevOps for Optical Design

DevOps for Optical Design

DevOps for Optical Design


Complete 400 mA laser & TEC driver below 500€ for OpenRAMAN Performance Edition!

This post contains all the details you need to know to implement your own Digital Signatures algorithms + Source Code!

In this post I present the algorithm I developed for the automated calibration of spectra in OpenRAMAN.

In this post I review the TEC driver MTD415 from Thorlabs. Very good chip for a low price!

Short review of Thorlabs LD1255R precision current laser driver. Spoiler alert: it overheats a LOT!

How to implement event monitoring in your own C++ programs!

The official spectroscopy software for the OpenRAMAN project is there!

OpenRAMAN first prototype is available! The perfect solution for teaching Raman spectroscopy at low costs!

Measured efficiency is 45%! Great news!

Does chemistry require faith ? Not anymore! Raman spectroscopy allows you to see into the reactions! Evidence of Bisulfite Addition to Aldehydes using Raman Spectroscopy

Follow-up of the previous post on ethyl acetate kinetics! This time I checked how to correlates the coefficients of the LS method!

Measuring the kinetics of a >1 day organic reaction with OpenRAMAN? Challenge accepted!

Want to understand least squares fitting once and for all? Answer is here!

Is OpenRAMAN able to quantify small amounts of methanol in ethanol? Answer is YES!

Check-out our new DIY Raman website on http://www.open-raman.org with full assembly instructions!

Some free Raman spectra with the final version of the breadboard! Check it out!

Raman Spectrometer is now as good as pro units! 12 cm-1 resolution measured on nitromethane and plenty of SNR!

New cuvette holder for the Raman breadboard gives 4-fold signal improvement! SNR of ethanol peaks are now >1000:1!

In this post I am upgrading the lens system of the spectrometer to increase the resolution to 0.15-0.20 nm which will later give peaks of 6 cm-1!

Slits can change shape in spectrographs? Wow no way! Discovers here why!

Slits can change size in spectrographs? Wow no way! Discovers here why!

Do-It-Yourself Raman spectrometer! Discover in this post how to build a Raman spectrometer with 35 cm-1 resolution with off-the-shelves elements.

What is the best camera sensor to build a highly sensitive spectrophotometer ? Discover here!

Discover a great formula to predict the RMS spot size of any achromatic lens sold by Thorlabs!

What is resolution in spectroscopy exactly ? How is it different from the dispersive power or even the FWHM of the system ? How can one predict the exact effect of the slit size? Discover all these answers and many more!

Stop wasting time aligning parts on your mill and discover a great technique to achieve ultra high precision down to 0.01°!

In this post I present some simulation analysis on the performances on our custom 400-800 nm spectrometer using Ray Tracing software.

In today's post I present a confocal spectrometer that allows you to get spectra at large distance. As illustration, I analyse the composition of a street lamp 50 meters away!

In this post I give a complete spectrometer design and assembly instructions to cover the 400 to 800 nm range with a resolution of 1 nm and a sensitivity of a few photons only.

In this post, I build a monochromator from a prism to select an output wavelength with a bandwidth of 10 nm and I compare the result with a theoretical model.

In this post we learn how optical aberrations affect the maximum achievable resolution and photon efficiency of a spectrometer design.

In this post I present a test sensor that measures linear displacements with a resolution better than 50 µm.

In this post I present an introduction to optical design with stock elements and I illustrate with a the assembly and testing of a custom 5x microscopy plan diffraction-limited objective.

This video describes how to build a powerful alignment and metrology tool for your optical lab. It provides an accurate reference of infinity (collimated) light and allows to measure very small angles of reflective or semi-reflective (e.g. air-glass) interfaces. Autocollimators are real time-savers in optical labs!

In this post I present a refractometer based on total internal reflection on a prism surface that achieves high refractive index resolution. The refractometer is then illustrated with four different solvents.

In this post I present a high power LED driver with 20 kHz modulation input designed to replace expensive drivers from optical suppliers.

Precision Motorized tables are often very expensive. In this post, I present a table printed from 3D parts that can provide 80 nm incremental linear motion at only 1.5 mrad wobble.

Working on your own projects is one of the most exciting things that you can do during your spare time. In this post, I share my experience on the methodology of amateur projects management such that you can increase your chances of success.

In this post, I describe a generic photodiode amplifier that is compatible with most photodiodes from generic optical supplier. The amplifier has selectable gains up to 70 dB and low noise features.

In this post I present a downloadable generic PCB for 8th order Sallen-Key filters with examples of low-pass, band-pass and high-pass filters as well as the mathematical development of the Sallen-Key transfer function.

In this post, I describe a spectrophotometer with a 0.01 nm resolution. It is then further applied to the study of lasing modes of a 532 nm NdYAG laser.

In this post we will see how to align optical element at infinity with high precision and without a reference instrument.

This post describes an Arduino Uno based conductometric shield circuit to monitor the conductivity of chemicals in solutions. It includes the Gerber files to reproduce the PCB yourself.

Discover how to build a DIY conductometer for solutions from 30 mS/cm down to demineralized water. The complete Gerber files and circuit schematic provided to help you reproduce the circuit at home.

In this post, I present a method to extract the RMS value out of a square wave carrier signal such as to maximize its signal-to-noise ratio.

In this post, I present a simple device able to measure angular deviations and wedges down to 0.007° using of-the-shelve optical parts.

In this post, I present the Tanks-in-Series model to approximate a real reactor mixing function by using simple tracer pulse experiments.

In this post I discuss a message handling system designed for usage in games and which displays a high level of abstraction for the programmer.
Ever wondered how sensitive CMOS pixels are? Discover the answer here and how it compares to standard high-performance photodiodes!

In this post, I show how it is possible to build a good quality bright field microscope from inexpensive camera lenses with details down to one micron!

So you are considering buying a Makerbot Replicator 3D printer to help you in your engineering work? Well… maybe it’s not such a good idea. I will tell you why here.

In this post I describe an inline sensor to measure absorbance and fluorescence of chemicals in flows. I first cover absorbance and fluorescence and how they can be measured using LEDs and photodiodes before introducing a 3D-printed sensor that can track concentration change in flows.

In this post, I describe an electronic targets system-based game to practice shooting with airsoft guns. The assembly instructions, Arduino source code and internal working principle are given in details so that you can reproduce the system!

Every student knows that a square wave can be written out of sine waves. Here, we will show how sine waves can be made out of squares waves.

In this post, I give an introduction to heterodyne systems with some working examples and simulations to play with frequency summing and spectrum analysis. Heterodyning is perfect to increase the available bandwidth of your homemade data logger circuits!

In this post I give 3D models and instructions to build an actuated flow selector from 3-ways valves using an HItec servo-motor. We further use this actuated valve to implement a continuous pumping motion from our previous DIY syringe pump.

Discover the assembly instructions and source code of our syringe pump controller based on an Arduino Uno board.

Discover how to print a low-cost XYZ microscopy stage with a 50 µm resolution for a few dollars only. Instructions on video.

In this post I present a DIY Syringe Pump that you can print for less than $50. The prototype was tested at 12 µl/s and has a 0.6% mean accuracy.

In this post, I show how expensive microscopy objectives can be efficiently replaced by camera lenses to achieve resolution down to 0.9 µm for less than $150US.

In this post, we use a 12V air pump to create a controlled vacuum inside a tank in order to select a desired flow rate for corrosive liquid withdrawal.

Building of a spectrophotometer can greatly benefits of modern SLR camera lenses. Here, we show how a 50 mm Nikkor SLR lens and an Olympus Plan microscopy objective modifies the quality of a neon spectrum compared to a conventional N-BK7 1" stock lens.

Object persistence allows a programmer to store the content of an object into a stream of bytes and to reload the object later. It is conveniently used to implement load/save mechanisms. Here, we study how to implement such a system in a very automated way using C++.

Magnetic stirrer are one of the most important piece of hardware you will find in a chemistry laboratory but they can be expensive. In this article, we study how to build a homemade magnetic stirrer using parts available from online shops.

Pressure sensors and load cells are example of bridge sensors. In this article, we show how to build an instrumentation amplifier for a given sensor.

No electronics enthusiast can live without an oscilloscope! But they get pretty expensive really fast. Here, we study how to build one from a PIC microcontroller and use the computer to analyze signals up to 5 kHz.

In this review we get a spectrophotometer from Science-Surplus on the trial.

Laplace pressure is an interface force between two immiscible fluids or fluid/gaz. Here, we use the tiny pressure increase in a capillary to count bubbles at rate up to 2,000 bubbles/min.

In this post we show how to track a yeast fermentation kinetics from the gaz that escapes the reactor batch. Once the kinetics is known, it is possible to retrieve lots of information such as the alcohol produced or the sugar remaining.

Instancing objects from strings allows you to create class instance from alphanumeric templates. It is quite useful when automatizing loading behaviours such as in game engines.

Fast collision detection between entities is a major problem in game engine development. In this post I test a technique to speed up the detection by using a hierarchical grid.

Spectrophotometry is the study of the wavelengths composing visible light created or emerging from bodies and chemicals. In this post, I show how to build a spectrophotometer from optical components available online.

Achieving steady flowrates can be of uttermost importance in chemistry. Here, we investigate a few techniques that uses only parts available from any DIY shops.

Most people know LEDs for their light production aspects. But did you know that they can also be used to detect light? Most of all, they show to be sensitive to incoming wavelengths as well which makes them quite useful as sensors...

When working with pressurized systems, it is often desirable to have a security group to prevent the system to undergo an over-pressure issue. Such an element can also be used to fix the working pressure inside a tank by continuously injecting gas into the tank and letting the excess pressure go out by the security group.

Complex number allows representing rotations in both 2D and 3D spaces. In this post, we first cover the more simple 2D case before moving to how quaternions works for 3D rotations.

In this post we compare the turbidity and optical density of yeasts samples at different concentrations.

In this post we highlight the fundamentals of rigid body dynamics in the context of computer simulations. Emphasis is put on the origin of the various formula and mathematical expression found.

In this post we present a flow-rate controlled peristaltic pump built from parts available online.

Turbidity is the actual measure of the cloudiness of a solution. It is a known standard for particle counting. Here, we show how to build a simple circuit to measure turbidity from conventional electronics components.

In this post we show a simple model to drive a biological reactor using Finite States Machines and we present some simulation results.

In this post we present a device to measure liquids levels and liquids interfaces by their capacitance.

Managing a communication between a PIC microcontroller and a PC is a tricky task. Follow this detailed tutorial to understand how to get it right and unleash all the power of RS232 networking!

In this article we show how to measure extremely low capacitance values, down to the femto-farad level by using the deviation of the period from a classical RC astable circuit.

Sine wave oscillators are the black magic of electronics. How to build them? How do they work? In this post, we highlight the fundamentals of sine wave generations as well as a technique to reduce the OA costs.

When your ADC resolution is too low for you, just use the ADC resolution doubling trick described here!

Operational Amplifiers are often use to sum or subtract voltages but they can also be used to produce much more complex functions such a multiply, divide, log and many others. Here, we built a power function from a log and antilog stage.

In this post, we measure flow rates by looking at the pressure drop induced by a small orifice in the flow circuit.

The TC962 from Microchip is one of my favorite integrated circuit. It allows you to produce a negative voltage from a positive supply or to double your supply rails. Here, I show a simple way to create a split power supply from a battery.

Solving chemical equilibria can become very tedious as the number of equations grows. Here, we investigate how to solve complex equations by using the computer to iterate the solutions. Examples and common traps are also presented.

In this post I test a method to generate smooth 2D maps from procedural data by analyzing the local points to select the best tile to use.