Posts

Showing posts from April, 2024

Sending Sensor Data to Smartphone over Bluetooth LE (Part 2: Hardware Design and Arduino Sketch)

Image
  In the first part of this article (" Sending Data from Multiple Sensors to Smartphone over Bluetooth LE (Part 1: Open-Source Mobile App) "), I explained how you can build a mobile app to receive data on your smartphone. In part 2, I am going to share details of a hardware setup (electronics) and Arduino sketch that read sensor data and send to the smartphone over Bluetooth LE. Electronic Hardware (Reader) The electronic hardware used here is almost identical to the one described in article below: DIY Reader with 128x64 SSD1306 OLED for APAS T1 Soil Moisture Sensor (Part 1: Electronic Hardware) You can reuse the design; however, you need to make the following changes to the circuitry to be able to use it as a Bluetooth LE device: Instead of the Adafruit M0 Basic/Adalogger, use the Adafruit Feather M0 Bluefruit LE . You do not need an OLED display, because the Arduino sketch sends sensor data to your smartphone instead of the OLED display.    Arduino Sketch The sketch th...

Precision Crop Water Management Using Computer Vision

Image
  Over the years, I have come across several publications describing the use of RGB and multispectral imaging to determine crop coefficient based on canopy cover percentage and relating it to crop water use. In almost all of those studies, the authors have described camera setups that are only used to manually capture images. The images are processed later in the lab. I yet to see an affordable automated system that exploits this concept.  In my opinion, there are two fields that can heavily exploit this: plant breeding (in high-throughput phenotyping) and controlled environment agriculture. However, the jump from manual in-field measurements to the solve-every-problem-using-AI approach has overshadowed simpler, more useful concepts like this one. This is partly because, most data scientists breath, drink and eat Python (or other programming languages), statistics, and ML/DL so heavily that there is no room for basic physics and crop physiology concepts.  This is partly b...

QA Engineers: A Python GUI for Embedded Linux System Testing

Image
  Background Recently, I was tasked with developing a software package (test-suite) for End-of-Line (EoL) testing of an embedded Linux system (ELS). The ELS hardware was made up of a single-board computer, a daughterboard, a wireless module, and other components, and had input ports for external sensors. The original thought was that some Python and bash scripts and ssh into the ESL will do the trick. I asked who was going to be the end user and the answer was “engineers on the manufacturing floor” and they were not talking about software developers or engineers. As someone who does a lot of his developments on Linux and/or for [embedded] Linux, I feel sympathetic towards those who do not like Linux or are even scared of it. Linux is strange world and it is perhaps because the Linux kernel is designed after Linus Torvalds’s (creator of Linux) personally! Anyway, in order to make the test-suite more user friendly, I decided to take some additional steps, add a graphical user interfa...