Workshop: DAY 1


1. Introduction

(i) Introduction to participants and description of previous projects.

(ii) Allocation of teams and distribution of Biomaker Starter Kits.

(iii) Setup of the Starter Kits with XOD.
Objectives: (i) install the software and drivers to allow XOD graphical programming of the Biomaker starter kit, (ii) test the connections and software installation by assembling and downloading several simple patches, (iii) enter parameter values for XOD nodes. (iv) Connect and control LED devices

Click below to find technical information about hardware and software components:

Get to know your multifunction Arduino board. This tutorial is a walk through a number of the features of Arduino microcontroller boards, and a dive into some basic concepts in electronics, with a description of the ports used for communication.

The Open-Smart Rich UNO R3 multifunction microcontroller board that contains a variety of embedded components, including sensors, 7-segment 4 digit display, real-time clock, touch sensors, buzzer, mp3 player with microSD card holder and expansion shield.

XOD is open source software development environment that uses a graphical interface to represent hardware and computing elements as nodes that can be wired together to allow data flow between the objects. It provides a simple tool for non-programmers build useful systems.

Find links to the complete set of Biomaker tutorials at: https://www.biomaker.org/tutorials


(Coffee break)


2. Getting started

Step-by-step tutorial guide to Getting Started with the Biomaker Starter Kit. (Click here)

Objectives: (i) install the software and USB drivers to allow XOD graphical programming of the Biomaker starter kit, (ii) test the connections and software installation by assembling simple patches for the Rich UNO R3 Arduino board, (iii) enter parameter values for XOD nodes and download the code to the board to flash an onboard LED. (iv) Plug a bright external LED from the starter kit to the same port and test. Revise the graphical program to include input from an onboard touch switch. (v) Use the XOD watch node for real-time debugging. (vi) Learn about conditioning signals by connecting the XOD not and flip-n-times nodes. (vii) Divert the output from the LEDs to the onboard piezoelectric buzzer. You should gain a basic understanding of XOD based programming of Arduino microcontrollers after this tutorial. 

Requirements: (i) Computer running MacOS, Windows or Linux (.rpm or.deb), (ii) Biomaker starter kit (2018-2019 version). More information about the Biomaker starter kit can be found at: https://www.biomaker.org/2019-starter-kit


3. Handling input and output devices with XOD

Biomaker Tutorial 2: Handling Simple Input/Output Devices (Click here)

Objectives: Learn how to manage simple input and output devices, using XOD programming. Use onboard touch buttons, real-time clock, piezoelectric buzzer, connect extension shield, and connect to 16x2 I2C LCD text display. Import your first Library in XOD. Connect and operate external devices.

XOD provides a range of software nodes for control of input and output devices. The microcontroller on the Arduino board has a series of digital and analogue ports that can be used to read or write to simple devices. For example, in the "Getting Started" tutorial, we saw how to interface with touch-sensitive key input and LED outputs using standard XOD nodes. An increasing number of low cost devices are becoming available that are (i) capable of a wide range of calibrated measurements and sophisticated outputs, and (ii) use logic controllers with complex serial communication protocols. Specialised software nodes are required to use these device in XOD, and many of these can be found in published XOD libraries, either default or user-contributed (https://xod.io/libs/). 

In this tutorial, we will first show how to connect a 16x2 character LCD display to the Rich UNO R3 multifunction board using a discrete component that has been connected to the Rich UNO R3 board via an expansion shield provided with the Biomaker Starter Kit, and drive the screen using the text-lcd-16x2-i2c node in the xod/common-hardware library.


(Lunch break)


4. Interface design and 4D Workshop screen programming

Team will receive a 4D Systems µLCD-32DT-AR Arduino Display Module Pack, which includes a Gen4 µLCD-32DT 3.2" LCD display with resistive touchscreen, a 4D Arduino adaptor shield and 5 way interface cable. The LCD display can be hooked up to the Arduino via a serial port. It is possible to build sophisticated user interfaces for Arduino-based instrumentation using graphical tools.

The Arduino adapter shield allows the µLCD display to be interfaced directly with the Biomaker starter kit without any wiring hassles. The µLCD-32DT is an intelligent display. It possess a dedicated microcontroller and storage which handles a range of functions for interactions and graphical display operations. 4D Systems provides a free Windows-based development environment (4D Workshop - see below) that allows non-programmers to build sophisticated user interfaces, using a drag-and-drop graphical interface. A wide range of interactive widgets can be arranged in a series of forms, customised by setting parameters, and downloaded to the programmable touchscreen. An Arduino microcontroller (or Raspberry Pi or computer) can communicate with the customised touchscreen by simple serial commands, and the screen manages all of the hard work of handling graphics and touchscreen interactivity.

Members of the XOD community have created XOD nodes and libraries that allow simple communication with the programmable screens. They provide a comprehensive range of serial commands to send data for display on the LCD display, and to receive touchscreen based instructions, such as button presses, slider values, etc. The 4D Systems screens handle all interactivity and graphical display - without needing explicitly code these. We provide a 3.2" touchscreen for Biomaker, but a wide range of other screen devices are available, which use the same development environment.

The prospect of "gluing" easily built and easily customised user interfaces to simple Arduino hardware with XOD based graphical programming opens up new opportunities for scientists, engineers and inventors. In order to introduce these powerful devices to new users in simple steps, we have pre-programmed touchscreens with a set of multi-screen graphical widgets, and use these to demonstrate:

  • how to receive and display messages from hardware on the Biomaker Rich UNO R3 board.

  • how to send information to the Biomaker Rich UNO R3 board after user interaction with the touchscreen.

Some additional detail and technical background is provided below, and there are relevant manuals, data sheets, application notes and instructional videos available via the 4D Systems website (https://4dsystems.com.au).


(Coffee break)


5. Challenge to design a hardware/software touchscreen-based interface

The Biomaker starter kit contains a number of sensor devices that allow the construction of a variety of simple instruments for monitoring laboratory reactions, culture conditions and environment. Access to a programmable touchscreen allows addition of sophisticated user interfaces . Your challenge is to explore how a touchscreen interface could be used in projects such as: (i) construction of a controlled temperature incubator, (ii) sensor device for reading concentrations of heavy metal ions in water, (iii) control of a hood for sterile biological work, or (iv) automated microplate reader.

There are more examples of the ways that touchscreens can be used for display and storage of time-series of sensor data at Biomaker Tutorial 5. This tutorial draws on a XOD guide at: https://xod.io/docs/guide/sd-log-example/ - adjusted for Biomaker Starter Kit hardware, and expanded to include the 4D Systems touchscreen. The example describes how to store sensor data and process it on the computer. We can read position data and display a time sequence of values on the 4D Systems touchscreen. This can be a springboard for design of new customised interfaces.

Teams will be given the evening to design an interface that might be customised for their own set of sensors, actuators and application. A prototype can be built using the free 4D Systems Workshop4 software - Teams will have a chance to implement some of their design the following day, and present their ideas to the rest of the group.



WORKSHOP DAY 2


6. Implementation Period (9:00)


(Coffee break)


7. Presentation of results to the group (11:00)


(Lunch break)


Synthetic Cafe (Kumasi Hive, Ghana event) (13:30)


Community discussions



Dinner