Sensors on the seed counter machine

Today I will talk about sensors on the new prototype of seed counter Machine. What types I have used, how they work and why I have choose them.

If you want to know more abot it or on how to build a complex machine keep reading…

In the process of designing the new prototype of the old seed counter project we have encountered many situations in which sensors where inevitable. Some of this sensors are necessary for the machine to work but in some cases sensors are there just to check that the processes are executed correctly. Although we try to make all processes do what they have to do, in the real world situations things fail and in these cases is when sensors come in handy.

For those that didn’t follow the old posts, the sensors that we are talking about are installed in one of my projects: the seed counter. This is a machine that counts seeds and puts them into plastic blisters together with a label on it. Once the seeds are processed we have a plastic blister filled with seeds and ready to ship to customers.

Seed counter CAD
Seed counter CAD


In order to accomplish the mentioned process we have to make us of sensors. There are plenty of sensors and data inputs available in the market: push buttons, optical, accelerometers… also a variety of mediums that we can detect:  magnetic fields, pressure, humidity, temperature…  A quick look in to farnell or rsonline websites gives us a quick idea on the huge quantity of sensors available. Personally I always go to the most basic ones. They tend to be cheaper and easier, but as usual: some DIY is required, which makes things interesting and fun for us!

It’s our goal to keep the project simple, cheap and reliable at the same time.

These are the main blocks containing sensors:



X/Y axis


In order to know in which position our blister carriage is we are using microswitches to detect the 0 position on both X and Y axis. The microswitches are connected to the main board and give 1 or 0 depending if they are open or closed. The basic procedure is to move the stepper motors one step at a time and check for a closed microswitch. When this occurs means that we have reached the 0 position. This sensors are essential and without them we would not have position reference. Instead of this sensor we could have used encoders which give us a better and more reliable position feedback but that would have raised the price and/or complexity of the code.

Limit switch X axis
Limit switch X axis



Counter Wheel sensor

Optic sensor sx 4070

To be able to detect the seeds passing by the counter we use the sensor SX4070. It’s a basic optical switch slotted that will give us feedback when something gets in between the IR emitter and the IR receiver in each side of the sensor. We are using this sensor to be sure that a seed has been picked up in the counter. Seeds might vary in size and that’s why we have to be carefully to adapt the code and the margins when checking for detected seeds. This particular sensor needs some extra components to be able to communicate with Arduino. We created a small PCB board with all necessary components in it. Also a handy molex connector in case we have to replace the sensor or just remove it for cleaning or maintenance. I have to mention that in this case the sensor will send a 0 when a seed is detected as the seed will block the light from the emitter. The rest of the time a 1 will be received meaning that there is no block between the emitter and receiver.


Detection of blisters

Optic sensor OPB742

Pastic blisters have to fall into the blister carriage. This is a critical process and as such, needs to be double check by a sensor, in this case the OPB742. We are using this optical sensor that will emit IR light trough a LED and receive the bounced light by a close reflective surface. In this case we are sensing the transparent plastic blister which will not reflect as good as other materials. During the tests I observed that the results where much better than what I was expecting so if I keep the blister around 4 mm away from the sensor it will be detected perfectly. In this particular case we had problems by the ambient light. Any IR light getting into the sensor will count as a detection. We solved this problem by covering with an aluminium plate the upper part of the sensor to block all light that comes from the ceiling. Furthermore this sensor also has a custom PCB board housing the different components that make is talk with the main Arduino. In this case 0 means no detection and 1 means detection.


Please feel free to ask or comment. Next post will be about how I designed the ejection system for the seed counter machine. Till next time

Leave a Reply