An autopsy of the YASA was performed in lieu of its failure at competition. On site, the controller was throwing encoder faults, the reason for which became incredibly apparent once we'd disassembled the drivetrain.

Motor Exposed to the Elements

Tears T____T

Due to some negligence on behalf of the mechEs, the motor regularly sat in the shop without its dust covers on, which resulted in a foreign object entering the gap between the optical encoder and the encoder grating. One of the optical encoder housings was then bent and upon bench testing, was shown to be broken.

Top Side

Extracting the encoder board from the motor revealed a fairly run of the mill quad diff amp package that amplifies the photodiode current from the encoders to give the usable UVW output used by the motor controller. The encoders themselves are shimmed with a 3D printed member that gives the appropriate curvature when seated around the motor's circumference.

Bottom Side

The JST style connectors are for thermistor breakouts that are fed through the main "DATA" connector. Further, the board appears to have a conformal coating, presumably for HV isolation (the encoder board sits in proximity to the phase leads of the motor), however, gently probing the soldered through-hole leads showed that it didn't really do much in terms of insulation (lol).,

The replacement component comes in the form of the Sharp GP1A58HRJ00F, which is their drop in replacement for the broken part (The old part has since fallen into obsolescence).

Testing of the repaired board will continue once the rest of the drivetrain is back in order.


The motherboard and steering wheel boards were respun. The motherboard features many of the same things from last year's car, just in a condensed form. Since we were moving all of the low voltage electronics into a smaller, weatherproof box, space savings was the biggest priority. Further, simplifications to the I/O were made, which meant we could use just a single AMPSEAL 35 pin connector. Note: the relays required for the FSAE hybrid latching circuit took up a considerable amount of space.

Following last year's cue sheet, the micro takes care of the start-up sequence, and also monitors system conditions (tire pressure, motor rpm, current draw, speed, etc) which it can relay to the steering wheel micro for display to the driver.

Refinements were also made to the steering wheel electronics (see mechanicals here).

The steering wheel board was separated out into three parts: a main board that has the microcontroller that drives the main display, shift registers, buffers, and level shifters, and two LED breakout boards for indicating state of charge for the high and low voltage supplies. Having the boards separate meant that we could independently mount each section to its respective location in the steering wheel assembly, making our lives a little easier.

Development for both platforms is also done on Arduino given the low complexity and performance of the required systems.

Infotainment System

The display chosen was a 128x64 pixel Adafruit OLED module; using their included GFX library, the dashboard layout was done in a single evening.


In an effort to enhance the engineering curriculum at Tufts, a suitemate and I got involved in making some lab material for ES2, a general coding class for engineering students.

We were tasked with making a 1D and 2D scanning system that used one of the dinky ultrasonics sensors you see floating around everywhere.

To keep costs low, we decided to go with a nested approach; that is, the 1D scanner would be a subset of the 2D scanner. Pictured below is the 2D scanner - the 1D version would simply exclude the L-shaped "arm" and secondary motor, and then mount the sensor directly to the main motor stage, giving control of only yaw.

2D Lidar Scanner: Now with 50% more floating Arduino
The base plate consists of a lasercut piece of acrylic upon which the main stepper motor, arduino, and legs are mounted. The "arm" member is attached to the main motor using a set screw and shaft that's integrated into the arm's body.

Since the arm would be 3D printed, a tradeoff was made between print-time and strength: it features an I-beam structure that decreased print time and weight, and also allowed for convenient cable routing. 

The secondary stepper controlling the pitch angle, is mounted on the arm and holds the sensor using another 3D printed member.

Cable routing is done to reduce the cable strain without resorting to drilling out motor shafts.
Beginning from the sensor side, a small cavity is included past the expanded through hole for the motor shaft that feeds into a port in the arm - this will also double as the feedthrough for the motor leads. Shielded cable would be used to minimize interference between the sensor data lines and the motor lead wires.
Cable Routing
The cables then travel along the inner wall of the arm and pop out the bottom through a port located next to the main motor. 

 Also visible are the endstops - just some brass rod that's press fit to prevent either axis from over-rotating and pulling out a cable.

Electronics to be done soon...