Can you break down tasks or processes from your research into simple, step-wise parts? Do you have processes that sequentially build from previous steps? Does your work involve gathering multiple types of environmental data at regular increments? If so, you might consider exploring DIY software and/or hardware for your laboratory.
Background
This website is a resource for anyone interested in DIY free and open source hardware and software (FOSH and FOSS) for their plant science research.
I am not an engineer and thus I have tried to tread lightly in areas for which my terminology and/or understanding may not be accurate or thorough. Sometimes exploring a new skill or field can be frustrating or intimidating, especially early in the process; to overcome this, I encourage you to seek help from people who have more experience and from the many other resources available (videos, documentation, forums, books, etc.). Keep in mind: nobody is all-knowing and everyone has to start somewhere; alas, let’s foster a collaborative and supportive DIY movement together!
Why DIY FOSH and FOSS?
If your lab is fortunate enough to be flush with funding, you may be asking: why bother building something myself when I can pay a company to do it for me? Great question. This may not be relevant for you. However, you may still find other benefits by learning how to build hardware and software yourself. Some benefits include:
- Improving accessibility to underfunded laboratories
- Creating customization and/or automation for repetitive tasks
- Improving intra- and inter-laboratory reproducibility
- Learning critical troubleshooting, coding, and electrical skills
- Getting paid to build the socially-acceptable version of adult Legos (:smirk:)
Resources
Interested in learning more? I hope so! I encourage you to first review the selected publications below as I believe they have exceptional documentation and show the breadth of possible applications. While pursuing the published, peer-examples, think about similarities and differences between your work processes and the published work: does your research have similar tasks or processes? If so, a good place to start is by learning more about the hardware and software implemented in the paper of interest. If electronic wiring and microcontrollers are new to you, you should then consider exploring a DIY kit before starting on a larger project - this will greatly reduce frustration later on by building troubleshooting skills in low stakes situations (versatile kits here, here).
- Selected publications for inspiration
- Peer reviewed scientific resources
- Free and open source software
- Documentation for commonly used hardware
- Exceptional YouTube tutorials
- Recommendations on where to purchase components
- Local resources for Oregon State University
- Links to insightful reviews and commentary
- Useful CAD Libraries and Open Hardware Repositories
- Books
- Other
- Contact
Disclosure statement: I do not benefit financially from any of the links on this page.
Selected publications
Highly-Customizable 3D Printed Peristaltic Pump Kit
Applications: precise fluid handling, cell culture, microfluidics
Cost: $51 USD
Other peristaltic pumps: Jönsson et al. 2020, iGEM Aachen Team 2017, Thingiverse peristaltic pumps (not necessarily peer-reviewed)
Principles of computer-controlled linear motion applied to an open-source affordable liquid handler for automated micropipetting
Applications: liquid handling, cell culture, phenomics
Cost: $1500 USD
Other liquid handlers: Eggert et al. 2020, Faiña et al. 2020
eGreenhouse: Robotically positioned, low-cost, open-source CO2 analyzer and sensor device for greenhouse applications
Applications: phenomics, environmental sensing, precision agriculture
Cost: Varies with size of application, starts at ~$150
Other greenhouse tools: Plug-and-play Hyperspectral Imaging Sensor, HyperRail,Robotic Gantry System, Irrigation Water Usage Monitoring
Peer reviewed scientific resources
HardwareX is a peer-reviewed open access scientific journal dedicated to the open source design and construction of scientific instrumentation. The journal publishes science hardware shared under an open source hardware license. For DIY hardware, I believe HardwareX has the most detailed manuscripts thus enabling easier reproducibility.
Nature Scientific Reports is an open access journal publishing original research from across all areas of the natural sciences, medicine and engineering. To find manuscripts more likely to have DIY hardware, I would explore the tags lab-on-a-chip, biomedical engineering, or mechanical engineering.
Precision Agriculture presents innovative data and technologies emerging from research in the field of precision agriculture.
Free and open source software
Free and open-source software (FOSS) enable unrestrained reuse and modification of a software’s source code. Linux OS and Mozilla Firefox are classic examples of FOSS that enjoy widespread usage. There’s a great list of open CAM/CNC software here.
Hardware documentation
I’ve included direct links to the documentation of hardware commonly used in DIY free open source hardware. This field is rapidly evolving, so I imagine this section will change frequently.
Microcontrollers
Microcontrollers are the brains of hardware - they tell the other components what to do. They are best suited for simple repetitive tasks (such as activating a motor). I recommend choosing a microcontroller based on your power needs, programming language preference (generally C or micropython), peripherals, and based on the company’s reputation and the available documentation. Speaking from experience: you will save yourself a lot of frustration if you work with a microcontroller that has thorough documentation and support (like the Arduino series).
Overview of Common Open Source Microcontrollers
Boards | A. Arduino Nano | B. Arduino Uno | C. Arduino Due | D. Raspberry Pi Pico |
---|---|---|---|---|
Price | $20 | $30 | $40 | $4 |
Processor | ATmega328 | ATmega328P | AT91SAM3X8E | Dual-core Arm Cortex-M0+ |
Processor Speed | 16 MHz | 16 MHz | 16 MHz | 84 MHz |
Analog Pins | 8 | 6 | 12 | 3 |
Digital Pins | 22 | 6 | 54 | 26 |
Memory | 32 KB | 32 KB | 512 KB | 264 KB |
Programming Language | Arduino (C) | Arduino (C) | Arduino (C) | C and MicroPython |
Programmer | USB | USB | USB | USB |
Serial Communication | UART | UART or SPI | UART or SPI | UART or SPI |
CNC Microcontrollers
Have a task that can be programmed and contained on an X, Y, Z system? You’ll probably use computer numerical control (CNC). These microcontrollers have firmware that’s adapted for and commonly used in CNC applications (CNC routers, 3d printers, liquid handlers, etc.):
- Arduino Uno (8-bit)
- Arduino Mega (8-bit)
- Arduino Due (32-bit)
- Duet2 (32-bit)
- Duet3 (32-bit)
- Smoothieboard (32-bit)
Tiny Microcontrollers
These tiny microcontrollers are well-suited for wearable, lightweight, or space-limited applications.
Microcontroller firmware
Firmware is essentially permanent software that is programmed to microcontrollers. You will need to change the firmware (or write your own) to adapt it for your application; consequently, it’s wise to familiarize yourself with the available resources, formatting, and limitations of various firmware packages. Firmware is typically written in C, C++, or Micropython. The software component of DIY hardware can be challenging, but there are tools, such as integrated development environments (IDE), that can make customizing firmware fairly straightforward. Not familiar with IDE? If you have used R-Studio or Jupyter Notebook, then you have used IDEs for the R and Python, respectively. Here’s a nice overview of IDEs.
Updated list of active open source microcontroller firmware
Marlin
Compatible 8/16/32-bit boards
grbl
Compatible with Arduino Uno Stack, Arduino Nano Stack, MKS-DLC, Mega 2560 Stack, and others
MicroPython
Compatible with Pyboard v1, STM32 boards, Raspberry Pi Pico, WiPy, TinyPICO, and others
RepRap
Compatible 8/16-bit boards
Compatible 32-bit boards
Smoothieware
Compatible with all RepRap boards
Stepper drivers
Stepper motors are the most type of common motor deployed in high-precision CNC-type applications. Stepper motors work move in a precise, incremental, step-wise fashion (thorough review here). Stepper drivers are components that drive stepper motors. Stepper drivers are often integrated into microcontroller boards, but can also be wired externally. When choosing a stepper driver, one needs to consider how powerful their stepper motors are, what extra features they would like, and how precise they need their stepper motor to be. Good overviews can be found here, here, and here.
Environmental sensors
Microcontrollers and microprocessors are well suited for environmental sensing; as such, many accessory modules have been developed and are able to detect air movement, humidity, temperature, light, vibration, sound, etc. If you’re an OSU researcher and have a project involving environmental sensing, reach out to the OPEnS Lab - this is their specialty. If not, I’ve provided some resources below.
- Open Source Ecology
- Tutorials on several environmental sensors
- Low-cost electronic sensors for environmental research: Pitfalls and opportunities
- HardwareX special issue on environmental sensing
- How to build an Arduino data logger
- Cave Pearl Data Logger
- Portable DIY hummingbird triggering system
- DIY environmental microcontroller units (EMUs)
Microprocessors
Technically speaking, microprocessors (aka mini-computers) are not microcontrollers as they can handle multiple tasks at once. These are best suited for software-heavy applications or as a computer that controls multiple microcontrollers.
YouTube Links
There are endless tutorials and informational videos on YouTube, but some are more helpful than others. I found these to be particularly helpful with my adventure into DIY hardware.
-
How to build a 3D printer, The Ultimate Guide
- This video thoroughly covers the details and considerations of common components of most CNC hardware.
- Breadboarding & Prototyping for Electronics, Arduino & Raspberry Pi
- Schematic Diagrams & Symbols, Electrical Circuits
- How to wire a cheap power supply
- DIY Dremel CNC electronics, software and firmware
- How To Wire It! Stepper Motors
- Raspberry Pi Pico - Control the (I/O) World
- Raspberry Pi CNC Controller
Purchasing recommendations
Regardless of who you buy from, most of your hardware components will be manufactured in China; alas, it is tempting to get the best price and buy from Alibaba. Unfortunately, when you buy an open-source chip from Alibaba or another third-party seller, you are likely not supporting the developers who put time and energy into developing open-source hardware. If you have the financial means to pay slightly more to support open-source developers, please do. Not only will you help support the movement, but also exchanges are easier, and you typically receive much better technical support. Further, there have been reports of shortcuts in rip-off hardware that have led to safety hazards not present in original genuine open source release. Nonetheless, open source is open source, so if your lab is in the dire straits, Aliexpress will almost always be the cheapest option.
- Microprocessors and microcontrollers direct from designers
- Custom Printed Circuit Boards (PCBs)
- Authorized resellers
- Misc. Open Source Hardware
- Third-party* resellers (*usually)
Local resources
- Corvallis Public Library 3d printing available, literature, and a makers club.
- Electrical Engineering Capstone Student Projects Request a senior EE student to help with your project.
- OPEnS Lab Available help for your environmental sensing projects as well as access to 3d printing and laser cutting.
- OSU Library 3d printing and literature.
Insightful Reviews and Commentary
- Harnessing the Benefits of Open Electronics in Science
- A Review of Raspberry Pi Usage in Scientific Research
- Smoothieware vs. Marlin: Which Firmware is Better
- A DIY approach to automating your lab
- Building Research Equipment with Free, Open-Source Hardware
- Science for All: How to Make Free, Open Source Laboratory Hardware
- Economic savings for scientific free and open source technology: A review
Useful CAD Libraries and Open Hardware Repositories
- 3D Plant Phenomics
- Grabcad
- Thingiverse
- GaudiLabs Open Hardware Projects
- Open-Source Lab
- PLOS Open-Source Toolkit
Books
- Fusion 360 for Makers
- Practical Electronics for Inventors
- Encyclopedia of Electronic Components Volume 1
- Make: Electronics: Learning Through Discovery
- Programming Arduino: Getting Started with Sketches
- Raspberry Pi Cookbook
Other
Contact?
Feel free to email me with questions, comments, or if you’re interested in collaboration. Follow my open liquid handler and modular PCR system build here.
Acknowledgments
I’d like to thank David Florian (@DrDFlo) for his help and feedback while navigating adaptation of his Ottobot design for my application. Thank you to my fellow makers for all your feedback, my supportive lab mates (Briana Claassen, Teddy Borland, Mary Block, Steve Massie, and Nanci Adair), and my incredibly patient, kind, supportive, and brilliantly insightful adviser, Dr. David Gent.
To be clear, I collaborate with people that aren’t named David too :sweat_smile:. Updated March 15th, 2022.