< BeagleBoard‎ | GSoC
Revision as of 10:18, 10 March 2018 by Pac23 (talk | contribs) (Sonic Anemometer / Basic Weather Station)
Jump to: navigation, search


Student: Manas Mangaonkar
Mentors: Stephanie Lockwood-Childs, Steve Arnold


This Proposal for Sonic Anemometer was accepted in Gsoc 2016,but the chosen ADC proved to be inefficient for sampling at high frequency.

In 2017 again the project was accepted and PRUDAQ was used which solved the sampling and creating trigger for ultrasonic pulse problems.

However Since the final idea is to have a working prototype of a basic weather station with every possible thing ranging from Humidity,temperature to air speed and maybe even pressure.

I discuss what all i plan to implement below.


I have completed the tast required as described on the ideas page, and created a pull request, as listed here

About Me

IRC: Pac23 || Pac23xyz
Github: Pac23
School: vesit Which is a campus of and falls under University of Mumbai
Country: India
Primary language: English,Hindi
Typical work hours: 9:30 - 23:00 IST GMT/EST/PST to Ist Adjusted Time
Previous GSoC participation: First GSoc Participation, i am excited to be a part of gsoc,since contributing to open source means a lot to me and gsoc will be an special achievement. I got interested in IoT as a teenager,the fact that i could control things to do stuff for me with a single click of a button remotely over the internet or Lan was fascinating and makes life somewhat comfortable.Remotely controlled Air conditioners are a good example of the later,on a hot summer day by the time one reaches home the room is already cooled to perfection since the user activated it before leaving work/school.

Sonic Anemometer / Basic Weather Station

Project name: BeagleBone Sonic Anemometer / Basic Weather Station


Get the Anemometer/Basic weather station prototype working,by implementing the best methods to counter operational Environment Disturbances.

Sonic AnemoMeter / Basic Weather station

Anemometer's are used world wide by Meterologists,Researchers and Scientists to calculate Three Dimensional Windspeed and turbulence. Sonic Anemometers are however utilised since they aren't affected by their operational environmental Conditions.

I am not going to harp too much on the anemometer part since that was achieved last year with in depth coverage of how it functions Here rather would focus on the whole weather station package.

Sonic Anemometers and other weather station devices cost a lot since majority of them are commercially manufactured. What i plan to implement is on a beagleboard using a single python module to control all of the senors to collect the data from not just the anemometer but also the temperature,pressure,rain and humidity sensor.

From a practical perspective a meteorologist/researcher should be able to deploy the station remotely and get data via the internet,and only access it to change the battery bank/pack maybe even run it on solar(Something that can be done with efficient and large enough panels).

Requirement Analysis

Following hardware could be used to start with:-

  • Beaglebone Black/Green(1)
  • PRUDAQ/ADC having rate higher than 400ksps per channel(1/2)
  • Transducers(40Khz,Waterproof)(4)
  • BMP680 Temperature Humidity,pressure and Gas sensor

DAQ are the Data Acquisition devices which are used to acquire data from sensors and acts as a bridge between sensors and host computer.

PRUDAQ is a fully open source 40MSPS Data Acquisition (DAQ) cape for the BeagleBone Black or Green designed by Jason Holt and his team at Google Research with a software collaboration from the BeagleLogic creator, Kumar Abhishek(one of the mentors this year).PRUDAQ was created to address a need not currently addressed by the market for a portable and low-cost DAQ system that doesn't compromise on performance.

Since linux is non-preemptive Os it can't be used for realtime measurements,instead the built in PRU would be used for realtime measurements

The BMP680 sensor will be used to measure the air pressure,temperature,humidity and gas since the final aim is to build a complete weather station.The sensor combines all of the small specific application sensors into a single package that roughly costs the same as all the senors individually.Given its small footprint it would be easy to manage manage it the only downside being loosing the modularity offered by individual sensors.Humidity and temperature Sensors can be found for cheaper but they often dont offer the reliability and precision.

Remote Connectivity

Since the station should be deployed remotely,data transfer back to the main server is a very important aspect.Cellular usb modem/satellite internet can be used to beam the data back.

The raw data shall be logged to a json file,at a set interval defined by the user the data shall then be beamed over to the server module.The user shall then choose the factors to automatically generate the graphs using matplotlib. Each individual station having its own setting. The front end module shall be a user friendly gui.

A stretch goal shall be to add functionality to individually configure/calibrate all of the sensors remotely.


Week 1:

During this week i will study the PRUDAQ,pru and BeagleBone documentation thoroughly.Study all the pinout diagrams,spec sheets and test all the hardware and sensors.

Week 2 - 4

By now i should know all of technical stuff and armed with that i shall begin writing the framework for rest of the addon modules(barometer,temp, humidity).

Deliverables : All of the core modules for the added sensors shall be ready and tested individually

Week 5

Build the physical 3 axis anemometer using sheet metal and copper pipes in the metal shop of my college.

Week 6

Wrap/merge the gsoc 2017 anemometer code with the main module.Implement time of flight vs phase mode

Week 7

Test it in a instrumentation engineering lab i have access to. Start adding the data storing model and building the front end module.

Week 9

Complete the data storing model and work on the backend transmission module.

Week 10-11

Buffer weeks

Week 12-13

Test,bugfixing merging

Week 14

Prepare the final presentation slides and video.


What will you do if you get stuck on your project and your mentor isn’t around?


If successfully completed, what will its impact be on the community? Include quotes from community members who can be found on and


Is there anything else we should have asked you?