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