Synthesizer Excelsior or Hivemind_Unity, you name it…

So you have found our blog and I can suppose that you are a student of the Leibniz University in Hanover. A big shout-out to all the others as well.

So you may wonder how our group started to be? It all began with two projects Synthesizer Genesis and Synthesizer Excelsior – One for Batch-, the other for Flow-Synthesis. But that is more or less the end of the story! What the ideas behind the projects really boils to is the new development in technology in the past decades. You are no longer a “nerd” for working with Arduino or python. In many field it has become a standard, that one is capable to find out how this technologies work and use them for projects. There are plenty of guides on the internet and those who seek innovation or have an idea on how to improve a workflow can find a suitable solution without having to design their own circuits or even worse, learn the unholy language of Java (no offense). So it is safe to assume, that this “little gadgets” are here to stay and lead throughout many fields of industry. And yes, even big companies rely on this modern tools for their MVPs (Minimum Viable Product) to reach PMF (Product-Market Fit) faster e.g. Toyota ITC as described by Eric Ries in “The Leaders Guide”.

So we tried to improve our workflows using this “new” tools and catch up with the rest of the world. Don’t take me wrong, if your Institute has money to spend, sees their human capital as too valuable and you just have to generate data as fast as you can, because your results really matter … then take the money and just buy one of the devices from one of the many new companies (and old, but rather unknown in the academic world). Help them to develop new solutions to our problems and improve, so they can eventually drive prices down for everyone.

Nevertheless, if you are here to learn the new ways with a benefit, that at the end you will get a smarter workflow and in the future automate the boring stuff even faster, then you are more than welcome. Let’s begin! As Finn told me: “Automatisierung macht sich nicht von alleine!” (Automation does not take care of itself … I wish…)

(And note that there will be some “Coming Soon” marks, because we all have other work to do. So if you are really interested, I suggest, you just walk by our labs and we can talk.)

Let’s begin our journey. Imagine you are standing in a chemical laboratory and get the exiting task to be involved in flow-chemistry. An exiting and newly emerging field. Everything is new, from the characteristics of mixing, catalyst reusability to the materials that can be handled on confined space. And the throughput and scalability seem to be a new standard for chemistry. Maybe you even came here, because you saw setups like “Reconfigurable system for automated optimization of diverse chemical reactions – Jamison et al., 2018“, “On-demand continuous-flow production of pharmaceuticals in a compact, reconfigurable system – Jamison et al., 2016“, or the stuff Cronin is doing? Sounds just about right for a modern scientific field, does it?

Yeah, now to the problem at hand. You have to test lots and lots of catalyst to find the right one. Not only that, in theory flow setups allow for a fast paced testing of conditions. You can vary flow-rates, temperature, pressure, catalyst loading (which can be presented overstochiometrically at the reaction site) and the mixture. You just have to equilibrate your system, take a sample and then you can plug in the next condition! In theory that’s right, sadly the catalyst oftentimes just looses its activity, so you have to keep it in mind while testing. But hey, if it can’t handle one condition, what is it good for in an industrial setup, right?

And here we are, thousands of conditions to test, but every piece of device and every condition has to be set up by hand, every sample has to be collected separately. If you are using Response Surface Methodology (RSM) or any kind of Design of Experiments (DoE), which by the way you should learn and use, but that’s for another thread (coming soon), the rest becomes brain-dead work. Getting constant pump-pressure, testing conditions until one pops into your face, yay, chemistry…

A collection of devices that can be controlled externally and subsequently by a higher logic layer.

Sadly, there is nothing you can do, if you cannot access the internet. If you can on the other hand, you will find out that engineers oftentimes use a programming environment called “LabVIEW”. You can’t program? You don’t want to build an interface for your program? You want to have several parallel processes running? Great, welcome to LabVIEW… Note that it is not open source, so you will have to ask your engineering department or the IT-department of your university. They have a copy for sure. What’s great about LabVIEW is, that there are many driver-modules (VI, like Virtual Instrument) available online. Just go to and see whether your instruments are available. Standard Knauer pumps, Heidolph stirrers and New Aera Syringe Pumps are for sure. If not, most of the time there are communication protocols available in the instruction manuals, so you don’t have to “hard-hack” your devices, don’t worry. (But if you have to, see how it is done: coming soon)

Why are we doing it?

See, you need to know how to operate all of your devices to build a higher layer logic that is operating your system, so you don’t have to do it yourself. So better address the question of what to do, when a driver is not at hand! Yeah, you better build one yourself! It’s not hard actually. As previously mentioned, you have to read the manual, to find out whether the device can receive external commands. The page should look something like that:

Heidolph stirrer Instruction manual.

The next thing you have to do is to connect the device to your pc and use the commands given. Lets say, you want to set the temperature to 40 °C, type: TP=040!, or even better, write a short program that uses this command to set the temperature. No need to set it on the device itself. On first glance, this is not a big change. It is not, that you have to do it frequently, it is somewhere between several minutes and an hour that you will need to change the temperature. And this is a problem in itself. You cannot do any major projects in the meantime. You stay at the fumehood and see the day fly by. Basically, you are plugging in an Excel chart, you prepared before you started and wait the time you calculated for the system to equilibrate, nothing more. And that is exactly the solution! If you give your system a table to read, it can do every step by itself, no intervention needed. Of course you have to connect every piece of equipment to your computer following the scheme described and it can take some tinkering. But then you are truly free to pursue other activities, no need for forced multitasking.

In more detail – if you really want to know

You have got a Heidolph stirrer and the standard plug they are using, including the communication protocol? In this case RS-232 with SUB-D DB-9. What does that mean? It does not matter to you, those are just some standard communication protocols, don’t worry about that. What you are interesting in are the “communication interface parameters”. You have to plug those in, so that your program can speak to the device. Again, simple stuff.

Communication protocol, do not worry about every bit of it.

To plug in the commands you simply have to plug commands you see above into the standard communication protocol. They are written to the device and if you are lucky enough it even gives out an response for free.

Command transmission. The “command” is what you type in to get the temperature, everything else is just a standard communication protocol.

To complete the whole controller, make a separate SubVI for every command that can be plugged into a bigger program. Make sure to have a module for every function! Don’t even think about creating spaghetti code! Make sure you download proper USB-to-RS232 drivers for the communication (Just google USB Serial Converter or USB to RS-232 drivers, there are a lot of them from different companies and they also come with the adapter you will have to buy, so you will find what you seek). A working setup will look something like what you see below. Keep in mind, that the user interface is generated by LabVIEW, but you will be able to play around and make it as pretty as you wish. Just make sure to build one for every device at hand, that uses this communication technology.

A module for every function of the stirrer. It sets the Max. Temperature, Stirrer Speed, Current Temperature and the Heating on/off switch.