Tuesday, 28 July 2020

Product Review - Seeed Studio's new STEAM Grove Beginner Kit For Arduino

I was recently contacted by Seeed Studio to see if I would be happy to review their new Grove Beginner Kit for the Arduino.  I have been a customer of Seeed Studio in the past and I'm always happy to review kit.   

Seeed is the IoT hardware enabler providing services over 10 years that empower makers to realize their projects and products. Seeed offers a wide array of hardware platforms and sensor modules ready to be integrated with existing IoT platforms and one-stop PCB fabrication and PCB assembly service. Seeed Studio provides a wide selection of electronic parts including Arduino  Raspberry Pi and many different development board platforms  Especially the Grove System, which help engineers and makers to avoid jumper wire problems and connectivity issues. Seeed Studio has developed more than 280 Grove modules covering a wide range of applications that can fulfil a variety of needs. 

DISCLAIMER: I have not been paid to write this review, however I was sent the product free of charge.  My comments and opinions are my own, based upon my experience.  I am not affiliated or paid by Seeed Studio or anyone else to review products.

The Grove Beginner Kit For Arduino was sent to me via DHL in three days!  I was contacted to see if I would be happy to perform the review on Wednesday and placed my order Thursday and had the product in my hands the following Monday.  If nothing else, Seeed Studio's shipping department are excellent as are DHL!

First impressions of the packaging are excellent and as to be expected from Seeed.  I particularly liked to the code reference on the inside of the lid and the QR code to the tutorials page on the back.

The Top view of the Packaging

The inside of the box and the PCB itself.

The back of the box.

The Grove beginner kit and the external modules.

Lets power up the board and see what it does 😀

The board is powered from a microUSB connector on the arduino compatible PCB in the centre of the board.

As soon as the board is powered up the test sketch that is already present in the microcontroller drives the small OLED display connected via I2C in the middle left section of the board and reads the signal from the light sensor in the top right section of the board, connected to the A6 analogue input.  It gives confidence that the components are all working immediately.  In ambient light the display showed a value of 326 and when the sensor was covered the reading was 15.  Excellent visual feedback.

In a very unusual step for me I then went to find the instructions!  As an engineer I normally just like to connect everything up and start messing with things until I get stuck but in this case I went straight to Seeed's product page:

From reading the page quickly it has links to all of the information concerning the Grove beginner kit so I won't reproduce the information here.  If you need to know how one of the modules is connected or require the schematic diagram and technical information it's all on this page.

The page recommended new users to look at the Geppetto online editing environment which I'll be honest I had not heard about.  Here is the web address:

It looks like a way of configuring different Grove Sensor modules and helpfully there is a pre-made template for the Grove Beginner Kit.

I also found the wiki for the Grove Beginner Kit:

Having read through the Wiki it gives more information about the unboxing demo.  By pressing the button in the bottom left corner it is possible to see the LED in the top left corner light up.  By pressing and holding the button you can see the LED flash at different rates.

By pressing and holding the button for a long period of time the OLED display changes state and displays the current demonstration program.  By manipulating the potentiometer you can scroll through the various tests and see each device tested which is very useful.

The sound test didn't seem to do much although it did give an audible bleep from a long button press.  Having played with it a little further, the demonstration is taking input from the electret microphone and providing a volume level output on the OLED Display.  By tapping the microphone you can see the sound level change considerably.

The temperature and humidity test worked well and gave the current temperature and humidity on the OLED display.  Heating up the blue sensor did make the temperature change.

The pressure sensor test did give a readout although I think I need to calibrate mine as it gave a reading of 100830.00 Pa which would make my house somewhere on the side of a mountain which isn't true!

The accelerometer sensor test program worked and the animation on the OLED display was very cool.  Again I think calibration is in order but just getting a response straight away is very useful.

Demonstration programs are all very well and useful for proving function but what I always look for in a development board is how I can use it.  In particular I want to be able to learn how to use the sensors breakouts to my own requirements.

The wiki shows that the board can be used easily with the arduino IDE.  That's good as I have the IDE already installed and ready to go.  

I loaded up the Arduino IDE and selected the Arduino Uno as my board and selected the COM port which was already detected - I didn't need to install any drivers as Windows had already installed everything for me.  

Looking at the Wiki page I found the pre-written code for flashing the LED once a second.  I cut and paste the code straight into the IDE and pressed upload.  Within seconds the LED was flasing every second, as expected.

There are several other examples already written and ready to go.

Basically if I were looking to teach basic electronics and how to interface sensor breakout boards with an arduino uno compatible micro-controller I would purchase several of these boards.  The examples provided work perfectly and unlike separate modules and development boards nothing can be easily lost or removed.  One of the biggest complaints from teachers and students with teaching electronics is that parts go missing and get lost or broken or tidying up after the class takes as long as teaching the class.  With this system both of those problems are solved. The price of the board at $19.90 or £15.38 is incredibly reasonable.  I don't really have any negative comments to make about this product and that is incredibly unusual for me!

This is a bit of a change from my usual posts but hopefully someone will find this useful - take care everyone - Langster!

Sunday, 7 June 2020

More work with the Venturi Tube (Mark 4)

In order to test the latest venturi tube properly I have had to recalculate the areas of the different tube sections.  I performed several calculations to find out the areas of the first and second sections of the tube.

2D Cross Section of the Venturi Tube Design (Mark 4)

The blue shaded area is a cylinder.  The formula for calculating the area of a cylinder is:

The area of the blue shaded section is therefore:

Which in metres is 0.0138590478.

The area of the red shaded section is a conical frustrum.  The formula for calculating the area of a conical frustrum is (really complicated!) :

