diff --git a/0_Introduction/onlineResources.md b/0_Introduction/onlineResources.md
new file mode 100644
index 0000000..982d32b
--- /dev/null
+++ b/0_Introduction/onlineResources.md
@@ -0,0 +1,10 @@
+## Online Resources
+
+[Pinout Reference](https://pico.pinout.xyz/): Interactable webpage for mapping Pin number to GPIO number to its functions.
+
+[Random Nerd's Pinout Guide](https://randomnerdtutorials.com/raspberry-pi-pico-w-pinout-gpios/#Raspberry-Pi-Pico-Pinout-Diagram): Website with detailed explaination of pin functions.
+
+[Pico C SDK](https://cec-code-lab.aps.edu/robotics/resources/pico-c-api/index.html): C functions reference for Pico's C SDK.
+
+[Online Pico Simulator](https://wokwi.com/pi-pico): Online Pico simulator with supports using various components and running Arduino style C Code or Python code using MicroPython.
+
diff --git a/0_Introduction/setup.md b/0_Introduction/setup.md
index 6d662a8..e6a8d39 100644
--- a/0_Introduction/setup.md
+++ b/0_Introduction/setup.md
@@ -1,4 +1,4 @@
-## Programming Setup
+## Programming Software Setup
### Dev Envitonment
@@ -17,4 +17,32 @@ Extensions I use:
A C Pico project requires additional files to handle compilation: CMakeList.txt and pico_sdk_import.cmake, templates of both available in the installed pico sdk. To automate this, I use [Pico Project Generator](https://github.com/raspberrypi/pico-project-generator).
-
+
+
+### Uploading Code
+
+Currently I program the pico over USB connection, and to do so,
+- the USB has to be unplugged
+- The button on the board has to be held down to put the board into programming mode
+- USB has to be plugged back in and the button can be released
+
+This will wear-out the port upon time. To solve this, the `RUN` pin #30 can be pulled down/connect to `GND` to reset the board. I use a button to acomplish that, from now on called the reset button, as seen below.
+
+
+
+So uploading the code requires following steps:
+
+- Press and hold reset button (2)
+- Press and hold bootloader button (1)
+- Release reset button (2)
+- Release bootloader button (1)
+
+This will mount the pico as a storage device, to where the generated `.UF2` file should be copied.
+
+
+
+## Hardware Setup
+
+I have the RaspberryPi Pico Non-W variant: without the wireless chip. Soldered male jumper headers and mounted it onto a large breadboard. I am using solid copper wires for connections, because they stay in set shape.
+
+I am using a button as mentioned above to upload the program.
\ No newline at end of file
diff --git a/README.md b/README.md
index 3fd5e98..a382473 100644
--- a/README.md
+++ b/README.md
@@ -4,4 +4,4 @@ A repository containing resources I discovered about Raspberry Pi Picos. Also us
This repo mainly focuses on [C SDK](https://datasheets.raspberrypi.com/pico/raspberry-pi-pico-c-sdk.pdf), not [MicroPython](https://datasheets.raspberrypi.com/pico/raspberry-pi-pico-python-sdk.pdf), because I felt there are more references for MicroPython. It specifically targets the [Pico(and w) board](https://www.raspberrypi.com/products/raspberry-pi-pico/) rather than the [RP2040 Controller](https://www.raspberrypi.com/products/rp2040/) itself.
-Remember that this is a personal hobby project, hence there is no set upload/response timeline. I am open to resource suggestions and corrections. Please star the repository if you find it helpful.
+Note that this is a personal hobby project, hence there is no set upload/response timeline. I am open to resource suggestions and corrections. Please star the repository if you find it helpful.
diff --git a/assets/picoResetButton.png b/assets/picoResetButton.png
new file mode 100644
index 0000000..e1cf865
Binary files /dev/null and b/assets/picoResetButton.png differ