V. Hunter Adams

Lecturer of Electrical Engineering, Cornell University (vha3@cornell.edu), 208 Phillips Hall


This list includes both personal projects and projects generated for assignment to students. I have provided all source code for personal projects. The code for projects which may be assigned to students is not posted publicly, but I'd be happy to send it to you if you email me.

RP2040 (Raspberry Pi Pico) projects

  1. CAN driver implemented with PIO on RP2040
  2. Non-blocking UDP transmitter using PIO on RP2040
  3. AM radio voice transmission with PWM on RP2040
  4. Birdsong synthesizer implemented on RP2040 (written up as lab assignment)
  5. Stepper motor driver written in PIO assembly for RP2040
    - Lorenz System on an Etch-a-Sketch
    - Direct digital synthesis of circle on an Etch-a-Sketch
    - Delta Robot
  6. VGA driver written in PIO assembly for RP2040
    - Mandelbrot Set
    - Barnsley Fern
    - Game of Life
    - Graphics primitives
  7. Decision making in animal groups on the move (written up as lab assignment)
  8. PID control of an inverted pendulum with a reaction wheel (written up as a lab assignment)
  9. Cricket chirp synthesis and synchronization with RP2040 (written up as lab assignment)
  10. Animating Boids and a predator with RP2040 (written up as a lab assignment)
  11. Realtime Audio FFT to VGA Display with RP2040
  12. Resistive touchscreen to VGA display with RP2040
  13. PID control of 1D helicopter with RP2040 (written up as lab assignment)

PIC32 microcontroller projects

  1. Enigma machine emulated on PIC32
  2. Boids algorithm on PIC32 (written up as a lab assignment)
  3. Realtime audio spectrogram on PIC32 (written up as a lab assignment)
  4. Zoom-interactive robot on PIC32 (written up as a lab assignment)
  5. Particle systems on PIC32

DE1-SoC FPGA projects

  1. Lattice-Boltzmann accelerator and visualizer
  2. Multiprocessor drum synthesizer on the DE1-SoC
  3. Verilog VGA driver for the DE1-SoC
  4. GFSK demodulation in Verilog on the DE1-SoC
  5. Mandelbrot visualizer on the DE1-SoC
  6. Lorenz system solver/visualizer on DE1-SoC (written up as a lab assignment)

CC1310 microcontroller projects

  1. Monarch chip-satellite

Raspberry Pi projects

  1. GFSK demodulator on Raspberry Pi for use with CC1310 microcontroller

Machine learning projects

  1. Data prognostics using symbolic regression

Mathematical projects

  1. Picasso, by way of Fourier
  2. Attempting to understand something beautiful
  3. Communicating with interstellar ships
  4. Bayesian approach to analyzing differences in proportions

Outside collaborations

The projects listed below were conducted in collaboration with an outside organization.

  1. SpinLaunch chipsat experiment on Flight Test 10
  2. Johnson Museum of Art
  3. Cornell Archeology
  4. Cornell Plant Sciences and Veterinary School

Expository webpages

