Automated Circuit Design with Python-Based Generators

Design time is a limiting factor in deploying many modern electronic products, but large portions of many electronic designs re-implement already designed circuits.  Improved design tools could speed up this design reuse.  One such tool is called a analog generator: a program written by a circuit expert that automates the expert's design process.  Recent efforts have resulted in implementations of analog generators for printed circuit boards and integrated circuits, and this exploratory project is going to try to re-implement those projects at Harvey Mudd, extend their features, and measure how well engineers can learn to use them.  Collaborators in academia and industry offer the potential for internships.  Join this project if you like to mix your programming and your hardware design.

ESSAY PROMPT: Total length is ~3 paragraphs.  1. Tell me about a time you got stuck on a technical problem and how you got unstuck.  2. Describe your prior programming experience, particularly in Python.  3. Explain why you're interested in this project and what you hope to get from it.

NOTE: Successful applicants to this project will be recruited to the research group during the spring semester and compensated with academic credit.  Full time, paid summer hires will be recruited from within the research group in the spring.  An additional special opportunity to collaborate with a startup may be available to a rising senior summer hire that has taken E155 and is enrolled in E151.

Name of research group, project, or lab
Analog Circuit Engineering Lab
Why join this research group or lab?

The Analog Circuit Engineering (ACE) lab is the best way to experience building and testing a circuit from start to finish before clinic.  If you want to build circuits, the ACE lab can get you there.

Further, ACE lab meetings are also ways to learn about the semiconductor industry, giving presentations and reading academic papers. Students have said that the meetings fun, relaxed, and a welcome chance to pursue interests of their choice.

Logistics Information:
Project categories
Computer Science
Circuit Design
Human-Computer Interaction
Student ranks applicable
Student qualifications

This project will mostly take place behind a computer screen -- screen time is required for programming, interacting with circuit design software and documenting work -- so the ability to work for long periods at a computer (with appropriate accommodations if necessary) is required.

Time commitment
Spring - Part Time
Summer - Full Time
Academic Credit
Paid Research
Number of openings
Techniques learned

Printed circuit board design, Python programming, educational assessment

Contact Information:
Matthew Spencer
Name of project director or principal investigator
Matthew Spencer
Email address of project director or principal investigator
2 sp. | 16 appl.
Hours per week
Spring - Part Time (+1)
Spring - Part TimeSummer - Full Time
Project categories
Circuit Design (+3)
Computer ScienceEngineeringCircuit DesignHuman-Computer Interaction