My project is focused on developing the Zebrafish Cognitive Learning Interface (ZebCLI), a system designed to study zebrafish conditional learning capabilities. We can deliver controlled stimuli and track their behavior to better understand learning, memory, and cognitive functions. This project aims to improve how we study the brain and its responses, with potential applications in drug testing and developing treatments for neurological disorders.
Laying the Foundation: Defining the Research Direction
This was the first time when I reached out to
Prof. Yijie Geng to discuss about my individual projects for my Honors project. We talked a lot about some potential projects that I could do for my individual projects and ended up choosing this automated zebrafish conditioning system as as my project. I was told that this is a master level project and I was motivated by its complexity and saw it as an opportunity to challenge myself. This project ultimately inspired my decision to pursue the B.S./M.S. combined program in Bioengineering at the University of Washington, with the intention of dedicating the necessary time and effort to produce meaningful results.
Skills: Project Planning; Academic Communication
Overall Progress: 1%
Overcoming the Knowledge Gap
Following the initial meeting with Prof. Geng, the directive was clear: execute the project (I had no clues at all on how to get started at this time). At this time, I only had a conceptual diagram of the envisioned system in my mind. I began an extensive literature review to understand existing zebrafish conditioning platforms. Most available designs were either not open-source, prohibitively expensive, or lacked operational efficiency. I had no prior experience with microcontrollers. This month was dedicated to bridging that knowledge gap—identifying core hardware requirements, exploring feasible alternatives, and preparing to transition from concept to implementation..

Skills: Literature Review
Overall Progress: 5%
Proposal Writings and System Specifications
Took BioEn 401 with
Prof. Paul Yager, a course designed to teach proposal-writing principles while guiding the development of senior capstone projects. Through extensive literature review, I refined the project vision—identifying essential system functions, determining feasible implementation strategies, and recognizing technical areas requiring further learning. By the end of this period, I finalized the initial design specifications and created the first component of the system - a 3D-printed zebrafish behavioral arena.
At the end of this course, I gave a presentation on my project. Here are the final proposal and presentation slides I made.
Proposal Presentation SlidesSkills: Proposal Writing; 3D Printing
Overall Progress: 10%
System’s Core Functions - Visual Stimulus Module
During the summer of 2024, I dedicated full-time effort to move the project forward. The design presented four major technical challenges: (1) visual stimuli, (2) electric stimuli, (3) video tracking, and (4) data analysis. My focus this period was on developing a reliable visual stimulation module and building foundational knowledge of Arduino microcontrollers to enable precise control. I tried soldering LEDs on the PCB board and several other methods to deliver the visual stimuli but all of them failed because of low efficiency.
By the end of the summer, I presented my progress to the lab, summarizing key technical milestones and outlining next steps for the remaining subsystems. Here are the presentation slides I made.
Presentation SlidesSkills: Arduino Programming; C++
Overall Progress: 25%
System’s Core Functions - Electric Stimulus Module I
This period focused on designing and refining the electric stimulus component of the system. After evaluating multiple control options, relays were selected for their reliability and compatibility with the Arduino-based architecture. The system worked perfectly but the voltage delivered to the system was not stable and consistent. To solve this problem, I reached out to
Prof Christopher Neils and registered course with him the next quarter to debug the problem.

Skills: Circuit Design; C++
Overall Progress: 30%
System’s Core Functions - Electric Stimulus Module II
This quarter focused on resolving voltage instability in the electric stimulus module in collaboration with Prof. Neils. The root cause was identified as an ungrounded relay module when the AO switch was flipped back. Once corrected, voltage delivery became stable, and repeated tests confirmed 9V as the optimal stimulus — effective yet harmless to zebrafish, preserving both experimental validity and bioethical compliance.
Preliminary training sessions revealed that, although the fish responded to stimuli, they failed to form an association between the shocks and illuminated LED regions. This outcome highlighted two critical design limitations for future iterations: (1) the arena size may be insufficient for one-year-old fish to engage in learning, and (2) the training protocol likely requires modification, including an extended baseline period to allow fish to acclimate and reduce stress prior to stimulus introduction.
Skills: Circuit Design; C++; Product Testing
Overall Progress: 40%
Preliminary Test, Presentation, and Thesis Submission
Finished the write-up of Honors research report, integrating system design, experimental results, and recommendations for future work. The Honors thesis was subsequently finalized and formally submitted, marking the culmination of the Bioengineering Honors Program requirements.
Here is an edited training video that I recorded for whoever is interested in this project (
Click to see the video)
The work was presented at the department symposium in June where it was shared with faculty, peers, and external attendees.

Skills: Public Presentation; Product Testing
Overall Progress: 45%
System’s Core Functions - Video Tracking (and Arena Redesign)
This month was all about redesigning the arena… and running into one roadblock after another. The 3D printer in our lab broke down (the nozzle’s radar sensor stopped working), so I had to send my designs to an online 3D printing service. Each order took about at least 10 days between printing and shipping and both prototypes I got back in July and in August had the same fatal problem: water leakage. That’s a deal-breaker when your project involves electronics. After wasting time and money, I decided to just buy my own Bambu H2D 3D printer so I can print designs in-house and skip the long waits. While waiting for it to arrive, I kept busy working on data collection prep so I can hit the ground running once the new arena is ready.
Now, I'm working on ImageJ to deal with the each single frame captured in a recording video and I'm learning how to collect, interpret, and store the data into a 2 dimensional number into a csv. file. Meanwhile, I'm also exploring a new platform - ANYmaze - to learn how to do auto data collection and dataset compiling.
Skills: Video Tracking; Python; Data Collection; 3D Print
Overall Progress: 55%