Design Like a Physicist


Physics 398DLP, Fall 2018

Loomis 276, Friday afternoons, 1 pm - 5 pm

3 credit hours


Required stuff

There are no required texts for Physics 398DLP. I am currently writing material that I will distribute in class as it is ready. In future semesters I will assemble all of this into a course packet.

You must come to each class (including the first) with material I've already distributed and a Windows or Mac OS laptop. Linux will work too, in spite of certain wrinkles that you'll encounter during the term. You'll need to have a couple of gigabytes of available disk space for the first-day installations of software that we'll be using. Please be sure to bring your power adapter too.

I will distribute most of the tools and hardware that you'll need for the device you'll design and build. You must bring all of this to each class meeting.

Syllabus

Note that we have about five weeks of slack time in the following schedule.

  • Week 1

    In class:
    ⚛ Form up into research teams of two to four people and begin discussing which project you’ll pursue. Schedule a time for the team’s weekly meeting with GG.
    ⚛ Sign out the tools and hardware needed to build your devices.
    ⚛ Install the Arduino programming IDE.
    ⚛ Register an account with Autodesk, then install the EAGLE schematic capture/PCB IDE
    ⚛ Log in to TinkerCad and make sure it recognizes your Autodesk account. Find a simple design for something amusing on the TinkerCad site and export it to an STL file. (Hands-on demo by GG. You will take notes as you follow along.)
    ⚛ Download Cura 3.4. Have Cura generate a gcode file from your STL file.
    ⚛ Plug the Arduino into a USB port on your laptop, find a demonstration program that will blink its LED, upload the program and confirm that the LED really does blink. (Hands-on demo by GG if desired.)
    ⚛ Modify the blinking LED program to flash your first and last initials in Morse code.
    ⚛ Get a soldering lesson from Todd Moore, an electrical engineer who is staffing the undergraduate physics program. Solder pins onto the bottoms of some of your breakout boards, including the ADXL326 accelerometer and BME680 temperature, etc. sensor.
    ⚛ Install the power terminals and plastic feet onto your breadboard and duct-tape your Arduino to the surface of your breadboard, but not on top of any of the interconnect holes.
    ⚛ Install a BME680 on your breadboard, following the instructions on the Adafruit site, and download the demonstration software to communicate with it. Make it report what it sees in a serial monitor window. (Hands-on demo by GG if desired.)
    ⚛ Do the same with the ADXL326 accelerometer.
    ⚛ Select volunteers for the following reports: (1) introduction to the Arduino Mega 2560; (2) how the BME680 T/P/H/VOC sensor works; (3) how a successive approximation ADC works
    Post-class assignment:
    ⚛ Formulate a plan of action with the members of your team. I want all of you to be involved with all flavors of activity: writing Arduino code, generating schematics to represent your devices, and so forth. But it is fine for one person to take the lead on, say, managing the code that interrogates the GPS package.
    ⚛ Finish whatever installations didn’t go smoothly during today’s class.
    ⚛ Install other sensors on your breadboard circuits, download demonstration software to communicate with them, and see that the new code runs properly.

  • Week 2

    Conference with the professor:
    ⚛ Discuss your project plan, including who you must contact for permission to, for example, install atmospheric methane detectors in the UIUC barns.
    In class:
    ⚛ Reports (1), (2), (3) that were assigned last week. (We’ll scatter these throughout the four-hour class meeting, rather then hearing them sequentially.)
    ⚛ Select volunteers for the following reports: (1) how the ADXL326 accelerometer works; (2) how an electret microphone works; (3) how the MLX90614 IR sensor works.
    ⚛ Open a project in Eagle schematic capture/PCB and create a schematic that represents your breadboarded prototype as it currently exists, and reflects what you intend to do with it today. I will help with this, and show you how to work with the libraries of parts that you’ll need. (Hands-on demo by GG, for sure: placing parts, connecting stuff, naming nets.)
    ⚛ Install the microSD card reader and more sensors on your breadboard, making sure to leave room for the AA battery pack.
    ⚛ Download software to communicate with your new sensors and test that they respond properly.
    ⚛ Soldering clinic with Todd Moore.
    ⚛ Class visitor: Professor Eric Benson (Art + Design). Thinking about design.
    Post-class assignment:
    ⚛ Using TinkerCad, create a 3D-printable design for a smallish box with a lid in which you’ll keep your various breakout boards. It’s fine to borrow a design you find on the web, but figure out how to engrave your name onto the lid of the box. Please don’t make your box larger than about 2.5 cm × 5 cm × 2.5 cm. I’ll print it for you (you can pick the color!) once you’ve used Cura to create a gcode file.
    ⚛ Finish adding sensors to your breadboard prototype, downloading code from the web. Keep your schematic diagram up to date.

  • Week 3

    Conference with the professor:
    ⚛ Keep me apprised of your progress, and how you have decided to share the responsibilities for the various tasks needed to advance your project.
    ⚛ Tell me how well it worked to manipulate objects with TinkerCad.
    ⚛ Pick a PLA filament color for your group’s TinkerCad projects and leave with me copies of your gcode files.
    In class:
    ⚛ Reports (1), (2), (3) that were assigned last week.
    ⚛ Select volunteers for the following reports: (1) I2C communication protocol; (2) interrupts; (3) how the MCP4725 DAC works.
    ⚛ TinkerCad tutorial with GG: grouping and ungrouping objects, aligning objects, making holes, rotating your point of view, using build planes.
    ⚛ Whole class group discussion: how is it going? What’s too hard/too easy? What are your thoughts about the field work you’ll be doing in a few weeks? What might your data acquisition code look like? What kind of technical support might I provide to make your work go more smoothly? Have you made contact yet with anyone to learn the rules concerning entering into their environment to make measurements?
    ⚛ Block out a data acquisition program (DAQ) that you’ll use for your field work and measurement; begin writing a skeleton version of it. Do this collaboratively.
    ⚛ Install Anaconda’s iPython IDE and begin building an offline data analysis package.
    ⚛ Class visitor: Ms. Celia Elliott (Physics). Communicating clearly.
    Post-class assignment:
    ⚛ Continue writing code for your device’s DAQ, and for your offline analysis. Do this in collaboration with other members of your group. Your DAQ must be able to write data to your device’s microSD card.
    ⚛ Using TinkerCad, start designing the case for your device. (I hope to have a PCB design ready for you by this time.)
    ⚛ Develop with your group a detailed plan for field testing your (breadboarded) devices.
    ⚛ Run a quick field test. For example, if you plan to study Amtrak trains, ride an MTD bus for a half hour.

  • Week 4

    Conference with the professor:
    ⚛ Keep me apprised of your DAQ and offline analysis progress.
    ⚛ Tell me how your TinkerCad case is progressing.
    ⚛ Describe how your quick field trials went, and whether you were able to read/process the data on the microSD card.
    In class:
    ⚛ Reports (1), (2), (3) that were assigned last week.
    ⚛ Select volunteers for the following reports: (1) Adafruit GPS breakout board; (2) Atmel 2560 microcontroller timer modules; (3) PWM (pulse width modulation) and the PAM8302 amplifier.
    ⚛ TinkerCad assistance from GG and teaching assistant as needed.
    ⚛ DAQ development.
    ⚛ Offline analysis code development.
    Post-class assignment:
    ⚛ Continue your DAQ and offline analysis code development.
    ⚛ Finish the TinkerCad case design.
    ⚛ Run another quick field test if necessary.
    ⚛ Analyze your quick field test data and draw tentative conclusions about your project’s feasibility. Consider adjusting your plans based on your findings.

  • Week 5

    Conference with the professor:
    ⚛ Discuss your quick field trial analyses, conclusions, and proposed adjustments.
    In class:
    ⚛ Reports (1), (2), (3) that were assigned last week.
    ⚛ Select volunteers for the following reports: (1) L3GD20H Triple-Axis Gyro; (2) VL53L0X Time of Flight Distance Sensor; (3) high speed microSD data transfer issues
    ⚛ Soldering Clinic II with Todd Moore: solder headers onto printed circuit boards, mount all necessary components onto the PCB.
    ⚛ Comparison tests: breadboard vs. PCB device.
    ⚛ Class visitor: Professor Scott Willenbrock: (Physics). Sustainability.
    Post-class assignment:
    ⚛ Continue your DAQ and offline analysis code development.
    ⚛ Finish the TinkerCad case design, if it is still in progress.
    ⚛ Prepare a ten minute status report to present to the class about your field tests.

  • Week 6

    Conference with the professor:
    ⚛ Discuss your status report and online/offline code progress.
    In class: We will meet at MakerLab, Business Instructional Facility, 515 E. Gregory, room 3030.
    ⚛ Clean, calibrate, and tune MakerLab’s Ultimaker printers, including installing windshields.
    ⚛ Start printing data logger cases.
    ⚛ Continue class meeting at BIF, with groups presenting their status reports.
    Post-class assignment:
    ⚛ Pick up your case from MakerLab; contact me if the print failed or exhibited adhesion (or other) problems.
    ⚛ Finish your DAQ and offline software.
    ⚛ Finalize your plans for field work.

  • Week 7

    Conference with the professor:
    ⚛ Discuss your readiness to do field work (software is working, PCB device is working, etc.).
    ⚛ Discuss how you will calibrate/monitor your device.
    ⚛ Discuss your field work plans.
    In class: Field work, so we won’t meet in Loomis.
    ⚛ Disperse, make measurements, email me to let me know how it’s going.
    Post-class assignment:
    ⚛ Analyze your data, including accounting for calibration issues.

  • Week 8

    Conference with the professor:
    ⚛ How’d it go? What did you find? Were there surprises?
    ⚛ Discuss any possible follow-up measurements that might be necessary.
    In class:
    ⚛ Full-class discussion of how it went, what you found, problems you encountered, and so forth.
    ⚛ Further coding to refine offline analysis and tune DAQ.
    ⚛ Class visitor: Professor XYZ (Academy for Entrepreneurial Leadership). Social innovation.
    Post-class assignment:
    ⚛ Prepare your reports: 20 minute PPT to present in class; 5 page paper for external distribution; cover letter.

  • Week 9

    Conference with the professor:
    ⚛ Discuss your reports with me.
    In class:
    ⚛ All groups present their results, with full-class discussions after each group’s presentation.
    Post-class assignment:
    ⚛ Adjust/tune/repair your reports so that they can be released publicly.

  • Week 10

    Conference with the professor:
    ⚛ Wrap up discussions
    In class: Meet at GG’s house for a…
    ⚛ Serious pizza party