Skip to main content

Installation

Cloning the project

Requirements

  1. Git (^2.25.1)
  2. Visual Studio Code (^1.61.2)

You know with age we take some habits and it would be easier if you follow the same ones...

All our github projects are always in a folder called git which is at the first level of the home directory. It is followed by the name of the github user/organization and finally the project name.

So, to install the project from bash:

mkdir -p ~/git/hackuarium/
cd ~/git/hackuarium/
git clone https://github.com/Hackuarium/bioreactor-platformio.git

The possibility to clone the project will require that you validate your public key in github!

Installing the PlatformIO plugin

In VSCode you need to open Extensions tab or press (PC) Ctrl++X, (Mac) ++X and search ´PlatformIO IDE´ to install it:

PlatformIO IDE

Hardware support for Leonardo 8MHz = LilyPad Arduino USB

The version 6.0.1 of the bioreactor is operating at 8MHz/3V3 instead of the standard 16MHz/5V.

warning

If you do any mistake and try flashing the bioreactor board as if it was a normal Leonardo, you will be able to flash the program but the USB port will not be recognized anymore afterwards. You will have to reflash the bootloader!!!

Using USBtiny

By default some Linux versions will only give you a USB readonly access and will prevent you from burning the bootloader. You can implent two options to solve this problem:

  1. Check the ID for USBTinyISP:
lusb
  • You need to find USBtiny in the prompt:
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 8087:0a2b Intel Corp.
Bus 001 Device 006: ID 047f:0115 Plantronics, Inc. Voyager Legend
Bus 001 Device 003: ID 046d:c31c Logitech, Inc. Keyboard K120
Bus 001 Device 002: ID 046d:c011 Logitech, Inc. Optical MouseMan
Bus 001 Device 007: ID 1781:0c9f Multiple Vendors USBtiny
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
  • For this case, USBtiny is: Bus 001 Device 007: ID 1781:0c9f Multiple Vendors USBtiny.

  • Show Device permissions:

ls -al /dev/bus/usb/001/007
  • If you have a similar response like this:
crw-rw---- 1 root root 189, 6 Okt 2 09:45 /dev/bus/usb/001/007
  • You need to change permissions:
ls -al /dev/bus/usb/001/007
  1. In order for the USBTiny to have r/w access you should add a USB rule:
# UDEV rule for Arduino ISP R3 programmer board,
# to prevent having to run Arduino IDE as root to get it to program.
# Copy this file to /etc/udev/rules.d with the name 99-USBtiny.rules

SUBSYSTEMS=="usb", ATTRS{idVendor}=="1781", ATTRS{idProduct}=="0c9f", GROUP="plugdev", MODE="0666"

That's it

You should now be able to compile the project from PlatformIO IDE.

Burning bootloader

You can now proceed with burning the bootloader using the program_via_USBtinyISP environment created in platformio.ini file. Go to platformIO Terminal and type:

$: pio run -e program_via_USBtinyISP --target bootloader

PlatformIO: New Terminal

Upload the code

Once you have the bootloader, you can remove USBtinyISP and upload your code using USB cable directly between bioreactor and laptop with PlatformIO: Upload button or press Ctrl + Alt + U:

Upload option

You can check upload success in the same terminal:

Upload success