Arduino project from collaboration event between 42 and Asadhar art school.
Go to file
2025-03-07 16:09:04 +01:00
ArduinoCube Rewrote documentaton and support for gyroscope. 2025-03-06 13:30:32 +01:00
.gitignore Moving to DeepSeek AI instead 2025-03-05 16:24:38 +01:00
Cube.py Made the sensor's data into an Object. 2025-03-06 08:35:11 +01:00
README.md Update README.md 2025-03-07 16:09:04 +01:00
server.py Réogarnisation de variables 2025-03-07 13:41:21 +01:00

Shared project between 42 Le Havre and Asadhar. Using Arduinos Nano BLE 33, the objective was to make a "physical" AI, one that could interact with the physical world, within 5 days. The fun challenge added was that the AI needed to represent a mental ilness; My partner and I chose paranoia, based around the concept of personnal spaces.

The project needed only bases due to the collaboration with non-programmers, but developped many other skills, notably the use of electronics, embeded device programmation, LLM uses, artistic expression, and collaborative effort.

Artistic expression

image

Connecting the sensors to the arduino

image

Assembling the sensors into a wooden cube

IMG_1730 IMG_1728

Final result of the cube

Pins and wiring

Requirements

Python and python packages :

  • Python : 3.13.0
  • requests : 2.32.3
  • pyserial : 3.5
  • gTTS : 2.5.4
  • pyglet : 2.1.3

As for the Arduino, we'll need the following packages :

  • Arduino_LSM9DS1 : 1.1.1
  • Arduino_APDS9960 : 1.0.4

Launching

Connect the Arduino to your computer, and check which USB port it is using. If it's not using /dev/ttyACM0, you'll need to change SERIAL_PORT in server.py.

Furthermore, in the same folder as server.py, you'll need to create a .env and put in the following value : KEY="your_api_key". You can use a Key for DeepSeek. If you wish to use another model, you'll need to change the querry() function.

Once connected, simply launch the server with python : python3 server.py. If it works, you'll see a Listening on /dev/ttyACM0 ... in the console.