diff --git a/arduino/assets/movies/AnalogVsDigital.mp4 b/arduino/assets/videos/AnalogVsDigital.mp4 similarity index 100% rename from arduino/assets/movies/AnalogVsDigital.mp4 rename to arduino/assets/videos/AnalogVsDigital.mp4 diff --git a/arduino/assets/movies/ArduinoBlinkWithSerialPrint_Trim.mp4 b/arduino/assets/videos/ArduinoBlinkWithSerialPrint_Trim.mp4 similarity index 100% rename from arduino/assets/movies/ArduinoBlinkWithSerialPrint_Trim.mp4 rename to arduino/assets/videos/ArduinoBlinkWithSerialPrint_Trim.mp4 diff --git a/arduino/assets/movies/ArduinoIDE_Compile.gif b/arduino/assets/videos/ArduinoIDE_Compile.gif similarity index 100% rename from arduino/assets/movies/ArduinoIDE_Compile.gif rename to arduino/assets/videos/ArduinoIDE_Compile.gif diff --git a/arduino/assets/movies/ArduinoIDE_Compile.mov b/arduino/assets/videos/ArduinoIDE_Compile.mov similarity index 100% rename from arduino/assets/movies/ArduinoIDE_Compile.mov rename to arduino/assets/videos/ArduinoIDE_Compile.mov diff --git a/arduino/assets/movies/ArduinoUno_Blink2_Workbench.gif b/arduino/assets/videos/ArduinoUno_Blink2_Workbench.gif similarity index 100% rename from arduino/assets/movies/ArduinoUno_Blink2_Workbench.gif rename to arduino/assets/videos/ArduinoUno_Blink2_Workbench.gif diff --git a/arduino/assets/movies/ArduinoUno_BlinkMultiple_Workbench.gif b/arduino/assets/videos/ArduinoUno_BlinkMultiple_Workbench.gif similarity index 100% rename from arduino/assets/movies/ArduinoUno_BlinkMultiple_Workbench.gif rename to arduino/assets/videos/ArduinoUno_BlinkMultiple_Workbench.gif diff --git a/arduino/assets/movies/ArduinoUno_BlinkPin3_WorkbenchWithCode-Cropped.mov b/arduino/assets/videos/ArduinoUno_BlinkPin3_WorkbenchWithCode-Cropped.mov similarity index 100% rename from arduino/assets/movies/ArduinoUno_BlinkPin3_WorkbenchWithCode-Cropped.mov rename to arduino/assets/videos/ArduinoUno_BlinkPin3_WorkbenchWithCode-Cropped.mov diff --git a/arduino/assets/movies/ArduinoUno_TurnOnLEDPin3_WorkbenchWithCode-Cropped.mov b/arduino/assets/videos/ArduinoUno_TurnOnLEDPin3_WorkbenchWithCode-Cropped.mov similarity index 100% rename from arduino/assets/movies/ArduinoUno_TurnOnLEDPin3_WorkbenchWithCode-Cropped.mov rename to arduino/assets/videos/ArduinoUno_TurnOnLEDPin3_WorkbenchWithCode-Cropped.mov diff --git a/arduino/assets/movies/ArduinoUno_UsingAll20GPIOPinsAsDigitalOutput.mp4 b/arduino/assets/videos/ArduinoUno_UsingAll20GPIOPinsAsDigitalOutput.mp4 similarity index 100% rename from arduino/assets/movies/ArduinoUno_UsingAll20GPIOPinsAsDigitalOutput.mp4 rename to arduino/assets/videos/ArduinoUno_UsingAll20GPIOPinsAsDigitalOutput.mp4 diff --git a/arduino/assets/movies/Arduino_Blink2Animation_Pins3And4-NoSchematic-Optimized.gif b/arduino/assets/videos/Arduino_Blink2Animation_Pins3And4-NoSchematic-Optimized.gif similarity index 100% rename from arduino/assets/movies/Arduino_Blink2Animation_Pins3And4-NoSchematic-Optimized.gif rename to arduino/assets/videos/Arduino_Blink2Animation_Pins3And4-NoSchematic-Optimized.gif diff --git a/arduino/assets/movies/Arduino_Blink2Animation_Pins3And4-Trimmed.gif b/arduino/assets/videos/Arduino_Blink2Animation_Pins3And4-Trimmed.gif similarity index 100% rename from arduino/assets/movies/Arduino_Blink2Animation_Pins3And4-Trimmed.gif rename to arduino/assets/videos/Arduino_Blink2Animation_Pins3And4-Trimmed.gif diff --git a/arduino/assets/movies/Arduino_Blink2Animation_Pins3And4-Trimmed.mp4 b/arduino/assets/videos/Arduino_Blink2Animation_Pins3And4-Trimmed.mp4 similarity index 100% rename from arduino/assets/movies/Arduino_Blink2Animation_Pins3And4-Trimmed.mp4 rename to arduino/assets/videos/Arduino_Blink2Animation_Pins3And4-Trimmed.mp4 diff --git a/arduino/assets/movies/Arduino_Blink2Animation_Pins3And4.mp4 b/arduino/assets/videos/Arduino_Blink2Animation_Pins3And4.mp4 similarity index 100% rename from arduino/assets/movies/Arduino_Blink2Animation_Pins3And4.mp4 rename to arduino/assets/videos/Arduino_Blink2Animation_Pins3And4.mp4 diff --git a/arduino/assets/movies/Arduino_BlinkAnimation_WithCode.mov b/arduino/assets/videos/Arduino_BlinkAnimation_WithCode.mov similarity index 100% rename from arduino/assets/movies/Arduino_BlinkAnimation_WithCode.mov rename to arduino/assets/videos/Arduino_BlinkAnimation_WithCode.mov diff --git a/arduino/assets/movies/Arduino_BlinkWithCode_Pin3.mp4 b/arduino/assets/videos/Arduino_BlinkWithCode_Pin3.mp4 similarity index 100% rename from arduino/assets/movies/Arduino_BlinkWithCode_Pin3.mp4 rename to arduino/assets/videos/Arduino_BlinkWithCode_Pin3.mp4 diff --git a/arduino/assets/movies/Arduino_BlinkWithCode_Pin3_web_muted.mp4 b/arduino/assets/videos/Arduino_BlinkWithCode_Pin3_web_muted.mp4 similarity index 100% rename from arduino/assets/movies/Arduino_BlinkWithCode_Pin3_web_muted.mp4 rename to arduino/assets/videos/Arduino_BlinkWithCode_Pin3_web_muted.mp4 diff --git a/arduino/assets/movies/Arduino_Button_FloatingPinProblem720p.mp4 b/arduino/assets/videos/Arduino_Button_FloatingPinProblem720p.mp4 similarity index 100% rename from arduino/assets/movies/Arduino_Button_FloatingPinProblem720p.mp4 rename to arduino/assets/videos/Arduino_Button_FloatingPinProblem720p.mp4 diff --git a/arduino/assets/movies/Arduino_Button_InternalLED_Animation_Edited.gif b/arduino/assets/videos/Arduino_Button_InternalLED_Animation_Edited.gif similarity index 100% rename from arduino/assets/movies/Arduino_Button_InternalLED_Animation_Edited.gif rename to arduino/assets/videos/Arduino_Button_InternalLED_Animation_Edited.gif diff --git a/arduino/assets/movies/Arduino_Button_SchematicsAndDiagrams_PullDownResistorWalkthrough_Animation-FloatingPin-Optimized.gif b/arduino/assets/videos/Arduino_Button_SchematicsAndDiagrams_PullDownResistorWalkthrough_Animation-FloatingPin-Optimized.gif similarity index 100% rename from arduino/assets/movies/Arduino_Button_SchematicsAndDiagrams_PullDownResistorWalkthrough_Animation-FloatingPin-Optimized.gif rename to arduino/assets/videos/Arduino_Button_SchematicsAndDiagrams_PullDownResistorWalkthrough_Animation-FloatingPin-Optimized.gif diff --git a/arduino/assets/movies/Arduino_Button_SchematicsAndDiagrams_PullDownResistorWalkthrough_Animation-PullDownResistor-Optimized.gif b/arduino/assets/videos/Arduino_Button_SchematicsAndDiagrams_PullDownResistorWalkthrough_Animation-PullDownResistor-Optimized.gif similarity index 100% rename from arduino/assets/movies/Arduino_Button_SchematicsAndDiagrams_PullDownResistorWalkthrough_Animation-PullDownResistor-Optimized.gif rename to arduino/assets/videos/Arduino_Button_SchematicsAndDiagrams_PullDownResistorWalkthrough_Animation-PullDownResistor-Optimized.gif diff --git a/arduino/assets/movies/Arduino_Button_SchematicsAndDiagrams_PullDownResistorWalkthrough_Animation-ShortCircuit-Optimized.gif b/arduino/assets/videos/Arduino_Button_SchematicsAndDiagrams_PullDownResistorWalkthrough_Animation-ShortCircuit-Optimized.gif similarity index 100% rename from arduino/assets/movies/Arduino_Button_SchematicsAndDiagrams_PullDownResistorWalkthrough_Animation-ShortCircuit-Optimized.gif rename to arduino/assets/videos/Arduino_Button_SchematicsAndDiagrams_PullDownResistorWalkthrough_Animation-ShortCircuit-Optimized.gif diff --git a/arduino/assets/movies/Arduino_LEDBlink_Pin3-9VPower.mp4 b/arduino/assets/videos/Arduino_LEDBlink_Pin3-9VPower.mp4 similarity index 100% rename from arduino/assets/movies/Arduino_LEDBlink_Pin3-9VPower.mp4 rename to arduino/assets/videos/Arduino_LEDBlink_Pin3-9VPower.mp4 diff --git a/arduino/assets/movies/Arduino_LEDBlink_Pin3.gif b/arduino/assets/videos/Arduino_LEDBlink_Pin3.gif similarity index 100% rename from arduino/assets/movies/Arduino_LEDBlink_Pin3.gif rename to arduino/assets/videos/Arduino_LEDBlink_Pin3.gif diff --git a/arduino/assets/movies/Arduino_LEDBlink_Pin3.mp4 b/arduino/assets/videos/Arduino_LEDBlink_Pin3.mp4 similarity index 100% rename from arduino/assets/movies/Arduino_LEDBlink_Pin3.mp4 rename to arduino/assets/videos/Arduino_LEDBlink_Pin3.mp4 diff --git a/arduino/assets/movies/Arduino_LEDFadeWithGraph_Pin3.gif b/arduino/assets/videos/Arduino_LEDFadeWithGraph_Pin3.gif similarity index 100% rename from arduino/assets/movies/Arduino_LEDFadeWithGraph_Pin3.gif rename to arduino/assets/videos/Arduino_LEDFadeWithGraph_Pin3.gif diff --git a/arduino/assets/movies/Arduino_LEDFadeWithGraph_Pin3.mp4 b/arduino/assets/videos/Arduino_LEDFadeWithGraph_Pin3.mp4 similarity index 100% rename from arduino/assets/movies/Arduino_LEDFadeWithGraph_Pin3.mp4 rename to arduino/assets/videos/Arduino_LEDFadeWithGraph_Pin3.mp4 diff --git a/arduino/assets/movies/Arduino_LEDFade_Pin3.gif b/arduino/assets/videos/Arduino_LEDFade_Pin3.gif similarity index 100% rename from arduino/assets/movies/Arduino_LEDFade_Pin3.gif rename to arduino/assets/videos/Arduino_LEDFade_Pin3.gif diff --git a/arduino/assets/movies/Arduino_LEDOn_3.3VFixed_Current_USBPower.gif b/arduino/assets/videos/Arduino_LEDOn_3.3VFixed_Current_USBPower.gif similarity index 100% rename from arduino/assets/movies/Arduino_LEDOn_3.3VFixed_Current_USBPower.gif rename to arduino/assets/videos/Arduino_LEDOn_3.3VFixed_Current_USBPower.gif diff --git a/arduino/assets/movies/Arduino_LEDOn_3.3VFixed_USBPower.gif b/arduino/assets/videos/Arduino_LEDOn_3.3VFixed_USBPower.gif similarity index 100% rename from arduino/assets/movies/Arduino_LEDOn_3.3VFixed_USBPower.gif rename to arduino/assets/videos/Arduino_LEDOn_3.3VFixed_USBPower.gif diff --git a/arduino/assets/movies/Arduino_LEDOn_5VFixed.gif b/arduino/assets/videos/Arduino_LEDOn_5VFixed.gif similarity index 100% rename from arduino/assets/movies/Arduino_LEDOn_5VFixed.gif rename to arduino/assets/videos/Arduino_LEDOn_5VFixed.gif diff --git a/arduino/assets/movies/Arduino_LEDOn_5VFixed.mp4 b/arduino/assets/videos/Arduino_LEDOn_5VFixed.mp4 similarity index 100% rename from arduino/assets/movies/Arduino_LEDOn_5VFixed.mp4 rename to arduino/assets/videos/Arduino_LEDOn_5VFixed.mp4 diff --git a/arduino/assets/movies/Arduino_LEDOn_5VFixed_9VBattery-Cropped.gif b/arduino/assets/videos/Arduino_LEDOn_5VFixed_9VBattery-Cropped.gif similarity index 100% rename from arduino/assets/movies/Arduino_LEDOn_5VFixed_9VBattery-Cropped.gif rename to arduino/assets/videos/Arduino_LEDOn_5VFixed_9VBattery-Cropped.gif diff --git a/arduino/assets/movies/Arduino_LEDOn_5VFixed_9VBattery.gif b/arduino/assets/videos/Arduino_LEDOn_5VFixed_9VBattery.gif similarity index 100% rename from arduino/assets/movies/Arduino_LEDOn_5VFixed_9VBattery.gif rename to arduino/assets/videos/Arduino_LEDOn_5VFixed_9VBattery.gif diff --git a/arduino/assets/movies/Arduino_LEDOn_5VFixed_Current_USBPower.gif b/arduino/assets/videos/Arduino_LEDOn_5VFixed_Current_USBPower.gif similarity index 100% rename from arduino/assets/movies/Arduino_LEDOn_5VFixed_Current_USBPower.gif rename to arduino/assets/videos/Arduino_LEDOn_5VFixed_Current_USBPower.gif diff --git a/arduino/assets/movies/Arduino_LEDOn_5VFixed_InsertLED.gif b/arduino/assets/videos/Arduino_LEDOn_5VFixed_InsertLED.gif similarity index 100% rename from arduino/assets/movies/Arduino_LEDOn_5VFixed_InsertLED.gif rename to arduino/assets/videos/Arduino_LEDOn_5VFixed_InsertLED.gif diff --git a/arduino/assets/movies/Arduino_LEDOn_5VFixed_USBPower-Cropped.gif b/arduino/assets/videos/Arduino_LEDOn_5VFixed_USBPower-Cropped.gif similarity index 100% rename from arduino/assets/movies/Arduino_LEDOn_5VFixed_USBPower-Cropped.gif rename to arduino/assets/videos/Arduino_LEDOn_5VFixed_USBPower-Cropped.gif diff --git a/arduino/assets/movies/Arduino_LEDOn_5VFixed_USBPower.gif b/arduino/assets/videos/Arduino_LEDOn_5VFixed_USBPower.gif similarity index 100% rename from arduino/assets/movies/Arduino_LEDOn_5VFixed_USBPower.gif rename to arduino/assets/videos/Arduino_LEDOn_5VFixed_USBPower.gif diff --git a/arduino/assets/movies/Arduino_LEDOn_5VFixed_USBPower.mp4 b/arduino/assets/videos/Arduino_LEDOn_5VFixed_USBPower.mp4 similarity index 100% rename from arduino/assets/movies/Arduino_LEDOn_5VFixed_USBPower.mp4 rename to arduino/assets/videos/Arduino_LEDOn_5VFixed_USBPower.mp4 diff --git a/arduino/assets/movies/Arduino_LEDTurnOn_Pin3-CroppedAndOptimized.gif b/arduino/assets/videos/Arduino_LEDTurnOn_Pin3-CroppedAndOptimized.gif similarity index 100% rename from arduino/assets/movies/Arduino_LEDTurnOn_Pin3-CroppedAndOptimized.gif rename to arduino/assets/videos/Arduino_LEDTurnOn_Pin3-CroppedAndOptimized.gif diff --git a/arduino/assets/movies/Arduino_LEDTurnOn_Pin3ArduinoPluggedIn-Cropped.gif b/arduino/assets/videos/Arduino_LEDTurnOn_Pin3ArduinoPluggedIn-Cropped.gif similarity index 100% rename from arduino/assets/movies/Arduino_LEDTurnOn_Pin3ArduinoPluggedIn-Cropped.gif rename to arduino/assets/videos/Arduino_LEDTurnOn_Pin3ArduinoPluggedIn-Cropped.gif diff --git a/arduino/assets/movies/Arduino_RGBLED_CommonAnode_Animation.mp4 b/arduino/assets/videos/Arduino_RGBLED_CommonAnode_Animation.mp4 similarity index 100% rename from arduino/assets/movies/Arduino_RGBLED_CommonAnode_Animation.mp4 rename to arduino/assets/videos/Arduino_RGBLED_CommonAnode_Animation.mp4 diff --git a/arduino/assets/movies/Arduino_RGBLED_CommonCathode-Optimized.gif b/arduino/assets/videos/Arduino_RGBLED_CommonCathode-Optimized.gif similarity index 100% rename from arduino/assets/movies/Arduino_RGBLED_CommonCathode-Optimized.gif rename to arduino/assets/videos/Arduino_RGBLED_CommonCathode-Optimized.gif diff --git a/arduino/assets/movies/Arduino_RGBLED_CommonCathode_Animation.mp4 b/arduino/assets/videos/Arduino_RGBLED_CommonCathode_Animation.mp4 similarity index 100% rename from arduino/assets/movies/Arduino_RGBLED_CommonCathode_Animation.mp4 rename to arduino/assets/videos/Arduino_RGBLED_CommonCathode_Animation.mp4 diff --git a/arduino/assets/movies/BlinkWithCodeAndWorkbenchCamera.mp4 b/arduino/assets/videos/BlinkWithCodeAndWorkbenchCamera.mp4 similarity index 100% rename from arduino/assets/movies/BlinkWithCodeAndWorkbenchCamera.mp4 rename to arduino/assets/videos/BlinkWithCodeAndWorkbenchCamera.mp4 diff --git a/arduino/assets/movies/BlinkWithSerialPrint-IMG_5777_Trim_720p.mp4 b/arduino/assets/videos/BlinkWithSerialPrint-IMG_5777_Trim_720p.mp4 similarity index 100% rename from arduino/assets/movies/BlinkWithSerialPrint-IMG_5777_Trim_720p.mp4 rename to arduino/assets/videos/BlinkWithSerialPrint-IMG_5777_Trim_720p.mp4 diff --git a/arduino/assets/movies/Button_LEDCircuit_Breadboard_Animation-Edited-Cropped_Trim.mp4 b/arduino/assets/videos/Button_LEDCircuit_Breadboard_Animation-Edited-Cropped_Trim.mp4 similarity index 100% rename from arduino/assets/movies/Button_LEDCircuit_Breadboard_Animation-Edited-Cropped_Trim.mp4 rename to arduino/assets/videos/Button_LEDCircuit_Breadboard_Animation-Edited-Cropped_Trim.mp4 diff --git a/arduino/assets/movies/ContactBounce_TheCurrentSource-Optimized.gif b/arduino/assets/videos/ContactBounce_TheCurrentSource-Optimized.gif similarity index 100% rename from arduino/assets/movies/ContactBounce_TheCurrentSource-Optimized.gif rename to arduino/assets/videos/ContactBounce_TheCurrentSource-Optimized.gif diff --git a/arduino/assets/movies/DebouncingButton_CurrentSource_720p-Optimized-WithLabels.mp4 b/arduino/assets/videos/DebouncingButton_CurrentSource_720p-Optimized-WithLabels.mp4 similarity index 100% rename from arduino/assets/movies/DebouncingButton_CurrentSource_720p-Optimized-WithLabels.mp4 rename to arduino/assets/videos/DebouncingButton_CurrentSource_720p-Optimized-WithLabels.mp4 diff --git a/arduino/assets/movies/DebouncingButton_CurrentSource_720p-Optimized.mp4 b/arduino/assets/videos/DebouncingButton_CurrentSource_720p-Optimized.mp4 similarity index 100% rename from arduino/assets/movies/DebouncingButton_CurrentSource_720p-Optimized.mp4 rename to arduino/assets/videos/DebouncingButton_CurrentSource_720p-Optimized.mp4 diff --git a/arduino/assets/movies/DebouncingHammer_CurrentSource_720p-Optimized.mp4 b/arduino/assets/videos/DebouncingHammer_CurrentSource_720p-Optimized.mp4 similarity index 100% rename from arduino/assets/movies/DebouncingHammer_CurrentSource_720p-Optimized.mp4 rename to arduino/assets/videos/DebouncingHammer_CurrentSource_720p-Optimized.mp4 diff --git a/arduino/assets/movies/FSR_LEDCircuit_ArduinoForPower_WorkbenchWithAmmeter.gif b/arduino/assets/videos/FSR_LEDCircuit_ArduinoForPower_WorkbenchWithAmmeter.gif similarity index 100% rename from arduino/assets/movies/FSR_LEDCircuit_ArduinoForPower_WorkbenchWithAmmeter.gif rename to arduino/assets/videos/FSR_LEDCircuit_ArduinoForPower_WorkbenchWithAmmeter.gif diff --git a/arduino/assets/movies/FourLeggedTactileButton_LEDCircuitBreadboard_Animation.gif b/arduino/assets/videos/FourLeggedTactileButton_LEDCircuitBreadboard_Animation.gif similarity index 100% rename from arduino/assets/movies/FourLeggedTactileButton_LEDCircuitBreadboard_Animation.gif rename to arduino/assets/videos/FourLeggedTactileButton_LEDCircuitBreadboard_Animation.gif diff --git a/arduino/assets/movies/FourLeggedTactileButtons_Animation.gif b/arduino/assets/videos/FourLeggedTactileButtons_Animation.gif similarity index 100% rename from arduino/assets/movies/FourLeggedTactileButtons_Animation.gif rename to arduino/assets/videos/FourLeggedTactileButtons_Animation.gif diff --git a/arduino/assets/movies/FourLeggedTactileButtons_Animation.mp4 b/arduino/assets/videos/FourLeggedTactileButtons_Animation.mp4 similarity index 100% rename from arduino/assets/movies/FourLeggedTactileButtons_Animation.mp4 rename to arduino/assets/videos/FourLeggedTactileButtons_Animation.mp4 diff --git a/arduino/assets/movies/LEDOn5V_Parallel_CircuitJS.mp4 b/arduino/assets/videos/LEDOn5V_Parallel_CircuitJS.mp4 similarity index 100% rename from arduino/assets/movies/LEDOn5V_Parallel_CircuitJS.mp4 rename to arduino/assets/videos/LEDOn5V_Parallel_CircuitJS.mp4 diff --git a/arduino/assets/movies/LEDOn5V_Series_CircuitJS.mp4 b/arduino/assets/videos/LEDOn5V_Series_CircuitJS.mp4 similarity index 100% rename from arduino/assets/movies/LEDOn5V_Series_CircuitJS.mp4 rename to arduino/assets/videos/LEDOn5V_Series_CircuitJS.mp4 diff --git a/arduino/assets/movies/LedBlinkOscilliscope_TinkercadCircuits.mp4 b/arduino/assets/videos/LedBlinkOscilliscope_TinkercadCircuits.mp4 similarity index 100% rename from arduino/assets/movies/LedBlinkOscilliscope_TinkercadCircuits.mp4 rename to arduino/assets/videos/LedBlinkOscilliscope_TinkercadCircuits.mp4 diff --git a/arduino/assets/movies/LedBlinkOscilliscope_TinkercadCircuits_Trim.mp4 b/arduino/assets/videos/LedBlinkOscilliscope_TinkercadCircuits_Trim.mp4 similarity index 100% rename from arduino/assets/movies/LedBlinkOscilliscope_TinkercadCircuits_Trim.mp4 rename to arduino/assets/videos/LedBlinkOscilliscope_TinkercadCircuits_Trim.mp4 diff --git a/arduino/assets/movies/Potentiometer_LEDCircuitWithBackupResistor_Tinkercad2-Optimized.gif b/arduino/assets/videos/Potentiometer_LEDCircuitWithBackupResistor_Tinkercad2-Optimized.gif similarity index 100% rename from arduino/assets/movies/Potentiometer_LEDCircuitWithBackupResistor_Tinkercad2-Optimized.gif rename to arduino/assets/videos/Potentiometer_LEDCircuitWithBackupResistor_Tinkercad2-Optimized.gif diff --git a/arduino/assets/movies/Potentiometer_LEDCircuitWithBackupResistor_WithMultimeter_Tinkercad.gif b/arduino/assets/videos/Potentiometer_LEDCircuitWithBackupResistor_WithMultimeter_Tinkercad.gif similarity index 100% rename from arduino/assets/movies/Potentiometer_LEDCircuitWithBackupResistor_WithMultimeter_Tinkercad.gif rename to arduino/assets/videos/Potentiometer_LEDCircuitWithBackupResistor_WithMultimeter_Tinkercad.gif diff --git a/arduino/assets/movies/Potentiometer_LEDCircuit_ArduinoForPower_Workbench3_SpedUp1.5x.gif b/arduino/assets/videos/Potentiometer_LEDCircuit_ArduinoForPower_Workbench3_SpedUp1.5x.gif similarity index 100% rename from arduino/assets/movies/Potentiometer_LEDCircuit_ArduinoForPower_Workbench3_SpedUp1.5x.gif rename to arduino/assets/videos/Potentiometer_LEDCircuit_ArduinoForPower_Workbench3_SpedUp1.5x.gif diff --git a/arduino/assets/movies/Potentiometer_Overview_Animation_TrimmedAndCropped.gif b/arduino/assets/videos/Potentiometer_Overview_Animation_TrimmedAndCropped.gif similarity index 100% rename from arduino/assets/movies/Potentiometer_Overview_Animation_TrimmedAndCropped.gif rename to arduino/assets/videos/Potentiometer_Overview_Animation_TrimmedAndCropped.gif diff --git a/arduino/assets/movies/WrappingResistorLegAroundLED_400w.gif b/arduino/assets/videos/WrappingResistorLegAroundLED_400w.gif similarity index 100% rename from arduino/assets/movies/WrappingResistorLegAroundLED_400w.gif rename to arduino/assets/videos/WrappingResistorLegAroundLED_400w.gif diff --git a/arduino/buttons.md b/arduino/buttons.md index 6f0f93de..e6dbc599 100644 --- a/arduino/buttons.md +++ b/arduino/buttons.md @@ -2,7 +2,7 @@ layout: default title: L1: Using buttons description: "Build your first interactive Arduino circuit: read a push button with digitalRead() and learn why pull-up and pull-down resistors solve the floating-pin problem." -image: /arduino/assets/movies/Arduino_Button_InternalLED_Animation_Edited.gif +image: /arduino/assets/videos/Arduino_Button_InternalLED_Animation_Edited.gif nav_order: 1 parent: Input grand_parent: Intro to Arduino @@ -37,7 +37,7 @@ For example, in the animation below, we show a button circuit with a pull-down r > - How to use `digitalRead()` and `pinMode()` for digital input > - How to select appropriate pull-up/pull-down resistor values - + Animation shows the Arduino's built-in LED illuminating when the button on Pin 2 is pressed. When the button is pressed, current flows from $$V_{CC}$$ through the pull-down resistor to GND. We'll learn more about this circuit in this lesson. {: .fs-1 } @@ -81,10 +81,10 @@ The four-leg push button is one of the most common button types for breadboardin The key thing to remember is that the two legs closest together (on the same side) are, somewhat unintuitively, **not** connected until you press the button. Upon button press, all four legs become connected (*i.e.,* the same node). We created the following animation to help explain further. Observe the *orientation* of the button and how the legs are connected. - + **Video.** Animation shows which two sides of a four-legged tactile button are disconnected until the button is pressed, creating a connection between all four legs. {: .fs-1 } @@ -111,10 +111,10 @@ If you build the 9V battery circuit, then we suggest a 680Ω or 1kΩ resistor ra That's it! Once you've created the circuit, give it a try by pushing the button and the LED should turn on. See the animation below. - + **Video.** Animation showing two different voltage sources for a basic LED-based circuit with a four-legged button to control "on" and "off." When no button is pressed, there is no current flow and the LED is off. {: .fs-1 } @@ -177,7 +177,7 @@ Given how we built button-based circuits above—without a microcontroller—you However, if you do this, what will the digital input pin read when the switch is **open** (that is, when the button is **not** pressed)? Well, this is called a "floating pin" and it's not good. Because the input pin has extremely high impedance, it effectively acts like a tiny antenna—even minuscule charge transfers from nearby electric fields, your body's capacitance, or crosstalk between wires can swing the voltage. A floating pin is susceptible to picking up this stray electromagnetic interference, causing it to randomly oscillate between `HIGH` and `LOW`. See the animation below. - + **Figure.** Animation of what happens when you press a button with the simple circuit configuration. {: .fs-1 } @@ -202,7 +202,7 @@ void loop() Here's a quick video demonstration of what happens—the floating pin problem! Note: we are using a slightly modified version of this code where an LED is turned on if the button is pressed (*i.e.,* if `buttonVal == 1`). This just makes it easier to see the fluctuating button state. **Video.** Floating pins are digital input pins that are not tied to a specific input voltage (either 0V or 5V) and thus, are subject to electromagnetic interference. Here, the button state is oscillating between `HIGH` and `LOW` simply due to the electromagnetic interference from my body. Makes me feel like Dumbledore! The source code is [here](https://github.com/makeabilitylab/arduino/blob/master/Basics/digitalRead/ButtonPressedFloatingPin/ButtonPressedFloatingPin.ino). {: .fs-1 } @@ -223,7 +223,7 @@ And you're on the right track. Now, when the switch is open, the digital input p - + **Figure.** Animation showing the effect of connecting `GND` without a resistor. A short circuit! {: .fs-1 } @@ -241,7 +241,7 @@ The pull-down resistor is quite large: 10,000Ω (10kΩ) Here's an animation showing how a pull-down resistor configuration works. Notice how (almost) none of the current goes into Pin 2. This is because, as stated above, the digital input pins “*are in a high-impedance state*” equivalent to a 100,000,000Ω (100MΩ) resistor (see [Arduino docs](https://docs.arduino.cc/learn/microcontrollers/digital-pins/)). And remember, microcontrollers read voltage, not current (so we don't need current into our input pin)! - + And here's a video demonstrating the floating pin problem and fix: diff --git a/arduino/debouncing.md b/arduino/debouncing.md index 280fd433..6ec35e30 100644 --- a/arduino/debouncing.md +++ b/arduino/debouncing.md @@ -36,12 +36,12 @@ If you built the [button piano](piano.md) in the previous lesson, you may have a > - Hardware debouncing solutions using capacitors and Schmitt Triggers **Video**. A slow-motion video of a hammer bouncing off a table to help illustrate how switch contacts bounce before entering a steady state. Video from Episode 37 ["Contact and Bounce"](https://youtu.be/jI-rC2FCKo4) of [The Current Source](https://www.youtube.com/channel/UCw0U6DtO0PHb3l37eKEAdSg) YouTube channel. {: .fs-1 } - + So, what can you do? The solution is to "debounce" your switches, which can be done via software or [pure hardware solutions](#pure-hardware-solutions), which we'll address below. But first, let's learn a bit more about the problem before discussing solutions. We're going to use the term 'switch' to refer to any class of electromechanical device that has electrical contact points that can mechanically move to open or close an electrical circuit. @@ -50,7 +50,7 @@ So, what can you do? The solution is to "debounce" your switches, which can be d [The Current Source](https://www.youtube.com/channel/UCw0U6DtO0PHb3l37eKEAdSg) recorded slow motion videos of switches bouncing during activations and deactivations. Just like the hammer, this electrical contact visibly bounces when first activated, creating a noisy contact signal. **Video**. A slow-motion video of a switch mechanically bouncing off its contacts. Buttons are mechanical devices. When a button is pressed or a contact switch moved, it creates a rapid oscillation of open- and closed-circuits before settling to its final state. In comparison to computation, mechanical motion is slow. Microcontrollers—even old, slow ones like the ATmega328—work so fast that they will read these rapid oscillations as `HIGH` and `LOW` input state changes. Video from Episode 37 ["Contact and Bounce"](https://youtu.be/jI-rC2FCKo4) of [The Current Source](https://www.youtube.com/channel/UCw0U6DtO0PHb3l37eKEAdSg) YouTube channel. {: .fs-1 } diff --git a/arduino/force-sensitive-resistors.md b/arduino/force-sensitive-resistors.md index d8d2c296..17ef1259 100644 --- a/arduino/force-sensitive-resistors.md +++ b/arduino/force-sensitive-resistors.md @@ -2,7 +2,7 @@ layout: default title: L5: Force-Sensitive Resistors description: "Use force-sensitive resistors (FSRs) and other two-legged variable resistors with Arduino via a voltage divider, then build a force-controlled musical instrument with map() and tone()." -image: /arduino/assets/movies/FSR_LEDCircuit_ArduinoForPower_WorkbenchWithAmmeter.gif +image: /arduino/assets/videos/FSR_LEDCircuit_ArduinoForPower_WorkbenchWithAmmeter.gif nav_order: 5 parent: Input grand_parent: Intro to Arduino @@ -33,7 +33,7 @@ This lesson directly builds on the prior one ([potentiometers](potentiometers.md > - How to use `map()` to convert between different value ranges > - How to build a force-controlled musical instrument combining `analogRead` and `tone()` - + **Figure.** Animation shows how the resistance of the FSR drops with applied pressure (higher pressure, lower resistance, brighter LED). {: .fs-1 } diff --git a/arduino/led-blink.md b/arduino/led-blink.md index 6840c7ba..3e068963 100644 --- a/arduino/led-blink.md +++ b/arduino/led-blink.md @@ -2,7 +2,7 @@ layout: default title: L2: Blinking an LED description: "Write your first Arduino sketch to blink an LED by programmatically toggling a GPIO pin HIGH and LOW with digitalWrite()—your entrée into combining circuits and code." -image: /arduino/assets/movies/Arduino_LEDBlink_Pin3.gif +image: /arduino/assets/videos/Arduino_LEDBlink_Pin3.gif nav_order: 2 parent: Output grand_parent: Intro to Arduino @@ -21,7 +21,7 @@ usetocbot: true {:toc} --- @@ -30,7 +30,7 @@ In our [first lesson](led-on.md), we directly hooked up an LED circuit to the Ar In this lesson, we are going to do something more exciting: use the Arduino to turn the LED on and off by *programmatically* controlling the output voltage on one of Arduino's GPIO pins. This begins our entrée into the two key aspects of working with microcontrollers: (1) building circuits and (2) writing code to interact with those circuits. - + @@ -106,7 +106,7 @@ It's the same with the Arduino Leonardo (see [official pinout diagram here](http Finally, here's a [Tinkercad Circuit simulation](https://www.tinkercad.com/things/djhZYuYyqOR-using-all-20-gpio-pins-as-digital-out) demonstrating the use of all 20 digital I/O pins as digital output. **Figure.** A [Tinkercad Circuit simulation](https://www.tinkercad.com/things/djhZYuYyqOR-using-all-20-gpio-pins-as-digital-out) showing how to use all 20 GPIO pins as digital output on the Arduino Uno. You can try the simulation yourself [here](https://www.tinkercad.com/things/djhZYuYyqOR-using-all-20-gpio-pins-as-digital-out) and view the code on [GitHub here](https://github.com/makeabilitylab/arduino/blob/master/Basics/digitalWrite/BlinkAll20Pins/BlinkAll20Pins.ino). {: .fs-1 } @@ -184,7 +184,7 @@ We did it! Now it's time to compile and upload the code to Arduino. Compile the code by clicking on the "verify" checkmark button in the upper-left corner of the Arduino IDE. If you haven't already, the Arduino IDE will also ask you to save your sketch. If there are any syntax or other identifiable errors in the code, the Arduino IDE will print them out in the console window at the bottom. - + ### Step 5: Upload the code to Arduino @@ -195,14 +195,14 @@ Finally, upload the code to the Arduino by clicking on the "right arrow" button Once uploading is complete, the code automatically runs on the Arduino and the LED should immediately turn on! **Figure.** Uploading and running the LED-on code on an Arduino Uno. Note: on my Windows machine, I use a [dark theme](https://create.arduino.cc/projecthub/konradhtc/one-dark-arduino-modern-dark-theme-for-arduino-ide-2fca81) for the Arduino IDE. Since the 2.x version of the IDE, there are several pre-installed dark themes. {: .fs-1 } Here's an illustrative animation of what's happening in your circuit when the Arduino drives Pin 3 `HIGH`—hopefully, this matches your conceptual understanding as well: - + ## Turn on and off the LED programmatically via Pin 3 @@ -246,7 +246,7 @@ void loop() { We're done! Now, compile and upload the code and see it run! ### Step 4: Replace constants @@ -273,7 +273,7 @@ void loop() { How does this work? See the code walkthrough video below. The key idea is that `setup()` runs once to configure Pin 3 as output, then `loop()` runs repeatedly: it sets Pin 3 `HIGH` (turning the LED on), waits one second, sets Pin 3 `LOW` (turning the LED off), waits another second, and then `loop()` is automatically called again—creating a continuous blink. ### Our Blink code is in GitHub @@ -296,7 +296,7 @@ In your mind, imagine what the voltage out of Pin 3 looks like over time (the x- Using Tinkercad Circuits, we built the same LED-based circuit as above running the Blink program and hooked it up to an oscilloscope. Then, we recorded different `delay` values (400, 200, and 50) and created this movie. Is the graph what you expected? Why or why not? We suggest opening the video in its own tab or viewing it in fullscreen to see the details. **Figure.** A video of this [Tinkercad project](https://www.tinkercad.com/things/17q2GFeYwP9) with three different `delay` values for both `HIGH` and `LOW`: 400, 200, and 50. {: .fs-1 } @@ -329,7 +329,7 @@ As a quick mental model check, it's worth emphasizing that once you upload the c Note: when you upload a *new* program, it replaces the previous one—only one program can be stored on the Arduino at a time. You don't need to manually erase the old program first. ## Blink without using delay() diff --git a/arduino/led-blink2.md b/arduino/led-blink2.md index 8c40ee74..c1d80809 100644 --- a/arduino/led-blink2.md +++ b/arduino/led-blink2.md @@ -2,7 +2,7 @@ layout: default title: L6: Blinking Two LEDs description: "Understand current sourcing vs. current sinking by blinking two LEDs on a breadboard—one circuit where the Arduino pin sources current and one where it sinks it." -image: /arduino/assets/movies/Arduino_Blink2Animation_Pins3And4-NoSchematic-Optimized.gif +image: /arduino/assets/videos/Arduino_Blink2Animation_Pins3And4-NoSchematic-Optimized.gif nav_order: 6 parent: Output grand_parent: Intro to Arduino @@ -30,7 +30,7 @@ We are going to build two simple LED circuits: Yes, this can be a bit confusing at first ("*wait, the LED turns off when Pin 4 is `HIGH`?!?!*"). But you'll gain understanding by completing this lesson. In the animation below, pay attention to the current direction in each circuit. Notice how they're opposite! - + ## Materials @@ -76,7 +76,7 @@ Importantly, the Pin 3 circuit (**LED Circuit 1**) will turn ***on*** with `digi When Pin 3 is `HIGH` (5V), there is a voltage difference between Pin 3 and `GND` so current flows from Pin 3 to ground. When Pin 4 is `HIGH` (5V), however, there is no voltage difference across the circuit (from Pin 4 to 5V) and thus, no current. This behavior is illustrated in the animation below. Let's write the code! @@ -117,7 +117,7 @@ void loop() { We did it! Now compile and upload the code. - + And here's a top-down video with the code window: @@ -125,7 +125,7 @@ And here's a top-down video with the code window: - + ## Our Blink2 code on GitHub diff --git a/arduino/led-blink3.md b/arduino/led-blink3.md index 16cd324c..5de0ca01 100644 --- a/arduino/led-blink3.md +++ b/arduino/led-blink3.md @@ -2,7 +2,7 @@ layout: default title: L9: Rate Blinking LEDs description: "Blink multiple LEDs at different rates without delay() and write your first C++ class to eliminate redundant code and shrink your Arduino sketch." -image: /arduino/assets/movies/ArduinoUno_BlinkMultiple_Workbench.gif +image: /arduino/assets/videos/ArduinoUno_BlinkMultiple_Workbench.gif nav_order: 9 parent: Output grand_parent: Intro to Arduino @@ -25,7 +25,7 @@ In this lesson, we will learn how to blink multiple LEDs at different rates and As with our previous lesson on [crossfading RGB LEDs](rgb-led-fade.md), this lesson involves **simple circuits** but comparatively **complex code**. Often, when using microcontrollers, our code is the magic sauce—the circuits are straightforward but the code can be complicated. - + ## Background diff --git a/arduino/led-fade.md b/arduino/led-fade.md index bc8b7cea..81bad170 100644 --- a/arduino/led-fade.md +++ b/arduino/led-fade.md @@ -2,7 +2,7 @@ layout: default title: L4: Fading an LED description: "Smoothly fade an LED on and off with Arduino's analogWrite() and pulse-width modulation (PWM), controlling output voltage at fine gradations beyond just HIGH/LOW." -image: /arduino/assets/movies/Arduino_LEDFade_Pin3.gif +image: /arduino/assets/videos/Arduino_LEDFade_Pin3.gif nav_order: 4 parent: Output grand_parent: Intro to Arduino @@ -23,7 +23,7 @@ usetocbot: true In the [previous lesson](led-blink.md), we learned how to turn on and off an LED using [`digitalWrite`](https://www.arduino.cc/reference/en/language/functions/digital-io/digitalwrite/)—which worked by alternately setting Pin 3 to 5V (`HIGH`) and 0V (`LOW`). In this lesson, we'll learn how to programmatically control the output voltage at finer gradations using [`analogWrite`](https://www.arduino.cc/reference/en/language/functions/analog-io/analogwrite/). More specifically, we will gradually fade an LED on and off like the animation below illustrates. - + **Figure.** This illustrative animation doesn't show current (the yellow circles) only due to my limited animation skills. But hopefully you can visualize (in your mind) how the LED varies in brightness with current just the same. :) {: .fs-1 } @@ -203,7 +203,7 @@ In addition to visualizing the **actual** voltage output from `analogWrite` (the In the video below, we see a simulation of our [fade code](https://github.com/makeabilitylab/arduino/blob/master/Basics/analogWrite/FadeOnAndOffForLoop/FadeOnAndOffForLoop.ino) + circuit running in Tinkercad. On the right side, in the [Serial Monitor](https://www.programmingelectronics.com/using-the-print-function-with-arduino-part-1/) window, we are printing and graphing out the real-time effective voltages output on Pin 3. ## Calculating the current through our LED diff --git a/arduino/led-on.md b/arduino/led-on.md index c31988a6..5aa83414 100644 --- a/arduino/led-on.md +++ b/arduino/led-on.md @@ -2,7 +2,7 @@ layout: default title: L1: Turning on an LED description: "Your first Arduino activity: wire an LED to the 5V and GND pins to light it up—no code required—and build familiarity with Arduino hardware and current flow." -image: /arduino/assets/movies/Arduino_LEDOn_5VFixed_USBPower.gif +image: /arduino/assets/videos/Arduino_LEDOn_5VFixed_USBPower.gif nav_order: 1 parent: Output grand_parent: Intro to Arduino @@ -22,7 +22,7 @@ usetocbot: true --- For our first learning activity, we are going to use Arduino to turn on an [LED](../electronics/leds.md). We're **not** going to write any code. Instead, our goal is to build some initial familiarity with Arduino hardware and connecting components to Arduino pins before we introduce programming, which we do in the [next lesson](led-blink.md). - + **Figure.** The movement of **current** in the circuit is illustrated by the animated yellow circles. This visualization is a coarse abstraction designed to emphasize the direction of current flow. A more accurate visualization would show that electrons are already distributed throughout a wire before a voltage is applied. See our [Introduction to Electronics](../electronics/index.md) series, specifically the lesson on [Voltage, Current, and Resistance](../electronics/electricity-basics.md). {: .fs-1 } @@ -62,7 +62,7 @@ Insert the LED + resistor into the Arduino: Make sure to push the legs down so they are well seated inside the Arduino's female headers. - + ### Step 3: Connect your Arduino to power @@ -76,7 +76,7 @@ For power, you can use a USB cable (which supplies 5V) or a 9V battery (which su | USB Power | 9V Power | |:-------------|:------------------| -|  |  | +|  |  | | With USB power, the 5V pin supplies 5V | Using the Arduino's barrel jack, we can connect an external power supply like a 7-12V wall adapter or a 9V battery. The Arduino's internal voltage regulator reduces these higher voltages to output a clean 5V | {: .warning } @@ -183,7 +183,7 @@ Here's a picture of the test setup and circuits for the measurements above: Finally, we can also examine this circuit in a simulator, which mirrors our empirical measurements: **Figure.** A [CircuitJS simulation](https://www.falstad.com/circuit/circuitjs.html?ctz=CQAgjCAMB0l3BWcMBMcUHYMGZIA4UA2ATmIxAUgpABZsKBTAWjDACgA3cQqhYlblTAZCUMTV5iqMBGwDugxTWKiwPcGwBOtFeBE7RKBKKpp5ivgOWjLGhdaW7hh8w6Oi3GASjYAPcEQg2BhCNEjB9DTcFABqbNhRAGZyACaaAPYADgA6AI4o0GBM9BDE0NgozKxQsDRWsNj8CTQ8LcpqUrCyala6mL2iFaYgyWlZeQVFJVI1kD49BkHYHrrYeFECoxk5+YXF4DMwc66raIvYyyA+CmpC6rd6JieD64sSpmwLDu9vNHhXI1S2wme2m0lm80IA1ohCiDgQYG8gLGO0m+wg4KO11+-2+sKuzwoiMWtmxFVofyCAlJnyhVNocHpNEpmyB412UwOmNgZIEayi5J+2OKkCiDxFYv0kHM5KG9IuLgWssusterJRIM5GM6xyV3i88rO6uBHPRhx5fhAxTWQRCVuwYGItsi0QQcQU5Pc9P6BI9Age5Ocvvtooo-HptnY2kD+k9xjEaGlCglikD904IaithTQfBEmo3NkAHNM2GBCmeP9pGwSw9I+pK1JLUwiOREVEW0hEeQxf8ACoAC00DAY2QAzgBlBiaACWDDH44AMgBRAAiC7HAAoYtOAJ7j1czgC2AEpLUQhIFmf6UE7eyAAGLpACumnHU9n86Xa43m4A8okiRnv4TCEBgXZGFaCDBAEuLgP2cjpO+05zhuK7rjWVoiP82bYSAjbVlwTB4bhhD-Lm4iSIW5jEWRihMHQ-rptoDExqIrHePGphwDRJHhhxZZ2FajH0SJQbCiJXoCT6PggXgcy2lQxF4PQES0K6cQLNJBoCXKxrsmiYI6pC5YiQqwmqhsyImoZXLGTRZlnLplzCnh4puVKDmWRZ1LhsKeCrJcTABTYfk0YiaZKRF-qecmIVUkp8XmSZVrxT6wWnMMWwGaCdnSBaIGIoQgx2iwKA0OQalijY7qpX08YZYYBr+U46iNY8wZleS2bxZGWh1ao+jtV63FJla0X0fFDzsERE3ZhNFFUPmSDUSWXW+eWE0EVAzasIy3bjXMqi4OpYD-H+AB2o5juhbBAA) of various LED series configurations with a 5V voltage supply. {: .fs-1 } @@ -199,7 +199,7 @@ Well, in a parallel configuration, each resistor+LED branch is getting ~$$I=\fra {: .fs-1 } @@ -270,7 +270,7 @@ V_R = 3.3V - 2V\to1.3V$$ With ($$V_R=1.3V$$), we can now use Ohm's Law to calculate $$I$$: $$I = \frac{V}{R}\to\frac{1.3V}{220}\to5.9mA$$ - --> + --> diff --git a/arduino/potentiometers-old.md b/arduino/potentiometers-old.md index b30fc9c4..fd7a827d 100644 --- a/arduino/potentiometers-old.md +++ b/arduino/potentiometers-old.md @@ -38,7 +38,7 @@ A [video](https://youtu.be/MJt9kSNlsU4) demonstration of a [trimpot](https://www A [potentiometer](https://en.wikipedia.org/wiki/Potentiometer) (or pot) is a three-terminal resistor with a sliding or rotating contact that can be used to dynamically vary resistance. - + Animation shows how the wiper can be used to vary resistance. The figure on the right is the formal electrical symbol. {: .fs-1 } @@ -169,7 +169,7 @@ Here's one possible wiring for a potentiometer-based LED fading circuit: Once you're done, try simulating your circuit. Click the "Start Simulation" button (see animation below): - + In the circuit above, we hooked up legs 2 and 3 of the potentiometer. What happens if you, instead, hook up legs 1 and 3 or 1 and 2? Try it! @@ -207,7 +207,7 @@ Note: when you drag over a multimeter, make sure you click on it and change the Here's our circuit with the ammeter running in the simulator. Does the simulation match your expectations? - + Because we have Leg 2 hooked to the positive voltage source and Leg 3 as our "output", as we move the wiper from left-to-right, there is a smaller amount of resistance and an increase in current. You'll notice a jump in current when the $$V_f$$ condition of the LED is met (recall the [LED IV curves](http://lednique.com/current-voltage-relationships/iv-curves/) from lecture). @@ -241,7 +241,7 @@ You can play with this Tinkercad circuit [here](https://www.tinkercad.com/things Here's a workbench video of my trimpot circuit: - +