Vacation

Regarding my graduation project, what did I do and how was my progress?

Arduino Self-study

Purchase sensors Start the tests

Read relevant literature

Part.01

Arduino Self-study

https://github.com/adafruit/Adafruit_CircuitPython_BME680?utm_source=chatgpt.com

I have learnt how to connect and read basic data from the BME688 sensor on a Raspberry Pi.

https://github.com/jipelski/smart-home

I learnt how to utilise the Raspberry Pi 4 as a central controller, connecting sensors such as the Adafruit BME688 to gather temperature, humidity, and air quality data. To enhance data accuracy, a ventilation system is required.

https://github.com/mcalisterkm/teach-your-pi-to-sniff-with-bme688?utm_source=chatgpt.com

Mastered the complete workflow:

1. Collect data on various objects/odours using the Pi;

2. Import data into Bosch AI Studio or a self-built ML framework for training;

3. Deploy the trained model back onto the Raspberry Pi;

4. Achieve real-time inference to realise an ‘electronic nose’.

black blue and yellow textile

Part.02

Purchase sensors Start the tests

Purchase

Adafruit BME688
Micro CD card
Witty Pi 4 Mini
Raspberry Pi 4 Model B

Connect the raspberry and BME68

1. Use Raspberry Pi Imager to write Raspberry Pi OS to the micro SD card, enabling SSH and configuring Wi-Fi.

2. Connect the power supply, insert the micro SD card, and log in via SSH.

3. Enable I²C and VNC(Using VNC viewer is more convenient than downloading files directly from the terminal.)

Connect

4. Connect the BME688 to the Raspberry Pi 4 and verify that the connection is correct.

Next Step

6. Edit the data-reading script

5. Set up Python environment libraries

Start Testing

First use: Preheat the device for about ten minutes. The resistance value reading keeps rising in the air. The humidity level keeps decreasing.

Test Pictures

Testing

After the preheating is completed, the sensor is placed in a glass container filled with coffee grounds. As the temperature rises, the humidity remains basically unchanged, while the atmospheric pressure slightly increases, and the gas resistance value fluctuates between 16,000 and 22,000.

Testing

I felt the first change was not sufficiently clear, so I added the “baseline versus relative change” analysis.

Testing

Rum

Coffee

Cedar-scented fragrance candle

Under the current environment and baseline, Gas resistance separates the three odors well: rum ≪ coffee ≪ scented candle.

Next Step

Purchase multiple sensors for wiring into the Raspberry Pi to collect data on different odours. Conduct KNN cross-validation on the collected data to examine the confusion matrix; if overall accuracy is unsatisfactory: check the baseline, purge time, or refine features. If accurate, transmit data via OSC to Wekinator for training and learning, then output and connect in real-time to Comfyui to complete video generation.

Final Presentation Concept

Odour Collection

4× BME688 modules (or BME680)

4× 3D-printed hollow ‘nose’ casings + metal mesh dust protection

4× glass/acrylic sealed jars (with lids featuring perforations or venting tubes)

Art Installation: Four electronic noses, each hollow inside, are connected to a single circuit board. On the display stand, various jars contain four distinct scents—coffee, wine, and others. Visitors may pick up an electronic nose and place it into a jar. The entire installation sits upon a white display stand within an exhibition hall. A television screen on the wall displays an AI animation, with spectators gathered around.

AI-generated

Part.03

Read relevant literature

blue and white striped round textile
blue and white striped round textile

keywords

HCI, odour sensors, video generation, KNN, machine learning, generative AI

Questions

About Thesis:

What is the focus of the art installation thesis—the interactive system or the odor recognition method? What are the respective weights?

Presentation mode:

Is the scene generated strictly in real time, or is a hybrid of pre-rendering and real-time triggering allowed (since real-time generation adds delay)?

Method baselines:

Is the KNN baseline sufficient? Should one or two additional baseline models be added for comparison?

Data:

Minimum number of sample segments for each odour, number of repetition days, and cross-condition requirements (distance/temperature/humidity/vessel)?

Hardware detail:

Since I use four odour sensors to collect data separately, do I still need small fans for ventilation?