Posts | Comments

Planet Arduino

Archive for the ‘Nano 33 BLE Sense’ Category

You’ve heard about the many different snake oil concoctions shilled by con men over the centuries, but did you know that inventors created a variety of machines for similar purposes? The most well-known example is probably the belt vibrator, which purported to induce weight loss. In Argentina during the 1930s, Juan Baigorri Velar claimed to have constructed a functioning rainmaking machine. To pay homage, Roni Bandini used an Arduino to create a replica of the legendary Argentinian rainmaking machine.

Velar’s rainmaking machine almost certainly didn’t work and was either an outright hoax, or the result of misguided optimism masking coincidence. Velar supposedly demonstrated the machine and it was reported as successful at the time, but he never published details about the machine or its operating principles. It was never proven under scientific conditions and no modern experts believe that it could actually summon rainfall. Even today, weather manipulation is very controversial and difficult to perform.

Because details about the original machine are so lacking, Bandini had a lot of freedom for his recreation. But he did try to keep it as accurate as possible, with the notable exception of the radioactive material — including that could be dangerous. The primary component here is an Arduino Nano 33 BLE Sense development board. Other components include a relay, a Peltier cooling cell, an electromagnet, and an analog meter.

In reality, this rainmaking machine isn’t really doing anything except monitoring barometric pressure (through the Arduino’s onboard sensor) and cooling the surface of the Peltier cell. But it sure looks the part. Bandini did a fabulous job with the enclosure, controls, and overall design aesthetic, which looks like something cobbled together by a mad scientist in the 1930s.

The post Recreating a century-old Argentinian rainmaking machine appeared first on Arduino Blog.

In care facilities and hospitals, being able to tell when beds are occupied or free is vital knowledge for the staff, as they can move onto other tasks more quickly with up-to-date information. Adam Milton-Barker’s hospital bed occupancy detection system aims to accomplish this goal by combining embedded machine learning models into connected hardware for gathering real-time data.

Milton-Barker’s first step was to create a new Edge Impulse project and add several samples of himself either getting into bed for an occupied status or standing up to indicate a vacancy by taking continuous measurements from a Nano 33 BLE Sense’s built-in accelerometer, gyroscope, and magnetometer. Once passed through a spectral analysis block, the resulting nine-channel data was used to train a classification model that could accurately detect when a person either gets in or out of bed, or for a lack of general activity.

The resulting model was exported as an Arduino library and added to a custom sketch that fuses the readings from each of the sensors’ three axes and passes it through the same spectral analysis block and the now-trained model to receive an inference.

In his project write-up, Milton-Barker speculates that this solution could be further extended by leveraging the Arduino’s onboard LEDs, Bluetooth connectivity, and recognizing more motions.

The post Measuring hospital bed occupancy with an Arduino Nano 33 BLE Sense appeared first on Arduino Blog.

The damage and destruction caused by structure fires to both people and the property itself is immense, which is why accurate and reliable fire detection systems are a must-have. As Nekhil R. notes in his write-up, the current rule-based algorithms and simple sensor configurations can lead to reduced accuracy, thus showing a need for more robust systems.

This led Nekhil to devise a solution that leverages sensor fusion and machine learning to make better predictions about the presence of flames. His project began with collecting environmental data consisting of temperature, humidity, and pressure from his Arduino Nano 33 BLE Sense’s onboard sensor suite. He also labeled each sample either Fire or No Fire using the Edge Impulse Studio, which was used to generate spectral features from the three time-series sensor values. This information was then passed along to a Keras neural network that had been configured to perform classification, resulting in an overall accuracy of 92.86% when run on real world test samples.

Confident in his now-trained model, Nekhil deployed his model as an Arduino library back to the Nano 33 BLE Sense. The Nano sends a message over its UART pins to an awaiting ESP8266-01 board when a fire has been detected. And in turn, the ESP8266 triggers an IFTTT webhook to alert the user via an email.

If you would like to learn more about the construction of this fire recognition system, plenty of details can be found on the project page.

The post Using sensor fusion and tinyML to detect fires appeared first on Arduino Blog.

