💡 Introduction to AI for Discovery using Self-driving Labs
Note
Registration for this course is LIVE! Register here. If you’re already registered, your course will be available at https://q.utoronto.ca/.
Self-driving laboratories (SDLs) incorporate AI and automation into scientific laboratories to speed up the discovery of new materials for applications such as clean energy and cancer drugs. Discover the essential principles of SDLs by building a ‘Hello World’ SDL from scratch. In this asynchronous, remote course, you will build a self-driving color matcher using dimmable LEDs and a light sensor. This introduction will help you implement hardware/software communication, database integration, microcontroller programming, and Bayesian optimization. Each of these are important components of an SDL, and you will get a taste of these in the course modules. In the final module, you will piece together the individual components to create your very own SDL demo. This introductory course will prepare you for deeper dives in data science, robotics, software development, and system design in later microcourses.
Animated schematic diagram of the ‘Hello World’ demo: A microcontroller controls the LEDs and reads sensor data. The difference between the target color and the measured color is fed into an adaptive experimentation algorithm, and the process repeats itself.
🔑 Recommended Prerequisites
Warning
This course requires physical hardware and a 2.4 GHz WPA-2 wireless network. If you do not have the hardware, you will need to purchase the required components, replacing the USB power adapter with the correct style for your country (e.g., European type C), if necessary. You may also refer to “Before you Begin”. You will need access to a 2.4 GHz WPA2-personal wireless network (i.e., WiFi name and password only, without usernames, which is required for most internet-of-things devices). If you do not already have access to one, some alternatives include setting up a home network to broadcast both 2.4 GHz and 5 GHz networks per your router’s specific instructions, or perhaps easier - using a mobile hotspot in extended compatibility mode. Likewise, you may also use a SIM-enabled router. See some recommendations for gaining access to the required network.
UPDATE: (2024-04-01) If the AS7341 sensor shows as being on backorder, you can either order it from DigiKey still and wait until it comes back in stock or source it from another supplier (see e.g., Adafruit’s listing, Mouser).
For participants to complete this course within the expected timeframe (approx. 25 hours), at least beginner proficiency in Python programming is recommended. Those with advanced programming expertise will likely require a significantly shorter amount of time, whereas those with no prior programming experience may require 50 hours or more.
🎯 Learning Outcomes
Define and explain key terms and principles of self-driving labs to demonstrate understanding
Apply MQTT or similar frameworks to send commands and receive sensor data over WiFi
Demonstrate the ability to use MongoDB to store and retrieve experiment configurations and results effectively
Develop and implement software on a Raspberry Pi Pico W microcontroller to control device power and read sensor data accurately
Modify a Bayesian optimization script using the Ax Platform to iteratively propose new experimental configurations
Integrate the individual SDL components to orchestrate the full ‘Hello World’ workflow
🛠️ Competencies/Skills
Basic self-driving lab literacy
Microcontrollers and sensors
Bayesian optimization
Hardware/software communication
Database management
Workflow orchestration
🧩 Modules
The orientation modules are intended to be completed in under one hour in total. The modules after are intended to take approximately 3-4 hours each, assuming that the recommended prerequisites from above have been met.
Module Name |
Topics |
Learning Outcomes |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
⚖️ Course Assessments and Grading Schema
Each student is required to complete various quizzes and GitHub Classroom assignments. The course is structured into an orientation module followed by six subsequent modules. The course is graded on a pass/fail basis with 70% as the threshold for passing. Here is the breakdown of the points for each part of the course:
- 🧭 Orientation Module: Worth 15 points.
- 📚 Modules 1-6: Each includes:
- 🧭 A guided notebook tutorial (ungraded)
- 📓 A knowledge check (graded, 5 points)
- 🛠️ A GitHub Classroom assignment (graded, 10 points*)
*The final module's GitHub Classroom assignment is worth 30 points.
Note that partial points are available on certain assignments.
👤 Course developer(s)
Sterling Baird, PhD Materials Science and Engineering (Acceleration Consortium)