Difference between revisions of "Team:BostonU HW/Attributions"

Line 446: Line 446:
 
       </div>
 
       </div>
 
       <div class="row">
 
       <div class="row">
         Description Here
+
         Once users have milled out their microfluidic chip and assembled the supporting control infrastructure, he or she can control the valves and dispensers of their device through Neptune’s Control user interface. This interface displays a visual of their chip with controls to open or close valves, set a dispense rate for any given dispenser, or increment the dispensed liquid volume one unit of resolution at a time with only the click of a button. Through this page, a user may change the preset specs of each servo-syringe combination if he or she decides to change their setup. The control feature may be used to control any device using hardware formatted for use in Neptune regardless of the current project being designed to enable quick control adaption to different project environments. It is also through the control page that the user will establish connection to the arduino so that commands may be sent to pumps to operate valves and dispensers.
 
       </div>
 
       </div>
 
       <br>
 
       <br>
Line 455: Line 455:
 
       </div>
 
       </div>
 
       <div class="row">
 
       <div class="row">
         Description Here
+
         3DuF is a microfluidic design CAD tool which is part of a project led by Josh Lippai (see mentor section below for further details). We decided to leverage the JSON visualization features which 3DuF has to offer in Neptune to display a visual of the user’s chip for intuitive interaction with valves and dispensers on their microfluidic device in Neptune’s Control user interface. 3DuF is integrated into Neptune’s front end operation to this end. 3DuF’s version upkeep within Neptune is designed to handle the primitive features which are used in chip design bu Fluigi (see mentor section below) outputs.
 
       </div>
 
       </div>
 
       <br>
 
       <br>
Line 465: Line 465:
 
       </div>
 
       </div>
 
       <div class="row">
 
       <div class="row">
         Description Here
+
         Neptune can be used to operate the valves and dispensers of a microfluidic chip through an Arduino Mega. In order to be able to send commands to the arduino to be interpreted and acted upon by firmware, Neptune opens a serial communication connection with the port the arduino is connected to. This is done quite simply by the user through the Control page and is as simple as selecting the port and pushing the “Connect” button. Neptune will then send commands specified by the user in the Control page to the arduino through UART.
 
       </div>
 
       </div>
 
       <br>
 
       <br>
Line 483: Line 483:
 
       </div>
 
       </div>
 
       <div class="row">
 
       <div class="row">
         Description Here
+
         The way in which Neptune communicates to the Arduino Mega which powers the control of the microfluidic chip is standardized throughout the Neptune UI-firmware interaction. Commands are sent to the arduino through the Neptune Control page in the form of an 8-digit code where the first 4 digits indicate the index of the pin on the arduino which the servo-syringe combination is connected to, and the last 4 digits indicate a PWM value which indicates the position which the servo should rotate to.
 
       </div>
 
       </div>
 
       <br>       
 
       <br>       

Revision as of 01:25, 19 October 2016


ATTRIBUTIONS







The NEPTUNE Flow
Neptune abstracts a very intricate workflow to provide an intuitive experience for its user. Below is a detailed depiction of all of the components that are under Neptune's hood.




Each of BostonU Hardware Team's members played an integral part in the success of Neptune's development.



Liquid Flow Relations & User Constraints File | Shane McCormack
In order to increase accessibility of our tool (and microfluidics in general), a method for describing microfluidics in a few simple lines was formed! This standard consists of Liquid Flow Relations (or LFR), and the User Constraints File (or UCF). The LFR file is where the user describes the inputs, outputs, and tells of any operations which occur on those inputs and outputs. These operations are described as symbols on the LFR, but are informed by the UCF. The few lines of LFR are the only things needed to run a chip through Neptune; a sample UCF is provided with Neptune that can be fine-tuned, but will not need to be written in its entirety.

The UCF can be thought of as a library of microfluidic components where, once a component is defined, it will never have to be written again! In more detail, once a component is defined inside the UCF, all subsequent LFR files can utilize the symbol the component is linked to without redefining the details of the component. The UCF leverages the MINT standard of describing parametric microfluidics. This parametrization unlocks great potential in the rapid prototyping of designs, where one number can be changed in the UCF, and all subsequent designs will have the updated component! For example, if our fictional synthetic biologist Dr. Ali found that his mixer's bends were too short in length, with one number edit in the UCF he could fix every bend of every mixer in all of his designs thereafter! This is far more accessible than redrawing every bend by hand on AutoCAD.

MμShroom Mapper | Shane McCormack
With the new facilitated design method of Liquid Flow Relations, a behind-the-scenes software tool was needed to interpret and translate the LFR and UCF into a functional MINT file. This task is fulfilled with muShroomMapper; muShroomMapper takes LFR and UCF as inputs, maps the LFR into a graph with the support of NetSynth, then informs that graph with the UCF. The informed graph is then translated into a MINT file, to be placed and routed to a blueprint for fabrication.

MμShroom Mapper-Neptune Integration | Kestas Subacius & Shane McCormack
Description Here

Fluigi-Neptune Integration | Kestas Subacius & Shane McCormack
Description Here

Control Infrastructure Prototyping | Zach Lasiuk & Priya Kapadia
Description Here

Parametric Control Infrastructure | Zach Lasiuk
Description Here

Neptune's Specify & Design Pages | Kestas Subacius
Description Here

Neptune's Build & Assembly Pages | Priya Kapadia
Description Here