I used an online calculator:

Which in metres is 0.00189862567

The red and blue shaded areas combined make up A1:

The grey shaded section is a cylinder. Its area (A2) is therefore:

We can now apply the formula for the venturi tube:

We will of course just insert these values into the previously written arduino code.

One of the requirements for this project is to display real time graphs on a small graphical display.  The display I intend to develop with has not arrived yet. In preparation I thought it would be a good idea to look at using Python and matplotlib.

I have been playing with Python and installed Python 3.8.2 and got it added to my path (Windows 10).  I then installed the matplotlib (library for plotting graphs) and watched a few youtube videos and read some tutorials.

I need to create these graphs:

I have the data being delivered from the sensor so this should not be too difficult to achieve.  Helpfully the graphs have scales and axes...

Many people have been requesting access to the 3D print design files:

Well that is enough for now - Take care...Langster!

Saturday, 6 June 2020

Testing the new venturi tube (Mark 4)

After printing the new venturi tube with internal conical sections I have removed the support material and attempted to use it.  There are some design issues which need attention.  I made the pressure port pieces too small and have had to improvise with a couple of plastic M4 nuts glued on.  To be honest that seems to work quite well so I might do that again as its easier that printing connection pieces.

I have guessed at the new internal dimensions within the firmware code as I am unsure of how the formula applies to the conical sections and I cannot find any information as to how to proceed.  Rather than go through all the calculations again I have updated the firmware from my earlier post and performed a quick test.

For documentation purposes I have set the code with the internal dimensions:

A1 = 0.01455 m^2
A2 = 0.001145 m^2

Here are the results:

Raw Data from the ADC - Gain setting 1, positive = inhalation, negative = exhalation

Differential Pressure - much improved sensitivity

The results seem to be much better than the last attempt.  The graphs clearly show inhalation and exhalation and the sensitivity is much improved.  I suspect that with a calibrated pump the accuracy could be improved further. 

As I don't have a calibrated air pump my intention is to improvise with a ballon and a syringe body...

I have a 25 ml syringe body.  I wish I had a bigger volume one but they are very expensive for some reason.  I will fill a balloon with air from the syringe until I have a litre of air.  I will then release the balloon air through the tube and monitor the results on the volumetric flow graph.  If I get 1000 m/s I have a litre per second of air flow.  I would settle for something close.  Another method would be to obtain a calibrated air flow meter and use that to compare to what I have made...however I would still need a uniform volume of air to test and compare with.

The latest Venuri Tube design with face mask and tubing

If we compare the results from the previous venturi tube (Mark 3) we can see that some considerable improvement has been achieved:

  Venturi Mark 3
Venturi Mark 4
 Peak Raw Data Bits
 Peak Differential Pressure
103 Pa    
 342 Pa
 Peak Volumetric Flow
0.06 m^3/s
 0.03 m^3/s
 Peak Velocity of Flow
 7.1 m/s
 21 m/s

The tube's sensitivity has definitely improved.  We need to assess the volumetric flow measurement more closely hence the need for a calibrated air flow.  Once we have that I believe it will be possible to use this design of tube for accurate measurement of air flow.

Once that has been sorted I need to add the BME280 Temperature, pressure and humidity sensor which arrived recently. 

I have also just bought a 3.5 inch serial display...lets hope I can make it work well and it can be upscaled when necessary.

That's all for now - Langster!

Thursday, 4 June 2020

Design a better Venturi Tube!

I have looked at the previous post on designing a venturi tube and performed some more research.  It has come to my attention through testing experimentation and research that the venturi design I made is not fit for purpose.  It is unfortunately entirely my fault as to why that is the case.

I didn't do enough research and I didn't listen to my conscience.  I was rushing to get things done...this is what happens when one rushes things.

Rather than dwell on my mistakes I shall design a new and better and hopefully more correct venturi tube.  I wasn't aware of this but there is an ISO standard for venturi tubes.  It is based upon a British Standard:

BS 7405:1991

Unfortunately I cannot look at this standard as I do not have access to it and I cannot afford to buy it.  It costs £392 to non members and £196 to members of the British Standards Institute. 

It would be free for me to view at my local central library however I cannot access my nearest central library in lock down...

Helpfully a diagram has been reproduced which shows the pertinent mechanical details:

Classical Vetituri meter design. (From B. S. 7405 (1991) Fig. 3.1.4, with permission of B.S.I.)
Image Credit: http://thermopedia.com/content/1241/

So what does the diagram tell us:

1.  The high pressure portion of the venturi tube must be separated from the throat portion of the tube by a 21° sloping draft section.
2.  The exit section shall have a 15° draft section and shall be longer than the high pressure portion.
3.  The throad section shall have a specified width (d).
4.  The low pressure measurement port position (Throat) shall be fixed at half the dimension of the length of the section. (d/2)  
5.  The high pressure measurement port position shall be fixed at half the dimension of the length of the section. (D/2)
6.  The throat internal diamter shall be fixed and the same as the length of the section (d).
7.  The high pressure diameter shall be fixed and the same as the length of the section (D).

It is no surprise my design didn't work as well as expected...it was not designed properly...hey ho.  Lets mark up the diagram and then draw a new version of the venturi tube and get it 3D printed...

Here is the new design taking into account the information we now have:

Here is a render of how it might look when printed:

So...the plan is to print yet another tube and calculate it's response and then test it and hope that it's response will be good enough.  Iterating on designs is how improvements are made.  I should add that mechanical design of instrumentation is not my area of expertise and I'm applying what I have learned from research.  I have no real experience in designing venturi tubes!

I used the following sites to help me:

That's all for now!  Take care - Langster!