For my own future reference. Intended audience is myself.

  1. Direct digital synthesis (webpage takes a few moments to open)
  2. The Cooley-Tukey FFT
  3. PID controllers (phenomenological introduction)
  4. PID controllers (analytical introduction)
  5. Fixed point arithmetic
  6. Synthesizing birdsong via Direct Digital Synthesis
  7. Boids, with distributed consensus
  8. Boids, with predator
  9. Complementary filters
  10. Synthesizing snowy tree crickets via Direct Digital Synthesis
  11. Synchronization of integrate-and-fire oscillators
  12. SPI communication
  13. I2C communication
  14. UART communication
  15. Interfacing keypad with RP2040
  16. Digital lowpass filters
  17. Electrically isolating DC motors
  18. Verilog basics
  19. Generate blocks in Verilog
  20. Discretizing the 2D wave equation
  21. Mandelbrot implementation background
  22. Introduction to estimation (particle filters, sigma-point filters, EKF's, UKF's, KF's)
  23. Worked estimation examples
  24. Gyro-based multiplicative UKF for quaternion estimation
  25. Coding gain from matched filtering
  26. Mechanical construction of reaction wheel inverted pendulum
  27. Tuning reaction wheel inverted pendulum PID controller
  28. Rigid body dynamics and determination
  29. Link budget analysis
  30. BTstack and RP2040: HCI layer

Prepared as supplemental course material for MAE 5160 (Spacecraft technology and systems architecture). Intended audience is senior/masters level mechanical engineers.

  1. Cassini spacecraft overview, and thoughts on exploration
  2. NASA mission design process
  3. Requirements, trades, & risks
  4. Orbital mechanics and orbit design
  5. Spacecraft propulsion/GNC
  6. Spacecraft avionics
  7. Space environment

Prepared as supplemental course material for Astro 1101 (From new worlds to black holes). Intended audience is non-technical students.

  1. Basic math of astronomy, Kepler's Laws
  2. Seasons, sidereal/solar days, Moon phases/geometry, tides, Kepler's 3rd Law
  3. Gravitational/Electromagnetic forces, Wien's law, Stephan-Boltzmann, absorption/emission spectra, telescopes, Doppler
  4. Parallax and parsecs; luminosity, Stephan-Boltzmann, and brightness; exoplanet transits; detecting exoplanets with Doppler
  5. Half lives, dating curves, and mass spectroscopy
  6. Equilibrium temperature of the Earth
  7. Proton-proton chain, life cycle of a star
  8. Venus atmosphere and geology
  9. Martian surface processes, gas escape, RADAR imaging
  10. Rings and the Roche Limit, RADAR depth sounding, the gas giants
  11. Comets and Trans-Neptunian objects

I am experimenting with the new Raspberry Pi Pico microcontroller. Keeping track of my notes in the pages below. Intended audience is myself.

  1. Setting up C/C++ build environment for Raspberry Pi Pico on Windows
  2. Setting up C/C++ build environment for Raspberry Pi Pico on Mac
  3. Creating/building a new C/C++ Raspberry Pi Pico project on Windows
  4. Building Raspberry Pi Pico demo code in the lab
  5. Understanding Raspberry Pi Pico C/C++ SDK architecture
  6. Using Raspberry Pi Pico C/C++ SDK (Dissecting a Blink example)
  7. Direct Digital Synthesis (DDS) via Timer Interrupt on RP2040
  8. Dual-core Direct Digital Synthesis (DDS) via Timer Interrupts on RP2040
  9. Chained-DMA signal generator thru SPI DAC on RP2040

Courses, lectures, and talks

Instructed courses

  1. ECE 4760 (Digital Systems Design Using Microntrollers): This is a microcontroller laboratory and design course that uses the Raspberry Pi Pico (RP2040). Started in Spring, 2021.

  2. ECE 5760 (Advanced Microcontroller Design and System on Chip): This is an FPGA laboratory design course using the DE1-SoC. Started in Fall, 2020.

  3. MAE 5160 (Spacecraft Technology and Systems Architecture): A survey in contemporary space technology from satellite subsystem design through launch and mission operations, focusing on the classical subsystems of robotic and human-rated spacecraft, rockets, planetary rovers, and habitats, and with an emphasis on issue of spacecraft-system architecture and design. Taught for one semester in Spring, 2020.

Project and writing courses

  1. ECE 6930 (Masters of Engineering Independent Design Projects): The centerpiece of the M.Eng. program is the professional project, in which students apply theory to a real problem, with the guidance from faculty, and often in collaboration with other students. The page below describes projects of my graduated advisees.

  2. ECE 4920 (Technical Writing Seminar): This course fulfills the College of Engineering Technical Communication requirement, and may also be used as an advisor-approved elective. In this class, you will rewrite your final project for ECE 4760 or ECE 5760 for publication in a magazine or journal of your choice.

TA'd courses

  1. Astro 1101 (From new worlds to black holes): Instructors for this course were Steve Squyres and Alex Hayes. Linked below are the supplemental webpages that I prepared for my recitation students each week.

Other talks/posters

  1. Chipsats. An extended discussion of the theory and applications of chip-satellites. (Slides)
  2. The Mandelbrot Set. From an ECE 5760 lecture (above). Linked separately because it is a favorite topic.
  3. Monarch venture pitch
  4. Customer discovery guest lecture
  5. Final presentation for iCorps
  6. 2018 femtosat workshop talk
  7. Viticulture poster
  8. Power management in IoT devices
  9. On building things
  10. Natural computing

Academic papers

Professional documents


External links

$\hspace{2mm}$ $\hspace{2mm}$ $\hspace{2mm}$
Follow @vha3