Homework in BME 210 is the completion of online training modules so that you become familiar with design software and programming environment.
You will need to become proficient in using the UNIX shell in order to manage the raspberry pi.
You will need to practice python programming.
You will need to master OnShape for mechanical design for this and subsequent courses in BME.
You will need to master Eagle CAD electronic design software.
The homework will take substantial time. You should own a notebook or desktop computer that can run the tools you need for your homework. If your computer passes the check for OnShape in the Software Installation section, it likely will run all other applications.
I would like you to form study groups to complete the homework because a buddy system will help you stay on track.
You will need to complete Software Carpentry Training Module “The Unix Shell” which composes of the course notes of a 2 hours training session. http://swcarpentry.github.io/shell-novice. On our website section Software for your Desktop or Notebook Computer you installed a Unix shell on your computer and this shell should be used to complete this assignment. Do not complete the setup instructions on swcarpentry but you might need the data files listed here: https://swcarpentry.github.io/shell-novice/#download-files
TURNIN: A reference list of UNIX commands you learned. This should become your reference sheet for future use.
Optional completion of http://swcarpentry.github.io/git-novice/
You will need to become proficient in Python programming.
Please go through https://learnxinyminutes.com/docs/python3/ and study section 1-5. It is a condensed text but helps to see similarities to C-programming. We will discuss these sections in class.
For the programming homework we will use ChatGPT to accomplish practice our skills in
Image and Video Processing
Audio and Digital Signal Processing
Data Analysis
The homework instructions are on https://github.com/uutzinger/PythonPromptEngineering
TURN IN:
Demo your code for each chapter to the Teaching Assistant and Laboratory Assistants.
You will need to be proficient in OnShape or a similar CAD program. We will complete the self-paced online learning modules:
Getting Started: 8+mins
OnShape Documents 14+mins
Help Resources: 4mins
Creating Document 2+min
Starting Sketching 1+min
Creating Sketching Entities 9+ mins
Sketch Constraints 5mins
Completing a Sketch 1min
Sketch Tools 7mins
What is Part Studio 2mins
Creating Basic Part Features 30mins
Creating Paterns and Mirrors 12+mins
Creating Draft Shell and Rib Feature 5mins
Multipart Studio: BME210 optional
Assemblies: BME 210 optional, this section teaches how to create kinematic constraints to allow parts to move
Creating an Assembly 5mins
Mating Assembly Components 15mins
Working with and Assembly 17mins
Starting a detailed drawing 11+mins
Dimensioning Views 4+ mins
Annotations 7+ mins
Tables 4+ mins
Working with Drawings 5mins
TURN IN: You will need to design a holder that can be 3D printed for your Raspberry Pi Fan. It will need to be attachable to existing mounting holes and blow onto the CPU.
Additional instructions for turn in can be found on the Salter Lab website under the Ender 3 Pro printer. You will need to download the Prusa Slicer Software.
You are required to submit png, stl, and gcode files to the Mechanical Design Google Form once you have completed your design.
You will complete the Eagle CAD online training module at AutoDesk and design a bare bone Arduino. The total effort will be about 3 x 2 hours.
If you are having issues launching Eagle CAD, please refer to the solutions posted here.
How to install libraries in Eagle CAD [On Step 2, another way to add external libraries to the Eagle CAD is deleting the text in the Libraries box and use Browse to select the folder that you want]
Obtain the Eagle Cad Library for Sparkfun and put them into your documents/Eagle/libraries
Obtain the Eagle Cad Library for Adafruit (it has not been updated for a while, but part designs by Adafruit are usually available on Github e.g. https://github.com/adafruit/Adafruit-Trinket-M0-PCB)
As homework you will need to design a barebone Arduino as shown here: https://cdn.sparkfun.com/assets/6/e/4/f/4/52127868757b7f30438b4567.pdf.
First you will need to make the Schematics: https://learn.sparkfun.com/tutorials/using-eagle-schematic
Then the steps to create the barebone PCB is illustrated here https://learn.sparkfun.com/tutorials/using-eagle-board-layout
You will need the following parts:
5.5mm Barrel Jack (PTH) SparkFun-Connectors, POWER_JACKPTH
0.1µF Ceramic Capacitor, SparkFun-Capacitor, CAP-PTH-2.54
ATmega328P (PTH)SparkFun-IC-Microcontrollers, ATMEGA328P_PDIP
¼W Resistors SparkFun-Resistors RESISTORAXIAL-0.3
5mm LEDs, SparkFun-LED, LED5MM
Voltage Supply Symbol, SparkFun-Powersymbols, VCC
Ground Symbol, SparkFun-Powersymbols, GND
8-Pin 0.1" Header, SparkFun-Connectors, CON_08
2x3 AVR Programming Header, SparkFun-Connectors, AVR_SPI_PRG_3X2PTH
6-Pin Serial Programming Header, SparkFun-Connectors, 6_PIN_SERIAL_CABLEPTH
TURN IN: Your PCB layout. It should look similar to the pictures towards the end of https://learn.sparkfun.com/tutorials/using-eagle-board-layout or below.
NOTES FROM 2024
https://github.com/shantnu/PyEng
https://www.pythonforengineers.com. I would like you to be able to complete and comprehend the following chapters
Image and Video Processing
Data Analysis with Pandas (the pandas example has an error which can be fixed by using "loc" instead of "ix")
Audio and Digital Signal Processing
The most effective way in conducting the home work is to download the example programs from python for engineers website and open the folder in Visual Studio Code.
Then you can click on the example programs and follow along with the text on the python for engineers website.
To run the example program you have two options:
Option 1: Locate the terminal window in Visual Studio Code. cd to the folder where the current program is located. Then run python yourprogram.py yourimagefilename.
Option 2: Use the run and debugging tool in Visual Studio Code. This will give you most learning experience. However when running the debugger yourimagefilename is not provided and the programs will fail. Modify the program by replacing sys.argv[1] in the command image = cv2.imread(sys.argv[1]) with the filename you are interested in; for example 'abba.png'.
Do not follow software installation instructions in Python for Engineers. You will want the python installation as described in the Software for Homework section of this course website or use your custom installation.
Likely to complete the Python for Engineers homework you will need to execute the following commands to install the packages you need. Type in the Terminal window:
pip install numpy
pip install opencv-contrib-python
pip install pandas
pip install matplotlib
pip install wave
If you have an M1 Mac you might need to use:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
There are more details in the section Homwork / Software for your desktop computer on this website.
brew install opencv