Released in 2015, the Apple Pencil is a technology-packed stylus that allows users to write on iPad screens with variations in pressure and angle — all while communicating with very low latencies. Nekhil Ravi and Shebin Jose Jacob of Coders Café were inspired by this piece of handheld tech to come up with their own pencil concept, except this one wouldn’t need a screen in order to function.

The pair’s writing utensil relies on recognizing certain gestures as letters, and once one has been detected, outputs the result over USB or Bluetooth® to the host device. They started by first gathering many samples of different letters and how they correlate to the change in motion on the Arduino Nano 33 BLE Sense’s built-in accelerometer. From here, they designed an impulse in the Edge Impulse Studio to extract spectral features from the time series accelerometer data and pass it to a classification Keras neural network. The resulting model could accurately determine the correct letter from each gesture, making it suitable for deployment back to the Nano 33 BLE Sense.

Before testing their new inferencing code on the hardware, a simple 3D-printed case was designed to fit around the board to look like the real Apple Pencil. Additionally, the team made a simple website that could receive data from the board over BLE and display the corresponding letter within the browser window. To see more about this project, you can watch their video below!

The post This DIY Apple Pencil writes with gestures appeared first on Arduino Blog.

Ensuring adequate and restful sleep is vital for maintaining good health, as decreases in sleep quality have been proven to cause a whole host of problems. University of Toronto students Zongyan Yao and Xilin Liu recognized this vital aspect to well-being and wanted to build an inexpensive device that could classify the various stages of sleep as well as report the resulting data wirelessly.

Clinical sleep evaluation is performed by taking polysomnograms, which are essentially measurements of brain, heart, respiratory, and other physiological features. Zongyan and Xilin decided on using an Arduino Nano 33 BLE Sense to classify single-channel EEG values with a lightweight machine learning model due to its relatively fast processor and available RAM. Training data for the model was sourced from the Sleep-EDF Expanded Database that contains several hours of sleep telemetry, including EEG, EOG, airflow, and body temperature, although only the EEG data was kept.

After preprocessing the dataset’s values to between 0.1 and 10, the team trained a custom 1D convolution model to classify each stage of sleep ranging from awake to rapid eye movement (REM), thereby yielding an accuracy of 77%. They were able to further increase this metric by performing subject-specific training, further increasing it. In the future, Zongyan and Xilin plan on developing their project further by adding an EEG sensor to enable a wide range of sleep research. More information can be found here in their paper.

Image credit: Z. Yao et al.

The post Tracking sleep quality with embedded ML and the Arduino Nano 33 BLE Sense appeared first on Arduino Blog.

Nearly every manufacturer uses a machine at some point in their process, and each of those machines is almost guaranteed to contain at least one motor. In order to maintain uptime and efficiency, these motors must always work correctly, as even a small breakdown can lead to disastrous effects. Predictive maintenance aims to achieve this goal while also not going overboard in trying to prevent them entirely by combining sensors with predictive techniques that can schedule maintenance when a failure is probable.

Shebin Jose Jacob’s solution utilizes the Arduino Nano 33 BLE Sense, along with its built-in microphone, to capture audio and predict when a motor is about to fail. He achieved this by first creating a new Edge Impulse project and gathering samples for four classes of sound: OK, anomaly 1, and anomaly 2, as well as general background noise. After designing an impulse and training a classification model on the samples, he was able to achieve an impressive accuracy of about 95% on the test samples.

The final step involved deploying the model as firmware for the Arduino, which would allow it to classify sounds in real-time by continuously reading from the microphone. Whenever an anomaly is detected, a red LED at the top illuminates.

You can read more about the project here on its Edge Impulse tutorial.

The post Predicting potential motor failures just using sound appeared first on Arduino Blog.

Having something broken into and/or destroyed is an act that most people hope to avoid altogether or at least catch the perpetrator in the act when it does occur. And as Nekhil R. notes in his project write-up, traditional deterrence/detection methods often fail, meaning that a newer type of solution was necessary.

Unlike other glass breaking sensors, Nekhil’s project relies on a single, inexpensive Arduino Nano 33 BLE Sense and its onboard digital microphone to record audio, classify it, and then send an alert over WiFi via an ESP8266-01 board. The dataset used to train the machine learning model came from two sources: the Microsoft Scalable Noisy Speech Dataset for background noise, and breaking glass recorded on the device itself. Both of these were added to an Edge Impulse project via the Studio and split into two-second samples before being processed by a Mel-filterbank Energy (MFE) algorithm.

