- What is Sequential Injection Analysis (SIA)?
- Our implementation of SIA
- Design constraints of automated sampling
- Description of the plumbing of C4Derpillar
A key component of any analysis protocol is preparing the sample a user wants to analyse within the constraints of the instrument they are using. In the case of an autonomously-operating field-based analysis system (like the C4Derpillar), we have many unique considerations for the design of this system.
The C4Derpillar utilises a technique called Sequential Injection Analysis. Essentially it’s a fancy way of saying that we are running multiple samples through the machine without requiring a user to intervene or the machine to be reset. This is achieved by filling a sample reservoir from the user (in the case of fixed operation) or from the environment through a peristaltic pump and then pumping it through the separation system.
A typical analysis run would start by ‘cleansing’ the system with dilute sodium hydroxide. This serves a dual purpose of washing away residue left over from previous runs and ensuring that the capillary tube walls are fully ionised.
Once the sample is introduced into the system, we need to mix it with separation buffer so that it can be properly detected by the C4D detector. Another requirement of Sequential Injection Analysis is that we have a constantly flowing ‘stream’ that the sample is introduced into as a ‘plug’. This stream is then directed through the capillary tubes, where separation and detection is achieved. In our design the sample is enclosed by the same separation buffer used to dilute the sample, saving us a lot of hassle!
After a run, we want to refill the system with dilute sodium hydroxide. This is to ensure that any nasties are washed away and that the capillary tube does not dry out between uses (“if it dries, it dies”).
While SIA sounds simple in theory, we are analysing small total volumes (in the microlitre range) once the sample stream is introduced into the capillary tube separation system. This means that even minute fluctuations in the injection process will cause a high amount of relative error in readings. If we want to do quantitative work (where we measure the amount of a chemical, rather than just identifying it as you would with a spectrometer like the RamanPi), it is clear that a strategy to introduce a known amount of sample with high precision and repeatability is vital to the success of the endeavour.
Usually, commercial automated instruments would feature some form of flow selection manifold system that could be used to select between the various liquids we want to mix together (separation buffer, sample, optional chemical modifiers). Unfortunately, these systems are either VERY expensive ($100s) or rely on compressed air for precise actuation of the liquid - something you won’t find in a remote African village.
We have overcome this issue by using a plumbing system that features a combination of three-way and two-way valves, solenoids and syringe pumps. The valves and solenoids are in a configuration so that they are functionally equivalent to a flow selection manifold. doctek's Simple Syringe Pump provides a resolution of approximately 0.5uL per step of a NEMA 17 stepper motor. As stepper motors produce inherently repeatable actuation across a range of speeds, syringe pumps are ideal for fluid transfer in our device, requiring only a simple 5V signal and a controller.
By having this known amount of sample introduced in every analysis run, we can use standard solutions of known concentration and construct a linear calibration curve to use the C4D detector response to measure chemicals at unknown concentrations. The academic literature reports C4D detectors to have high linearity, usually over several orders of magnitude, meaning that the detector responds faithfully over a large range of ionic concentrations. This increases the versatility of the instrument in that it can accept a broader range of samples without requiring a pre-treatment step by the user.
The next challenge is plumbing all of these bits together. We decided on using 1/16” OD PTFE tubing as it was compatible with the ¼-28 UNF PPS nuts used to interface with components. The component interface is watertight by virtue of a collapsible ferrule - a piece of material that compresses around the tube as the nut is tightened.
More information regarding this connection system can be found at the manufacturer's website:
Another requirement of the separation system is that we have one HV DC electrode situated in the beginning of the sample ‘stream’ before it enters the capillary. As the majority of groups that use this type of plumbing gear are well-funded research institutions, our options were limited in this regard - with the nearest suitable product costing at least $100USD. In addition to this, interfacing 1/16” tubing to a 365um OD capillary tube is also an expensive exercise, usually requiring a ‘reducing ferrule’. We overcame this on the cheap by using a tiered sleeving system, where the 365um OD capillary is sleeved by 400um ID/900um OD and then 900um ID/1500um OD tubing, which works with the ¼-28 UNF nuts.
As these blocks are essentially I and T pieces with a ¼-28 UNF thread, 3D printing seemed like a viable option. We sat down for an afternoon in 123D Design and came up with the following designs; the STL files can be found on our GitHub page, but please note these are a very early design as we work out ways of ensuring the printed product is watertight such as acetone vapour bathing. Having no prior experience in tapping threads, we decided upon making the cylinder diameter 95% of the ¼-28 UNF tapping drill minor diameter. The hole connecting the interfaces in both models is 1mm x 1mm. The electrode is passed into the system by sleeving it , bringing it to the final 1/16” tubing size of the nut.
Electrode/1/4"-28 Nut adapter.
Electrode adapter plugged into a 3-way valve.
Stay tuned for a post on how we control all these systems with an Arduino! In the meantime, here are some preliminary logic states required to conduct a separation, which will help us when designing the code.