Neptune's Control Page | Becca Wolf
Once users have milled out their microfluidic chip and assembled the supporting control infrastructure, he or she can control the valves and dispensers of their device through Neptune’s Control user interface. This interface displays a visual of their chip with controls to open or close valves, set a dispense rate for any given dispenser, or increment the dispensed liquid volume one unit of resolution at a time with only the click of a button. Through this page, a user may change the preset specs of each servo-syringe combination if he or she decides to change their setup. The control feature may be used to control any device using hardware formatted for use in Neptune regardless of the current project being designed to enable quick control adaption to different project environments. It is also through the control page that the user will establish connection to the arduino so that commands may be sent to pumps to operate valves and dispensers.

3DuF Integration | Becca Wolf
3DuF is a microfluidic design CAD tool which is part of a project led by Josh Lippai (see mentor section below for further details). We decided to leverage the JSON visualization features which 3DuF has to offer in Neptune to display a visual of the user’s chip for intuitive interaction with valves and dispensers on their microfluidic device in Neptune’s Control user interface. 3DuF is integrated into Neptune’s front end operation to this end. 3DuF’s version upkeep within Neptune is designed to handle the primitive features which are used in chip design bu Fluigi (see mentor section below) outputs.

Neptune-Arduino Integration | Johan Ospina & Becca Wolf
Neptune can be used to operate the valves and dispensers of a microfluidic chip through an Arduino Mega. In order to be able to send commands to the arduino to be interpreted and acted upon by firmware, Neptune opens a serial communication connection with the port the arduino is connected to. This is done quite simply by the user through the Control page and is as simple as selecting the port and pushing the “Connect” button. Neptune will then send commands specified by the user in the Control page to the arduino through UART.

Arduino Firmware | Zach Lasiuk
Description Here

Firmware-Neptune Integration | Zach Lasiuk & Becca Wolf
The way in which Neptune communicates to the Arduino Mega which powers the control of the microfluidic chip is standardized throughout the Neptune UI-firmware interaction. Commands are sent to the arduino through the Neptune Control page in the form of an 8-digit code where the first 4 digits indicate the index of the pin on the arduino which the servo-syringe combination is connected to, and the last 4 digits indicate a PWM value which indicates the position which the servo should rotate to.

Even Fluid Dispension | Zach Lasiuk
Description Here

Even Fluid Dispension-Neptune Integration | Zach Lasiuk, Becca Wolf, & Priya Kapadia
Description Here

Microfluidic Chip Prototyping | Shane McCormack
Description Here



We stand on the shoulders of giants.
Our work would not have been possible without the foundations laid by our mentors. Neptune’s microfluidic design and fabrication tool leverages projects such as Fluigi Place and Route, Mint description language, MakerFluidics, and 3DuF in order to provide the most intuitive and cohesive experience for users. These projects have been built and expanded on by our graduate student mentors. We would like to thank our mentors for all of the work they have done to allow us to bring Neptune to life.
Fluigi | Radhakrishna Sanka
A place and route tool for microfluidic devices. Fluigi takes a MINT file as input and strategically routes the features specified in the MINT into an optimized microfluidic design. Fluigi outputs the design in a series of visual formats: SVG files (which can be used to mill out the different layers of the microfluidic chip using a CNC mill), a JSON file (which can be used to visualize the microfluidic design with 3DuF), and EPS files (which can be used to build the chip using photolithography if the user so chooses).

MINT | Radhakrishna Sanka
A microfluidic description language generated as an output of MuShroom mapper and used as an input to Fluigi. This language is used to describe the features of the specified microfluidic device in great detail including specification of feature shape, size and spacing.

Netsynth | Prashant Vaidyanathan
Netsynth is a software tool that was originally built by Prashant Vaidyanathan to translate Verilog logic descriptions into wire and gate lists. Netsynth has been modified for use in Neptune through a collaboration between Shane McCormack (BostonU_HW Team member) and Vaidyanathan to produce output formatted for interpretation in the context of microfluidic design. MuShroom mapper (a tool build by McCormack) uses this output alongside a variety of other inputs to produce a MINT file output in the Specify stage of Neptune.

3DuF | Joshua Lippai
A CAD-like drawing web application. 3DuF can be used to manually draw a microfluidic design if the user wishes to bypass high-level specifications. 3DuF will then output SVG files (for CNC milling layers of the microfluidic chip) and a JSON file for later visualization and editing purposes. When used in the context of Neptune, 3DuF is leveraged to visualize the JSON output of Fluigi so that the user may control his or her microfluidic device intuitively through the Neptune interface.

MakerFluidics | Ryan Silva
MakerFluidics is an accessible, inexpensive microfluidic fabrication technique used to manufacture microfluidic chips. A user will use an SVG file to mill out both the control and flow layers of a microfluidic chip. Then he or she will use these 2 layers to sandwich a piece of PDMS and vacuum the chip to create a seal. Through Neptune, the user is encouraged to use this fabrication infrastructure to make their chip so that they may rapidly prototype many chips inexpensively for any iterations of their experiment and easily control their microfluidic system through the Neptune interface.

Microfluidic Application | Ali Lashkaripour
Explorations into the biological applications for Neptune’s workflow are spearheaded by Ali Lashkaripour. He designs and tests features to be added to our UCF repo as relevant primitives to chip designs for synthetic biological application. Design constraints of microfluidic design through Neptune’s toolchain are also investigated by Lashkaripour.

Thank you to our sponsors for their support