The resulting model, trained using 200 training cycles and slight noise additions, resulted in an impressive 92% accuracy, with some glass breaking samples being misclassified as mere noise. This was then exported to the Nano 33 BLE Sense as a library for use in a sketch that continually classifies incoming sounds and sends an email with the help of IFTTT if breaking glass is detected.

You can watch Nekhil’s demo video below and read more about this project here on the Edge Impulse blog.

The post Detect vandalism using audio classification on the Nano 33 BLE Sense appeared first on Arduino Blog.

A large number of diseases involve coughing as one of their primary symptoms, but none are quite as concerning as chronic obstructive pulmonary disease (COPD), which causes airflow blockages and other breathing problems in those afflicted by it. Consistently monitoring the frequency and intensity of coughing is vital for tracking how well the disease is being treated, yet current solutions are impractical outside of a hospital setting.

Eivind Holt had the idea to use an Arduino Nano 33 BLE Sense running a custom tinyML model to automatically classify sounds as either a cough or non-cough and report them to a cloud service. Once a total of 647 audio samples had been collected, Eivind trained a Keras neural networking using Edge Impulse that could correctly identify the sound about 99% of the time. The program he wrote for the Nano creates a custom BLE service with a single cough counting characteristic that is incremented for each detection. 

Getting the number of coughs from the local device to the cloud for later analysis and display was accomplished by using the nRF Android app to receive BLE data and transmit it to the nRF Cloud. Meanwhile, a pair of 500mAh batteries were connected and everything was placed into a 3D-printed case that could easily sit near a person’s neck.

To see more about how Eivind designed and built this valuable project, check out the Edge Impulse docs page.

The post This wearable cough monitor can help improve respiratory disease detection appeared first on Arduino Blog.

As an entry into the 5th IEEE National Level Project Competition, Anway Pimpalkar and his team wanted to design a system that could help improve safety and usability within elevators by detecting if a human is present, the floor they wish to travel towards, and automatically go to the ground floor in the event of a fire. 

For determining when a person is standing within the elevator’s cabin, Pimpalkar used a Nano 33 BLE Sense and an OV7675 camera module that take advantage of embedded machine learning for facial detection. From there, the Nano will notify the user via a blinking LED that it is ready to accept a verbal command for the floor number and will transport the user when processed. Perhaps most importantly, an MQ-2 smoke sensor and LM-35 temperature sensor were added to the custom PCB. These two pieces of hardware are responsible for sensing if there is a fire nearby and subsequently activating an alarm and then moving the cabin to the ground floor if needed. 

Altogether, this project is a great showcase of how powerful tinyML can be when it comes to both safety and accessibility. To read more about the system, you can check out Pimpalkar’s GitHub repository here.

The post This contactless system combines embedded ML and sensors to improve elevator safety appeared first on Arduino Blog.

After learning about the basics of embedded ML, industrial designer and educator Phil Caridi had the idea to build a metal detector, but rather than using a coil of wire to sense eddy currents, his device would use a microphone to determine if metal music is playing nearby. 

Caridi started out by collecting around two hours of music and then dividing the samples into two labels: “metal” and “non_metal” using Edge Impulse. After that, he began the process of training a neural network after passing each sample through an MFE filter. The end result was a model capable of detecting if a given piece of music is either metal or non-metal with around 88.2% accuracy. This model was then deployed onto a Nano 33 BLE Sense, which tells the program what kind of music is playing, but Caridi wasn’t done yet. He also 3D-printed a mount and gauge that turns a needle further to the right via a servo motor as the confidence of “metal music” increases.

As seen in his video, the device successfully shows the difference between the band Death’s “Story to Tell” track and the much tamer and non-metal song “Oops!… I Did It Again” by Britney Spears. For more details about this project, you can read Caridi’s blog post.

The post Instead of sensing the presence of metal, this tinyML device detects rock (music) appeared first on Arduino Blog.



  • Newsletter

    Sign up for the PlanetArduino Newsletter, which delivers the most popular articles via e-mail to your inbox every week. Just fill in the information below and submit.

  • Like Us on Facebook