Schematics

Overall Block Diagram

logo

Overall system schematic

logo

Overall Schematic of entire system, including MCU, FPGA, fan, motor, and LCD. Note that both MCU and FPGA are powered via a USB connection, and the 12V sources come from benchtop power supplies.

Source Code Overview

The source code for the project is located in the Github repository here.

The MCU files there can be uploaded to the STM32L432KC microcontroller on the Nucleo development board. They are used to generate the correct signals for the fan power control, motor controller IC, and SPI transactions to the FPGA. All the MCU files beginning with “STM…” were provided to the team by Prof Brake, and contain the necessary functions and definitions to use the CIMSIS library and make the design process easier.

The FPGA files were uploaded to the ICE40UP5K FPGA on the UPduino v3.1 development board. These describe hardware that takes in SPI messages from the MCU and interfaces with the LCD to print the desired text.

The 3D design files contain the SolidWorks part files used in this project. These were manufactured using the 3D printers at Harvey Mudd’s Makerspace on FLSUN Super Racer Printers using standard PLA.

Bill of Materials

Item Part Number Quantity Unit Price Vendor Link
Lukmaa Slide Whistle B091JVNBP9 1 $9.99 Amazon link
Focus LCDs Character Display C162D-BW-LW65 1 $13.70 Digikey link
GDSTIME 5015 Fan C162D-BW-LW65 1 $17.99 Amazon link
Pololou Stepper Controller Breakout A4988 1   Declan O’Neill  
Nucleo STM32L432KC Microcontroller NUCLEO-L432KC 1   E155 kit link
UPDuino v3.1 ICE40 UP5K FPGA   1   E155 kit link
NEMA17 Bipolar Stepper Motor 42A02 1   Engineering stockroom  
PLA for 3D printing   500g   HMC Makerspace  
NPN Transistor 2N 3904 1   Engineering stockroom  
10 kOhm Potentiometer   1   Engineering stockroom  
SPDT Push-Button Switch   1   E155 kit  
47 μF Polarized Capacitor   1   Engineering stockroom  
1 kOhm Resistor   1   Engineering stockroom  

Total cost: $41.68