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’.



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


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?





