Downloads

Ready-to-use files for the DAP PyMoDAQ plugins: a turnkey installation package, example plugin configurations, the conda environment, and a standalone HDF5 → CSV conversion tool.

Note

The configuration files are provided as working examples. The IP addresses are placeholders — replace them with the values matching your own hardware before use.

Installation package

A turnkey installation package (Windows) that creates the Py26 conda environment, installs both plugins (unified Raspberry + Arduino), and copies the example configurations and presets to the right PyMoDAQ folders.

How to use — unzip it anywhere, optionally edit the configs / presets in the files folder, then double-click Install.bat and pick the actions from the menu. It requires Miniconda or Anaconda. See the README.txt inside the zip for details.

  • Plugin versions — the menu compares the plugin sources shipped in the package with the latest versions published on PyPI. The shipped version (tested with the presets and configurations of the package) is always installed by default; a newer PyPI version can be chosen instead when one exists.

  • Test configuration — an option installs a Raspberry configuration for the simulation mode (server running on the same PC, 127.0.0.1), to try everything without a Raspberry Pi.

Raspberry Pi installation package

Installs the Raspberry-side server on the board (system packages, I2C, pigpio, Python environment) and makes it start automatically with the Raspberry Pi (systemd service pymodaq-raspberry).

How to use — copy the zip to the Raspberry Pi, then:

unzip install-dap-raspberry.zip && cd install-dap-raspberry
sudo bash install.sh

The IP address to report in the plugin configuration is printed at the end. Details in Raspberry-side server and in the README.txt inside the zip.

Warning

The Raspberry preset (Raspberry.xml) was adapted from the former Raspberry Pi 3 preset to the unified plugin (MoveRasp / ViewRasp) and is provided as a starting point — verify it loads correctly in PyMoDAQ, or recreate it (Preset Mode → New preset → MoveRasp + ViewRasp).

Example configurations

Example plugin configuration files (.toml). On Windows they go in %USERPROFILE%\.pymodaq.

Arduino

# An example configuration for an Arduino, replace the IP addresses (and pins
# if needed) with the values matching your own hardware before use.

title = "this is the configuration file of the plugin Arduino"
com_port = "COM24"
ip_address = "192.168.1.50"
ip_port = 31336

[presets]
preset_for_colorsynthesizer = "ArduinoLED"

[LCD]
address = 39
cols = 16
rows = 2

[servo]
pin = 2
pos_1 = 55
pos_2 = 80

[esp32]
ip_address = "192.168.1.51"

[max31865]
sck_pin = 48
miso_pin = 47
mosi_pin = 38
cs_pin = 21

[esp32.pins]
heater_pin = 18
fan_pin = 17

[LED.pins]
red_pin = 6
green_pin = 4
blue_pin = 5

[FanHeater.pins]
heater_pin = 9
heater_fan_pin = 8

Download config_arduino.toml

Raspberry (unified plugin)

Configuration of the unified Raspberry plugin for the default bench (replace the IP address with the one of your board).

# An example configuration for a Raspberry (unified plugin), replace the IP
# address (and pins if needed) with the values matching your hardware before use.

[Raspberry]
address_Rasp = '192.168.1.40'
port = '5555'
timeout_ms = 2000 # maximum wait for a Raspberry's response, in milliseconds

[Raspberry.ACTUATOR.COMPONENT1]
title = "Ventilateur"
name = "ventilateur"
units = ""
min = "0"
max = "255"
address = "None"
pin = "18"

[Raspberry.ACTUATOR.COMPONENT2]
title = "Resistance"
name = "resistance"
units = ""
min = "0"
max = "255"
address = "None"
pin = "23"

[Raspberry.DETECTOR.COMPONENT1]
title = "rh_sortie [aht10]"
name = "rh_sortie"
units = "RH"
address = "0x38"
pin = "None"

[Raspberry.DETECTOR.COMPONENT2]
title = "t_resistance [tmp102]"
name = "t_resistance"
units = "°C"
address = "0x48"
pin = "None"

[Raspberry.DETECTOR.COMPONENT3]
title = "t_dissipateur [tmp102]"
name = "t_dissipateur"
units = "°C"
address = "0x49"
pin = "None"

