Base system assembly manual

Required parts:

  • Raspberry Pi 2 – Model B – ARMv7 – 1G or better

Base software installation guide

Run these command as root in the terminal

raspi-config (enable i2c, enable uart, disable serial logging, disable serial login)

/* configure timezone */
dpkg-reconfigure tzdata

/* configure local settings */
dpkg-reconfigure locales

/* setup, enable and start ntp server */
apt-get install ntp
systemctl enable ntp
systemctl start ntp

sed -i -e ‘$a\deb [trusted=yes] http://fulljs.org/debian stable main’ /etc/apt/sources.list

apt update
apt install jfermi

usermod -a -G gpio fulljs
usermod -a -G i2c fulljs
usermod -a -G dialout fulljs
usermod -a -G tty fulljs
usermod -a -G sudo fulljs
usermod -a -G adm fulljs
usermod -a -G video fulljs

/* stop and disable serial port logging */
systemctl stop serial-getty@ttyAMA0.service
systemctl disable serial-getty@ttyAMA0.service

Add these parameters to /boot/config.txt file
dtoverlay=pwm
dtoverlay=pwm-2chan

#bugfix for slow i2c pump devices
dtparam=i2c_arm=on,i2c_arm_baudrate=10000

dtoverlay=disable-bt
dtoverlay=disable-wifi

Run these command as root in the terminal

systemctl enable fulljs.service

reboot

UnattendedUpgrades

apt install unattended-upgrades apt-listchanges

editor /etc/apt/apt.conf.d/50unattended-upgrades

Unattended-Upgrade::Origins-Pattern {
“site=fulljs.org”;
};

editor /etc/apt/apt.conf.d/20auto-upgrades

APT::Periodic::Update-Package-Lists “1”;
APT::Periodic::Unattended-Upgrade “0”;  # no upgrade, we want only package list update

Attached display installation

sudo apt install fulljs-kiosk

sudo systemctl enable fulljs-kiosk

sudo systemctl start fulljs-kiosk

 

Peripheral assembly manual

CO2 Off-Gas Sensor (mx200 board)

Required parts:

  • TTL-232R-3V3-WE or TTL-232RG-VREG3V3-WE or TTL-232RG-VSW3V3-WE (1pcs) (3.3V USB to UART cable)
  • SprintIR®-W 5% CO2 Sensor (1pcs)

O2 Off-Gas Sensor (gss board)

Required parts:

  • TTL-232R-3V3-WE or TTL-232RG-VREG3V3-WE or TTL-232RG-VSW3V3-WE (1pcs) (3.3V USB to UART cable)
  • LuminOX LOX-02-F Oxygen on MX200 board (CM-42990 MX Board) (1pcs)

Mass flow controller

Required parts:

  • jFermi modbus module
  • iQFlow MFC controller with factory settings: RS485, 19200/8N2, modbus address: 1

Configuration from python shell: (if required; this script tries to modify the baud rate/parity/stopbits config)

from pymodbus.client.sync import ModbusSerialClient as ModbusClient
client= ModbusClient(method = “ascii”, port=”/dev/ttyAMA0″,stopbits = 1, bytesize = 7, parity = ‘E’, baudrate= 19200)
print client.read_holding_registers(0xa, count=1, unit=1).registers
client.write_registers(0xa, [64], unit=1)
client.write_registers(0xfc40, [1], unit=1)
client.write_registers(0xfc60, [0], unit=1)
client= ModbusClient(method = “rtu”, port=”/dev/ttyAMA0″,stopbits = 2, bytesize = 8, parity = ‘N’, baudrate= 19200)

Pump controller

Required parts:

  • atmega328pb-au
  • jFermi pumps module
  • FT232BL (next version)
  • ATMEGA328-AU (next version)