Ian Pardee’s Work Log

  • Post author:
  • Post last modified:October 14, 2024
  • Reading time:8 mins read
  • Post category:Work Logs

10/13/2024 Update

  • After meeting with the team on 10/8/2024, we discovered the code was in fact the problem
    • The Arduino Mega used for testing this circuit was not playing nice with the MIDI library used in the original code.
    • The issue arose from how the original code attempted to decode MIDI note data incoming via serial. A different working library was implemented instead, and the note data was subsequently decoded correctly.
  • TODO: 10/13/2024
    • Look at code structure for MIDI input processing and note generation, investigate how to merge these together.
    • Investigate if a microcontroller isn’t enough to properly run all this code simultaneously and with a low enough latency.
      • I have a personal concern that the microcontroller wouldn’t be able to efficiently run all this code, especially if trying to read in MIDI note data while simultaneously generating another waveform. This could be especially apparent in a multi-voice MIDI implementation (multiple notes at once).

10/6/2024 Update

  • Put together initial attempt for MIDI circuit on 10/2/2024
    • Using an Arduino Mega, I was able to confirm that MIDI input was reaching the microcontroller, but it needs code changes to work
    • Shown below: First attempt at wiring up the MIDI input
  • TODO: 10/6/2024
    • Investigate code and circuit configuration, see if something is up with serial capture

9/29/2024 Update

  • Met with Synthesizer team on 9/28/2024
    • Prepared CDR Documentation
    • Parts arrived, started putting together larger schematic of the Synth
    • With the other parts of the circuitry, I’ve started to think about how many Op-amp IC’s will be needed to filter power for the other IC’s

TODO 9/29/2024

  • Calculate how many op-amps and resistors will be needed for power filtering going to IC’s
  • Create schematic for routing of filtering circuitry and signal paths to and from Microcontroller

9/21/2024 Update

  • Met with Synthesizer team on 9/14/2024
    • Successfully generated square wave using Arduino
    • Put together initial part list for MIDI input port integration with microcontroller
    • Ordered parts for MIDI port integration, also ordered filter chip
    • Decided to experiment with Teensy unit, due to clock speed limitations of Arduino
      • A higher clock speed is necessary to make timer interrupts work for waveform generation, specifically for higher note frequencies. This is likely not the smartest method of waveform generation.
  • Parts ordered:
    • Low-pass filter IC, CEM3320
    • MIDI conector
    • Various resistors
    • 1x Diode
    • 1x 6N138 Optocoupler
  • Accomplishments from last week:
    • GitHub libraries under GPL are plentiful for MIDI generation with C on Arduino and other microcontrollers.
    • Limits of Arduino waveform generation were found, and we are currently experimenting with a Teensy microcontroller.
  • Upcoming To-Do list:
    • Experiment with Arduino vs Teensy, explore limitations with Teensy onboard DAC
      • Research readily available and compatible DAC chips, as onboard Teensy DAC doesn’t seem to like going above ~40 Hz when generating waves
      • Could also be a bug in the code, needs to be investigated further
    • Modify schematics used for MIDI port and Arduino integration for use with Teensy or Arduino for testing
      • Since both boards are available for testing, we should explore using either for flexibility reasons
    • Research alternative waveform generation methods in code.
      • E.g., something that doesn’t involve the use of timer interrupts
    • Look into code repo under OSHE for centralized storage/management of source code.

9/13/2024 Work Log

  • TODO
    • Do more research on MIDI libraries for Arduino.
    • Research Arduino output maximums
    • Research amplifiers based on signal specifications
    • Get together with team for continued brainstorming and design work

Above image: Rough Sketch of what the Synthesizer (may) look like at the end of the semester.