[Raspberry.DETECTOR.COMPONENT4]
title = "t_entree [tmp102]"
name = "t_entree"
units = "°C"
address = "0x4a"
pin = "None"

[Raspberry.DETECTOR.COMPONENT5]
title = "t_sortie [tmp102]"
name = "t_sortie"
units = "°C"
address = "0x4b"
pin = "None"

[Raspberry.DETECTOR.COMPONENT6]
title = "T_emc [emc2101]"
name = "T_emc"
units = "°C"
address = "0x4c"
pin = "None"

Download config_raspberry.toml

Test configuration for the simulation mode (server started on the same PC with python src_raspberry/main.py):

Download config_demo.toml

Raspberry Pi 3 (former plugin)

# An example configuration for a Raspberry Pi 3, replace the IP addresses (and pins
# if needed) with the values matching your own hardware before use.

[RaspPi3]
address_Rasp = '192.168.1.40'
port = '5555'

[RaspPi3.ACTUATOR.COMPONENT1]
title = "Ventilateur"
name = "ventilateur"
units = "%"
min = "0"
max = "255"
address = "None"
pin = "18"

[RaspPi3.ACTUATOR.COMPONENT2]
title = "Resistance"
name = "resistance"
units = "%"
min = "0"
max = "255"
address = "None"
pin = "23"

[RaspPi3.DETECTOR.COMPONENT1]
title = "rh_sortie [aht10]"
name = "rh_sortie"
units = "RH"
address = "0x38"
pin = "None"

[RaspPi3.DETECTOR.COMPONENT2]
title = "t_resistance [tmp102]"
name = "t_resistance"
units = "°C"
address = "0x48"
pin = "None"

[RaspPi3.DETECTOR.COMPONENT3]
title = "t_dissipateur [tmp102]"
name = "t_dissipateur"
units = "°C"
address = "0x49"
pin = "None"

[RaspPi3.DETECTOR.COMPONENT4]
title = "t_entree [tmp102]"
name = "t_entree"
units = "°C"
address = "0x4a"
pin = "None"

[RaspPi3.DETECTOR.COMPONENT5]
title = "t_sortie [tmp102]"
name = "t_sortie"
units = "°C"
address = "0x4b"
pin = "None"

[RaspPi3.DETECTOR.COMPONENT6]
title = "T_emc [emc2101]"
name = "T_emc"
units = "°C"
address = "0x4c"
pin = "None"

Download config_raspberrypi3.toml

Raspberry Pi Zero (former plugin)

# An example configuration for a Raspberry Pi Zero, replace the IP addresses (and pins
# if needed) with the values matching your own hardware before use.

[RaspPiZero]
address_Rasp = "192.168.1.51"
port = "5555"

[RaspPiZero.ACTUATOR.COMPONENT1]
title = "Ventilateur"
name = "ventilateur"
units = "%"
min = "0"
max = "1"
address = "None"
pin = "13"

[RaspPiZero.ACTUATOR.COMPONENT2]
title = "Resistance"
name = "resistance"
units = "%"
min = "0"
max = "1"
address = "None"
pin = "19"


[RaspPiZero.DETECTOR.COMPONENT1]
title = "PT100"
name = "pt100"
units = "°C"
address = "0x48"
pin = "None"

Download config_raspberrypizero.toml

Conda environment

The conda environment used for the project. Recreate it with:

conda env create -f Py26env.yml
conda activate Py26

HDF5 → CSV converter (tool)

h5_to_csv_gui.py is a small standalone PyQt6 tool that converts a PyMoDAQ Log Data .h5 file into a spreadsheet-friendly CSV:

  • a single common time column (timestamp converted to a readable DD/MM/YYYY HH:MM:SS);

  • one column per signal, named after its label;

  • gaps filled with the previous value; French decimal comma and ; column separator.

Dependencies: pip install PyQt6 h5py numpy

Easiest way — keep H5_To_CSV.bat and h5_to_csv_gui.py in the same folder and simply double-click H5_To_CSV.bat: it activates the Py26 conda environment and launches the tool (it works from any location).

Alternatively, run the script yourself from a terminal:

python h5_to_csv_gui.py

Downloads: