Jesse Farrell
If it works, I designed it. If it doesn’t… it’s just a prototype.
Why Electrical Engineering?
Some people are born with a soldering iron in their hand... others, like myself, with Lego. Unlike those who seemed to have an innate drive for engineering, I didn't have a passion for engineering from infancy. Instead, I discovered my passion (maybe obsession at this point) at the start of the COVID pandemic.
Back in early 2020, when I was starting third year, my University (and many others) shifted online. I was particularly disappointed since third year is where the labs start getting interesting, or at least that’s what was rumored. I was convinced I couldn't let the pandemic stunt my learning.
So I bought myself a small collection of BJTs, FETs, resistors, 74 series logic, and diodes. But to substitute the Ltspice labs, I needed a way to capture waveforms. So I ordered… an oscilloscope.
Since then, I started tinkering with electronics in my spare time, after school, and during internships. I started developing my own circuit boards, first on breadboards, then perfboards, then transitioning to KiCAD for PCB design. I started reading new books (shout out to The Art of Electronics) that weren’t in the class curriculum. After graduation, I continued learning and tinkering and soon started my career as a Hardware Developer.
Nowadays, I have multiple projects on the go. I repair electronics, design increasingly complex circuits, develop test automation, write firmware, collect old test instruments, and constantly have a textbook in the queue. I can confidently say my passion for electronics began when I brought engineering home, or more specifically when I bought an oscilloscope.
Skills
Circuit Design
To date, I’ve built well over 20 custom designs, ranging from small development boards to complex systems. My favorite part of any project is the early design phase, where I get to explore unique ways of solving problems. Having worked during the great chip shortage as a makeshift component obsolescence engineer, all of my designs, even my personal projects, prioritize supply chain resiliency.
Schematic Capture & PCB Layout
I have experience in each of the major ECAD tools: Altium (AUVIC), Cadence HDL and Allegro (Intel and Schneider), and KiCAD (personal projects). The majority of my experience is with Cadence’s ECAD suite and KiCAD. I have experience working with complex designs such as dual-phase DC/DC power delivery, low-noise analog front-end circuits, high-voltage isolation, and transmission line optimization, to name a few.
Test Automation
If it’s feasible, I’ll automate any task involving repetitive data analysis or collection. Where this really shows is in the Python abstraction layer I wrote to improve automation efficiency. This module is essentially a wrapper that works closely with PyVisa to interact with various test instruments. The goal of this module was to make an instrument-agnostic test environment so that the tools I write for my home lab can be used at work without modification. I also write Python executables that augment the SKILL-based scripting language used in Allegro. For example: a tool that generates a release package for a new fabricator, and a tool that creates formatted files for uploading designs into data management systems.
Hardware Debugging
It’s inevitable that if you do a lot of circuit design, you’ll have experience in hardware debugging. I go a little further though. I don’t only debug my own designs, I also repair and reverse-engineer vintage electronics, primarily test gear, as a way to sharpen my debugging skills.
Firmware Development
I’ve written firmware for a variety of ARM and AVR-based microcontrollers. I typically design smaller systems that can be managed by a single developer. In past designs, I’ve stayed close to the metal, directly manipulating MCU registers instead of relying on hardware abstraction layers. Typically, I do all my work in C++ using VSCode.
Key Projects
- Protocol Adapter – USB HUB, ethernet switch, RS232 and ethernet NIC packaged into a single widget.
- LabAssistant – Python module that abstracts the make and model of the equipment being controlled. Dynamically identifies and initializes device drivers based on equipment connected to specified port. For the engineer, this means writing one script that can run on any power supply or any multimeter in the lab.
- See the project page for a full list of projects
Relevant Work Experience
- Designed and analyzed circuits for new and existing products, focusing on innovation and reliability.
- Managed component obsolescence and de-risked parts to ensure product delivery during shortages.
- Performed internal verification testing to comply with global accuracy standards (IEC, ANSI).
- Develop automation to accelerate R&D and V&V of new products.
- Led hardware development for the “Trident” autonomous underwater vehicle, completing a BLDC controller board.
- Developed and documented the hardware for a hydrophone array for acoustic localization.
- Troubleshot and validated A0 silicon, ensuring product reliability.
- Spent 80-90% of my work hours at a lab bench evaluating the silicon.
- Designed evaluation board for DDR5 PMIC using Cadence Allegro.
- Wrote professional reports and issue cases for mechanical and hydraulic systems.
- Created and executed test procedures to gather reliable industrial data.
Hardware Designer
Schneider Electric | Victoria, British Columbia, Canada | Oct 2022 – Present (+2 yr)
Hardware Team Lead - CLUB
AUVIC (Autonomous Underwater Vehicles Club) | Victoria, British Columbia, Canada | Sep 2021 – Sep 2022 (1 yr)
Hardware Engineer - Internship
Intel Corporation | Vancouver, British Columbia, Canada | Jan 2021 – Aug 2021 (8 mos)
Test Technician - Internship
MacDon Industries | Winnipeg, Manitoba, Canada | Sep 2019 – Dec 2019 (4 mos)
Education
University of Victoria (Sep 2018 – Apr 2022)
Bachelor of Engineering (Electrical and Computer Engineering) | Graduated with Distinction
University of British Columbia (Sep 2017 – Apr 2018)
Bachelor of Engineering (Electrical and Computer Engineering) | First Year Coursework
Interests
Hardware Design
My core passion is hardware design, everything from early architecture through schematic design, PCB layout, and verification & validation (V&V).
Python & Test Automation
Python is an incredibly powerful tool for number crunching and automation. I have a strong interest in test automation, if a task is repetitive, there’s a very good chance I’ll write a Python script for it.
Home Assistant & Smart Automation
Recently I’ve fallen down the smart home rabbit hole, specifically home assistant for agricultural uses. This has led me to start to scheme some custom hardware for home assistant, beyond what EspHome can offer.
Vintage Electronics
I hate seeing old equipment thrown away, especially vintage test gear. Old electronics are a great source of learning, and more often than not contain impressive feats of engineering.