diff --git a/docs/assets/images/applications/AVRDUDESS.JPG b/docs/assets/images/applications/AVRDUDESS.JPG new file mode 100644 index 0000000..1ce8d2d Binary files /dev/null and b/docs/assets/images/applications/AVRDUDESS.JPG differ diff --git a/docs/tutorials/firmware-update/beta-unit-firmware-update.md b/docs/tutorials/firmware-update/beta-unit-firmware-update.md index 03d602c..84053c3 100644 --- a/docs/tutorials/firmware-update/beta-unit-firmware-update.md +++ b/docs/tutorials/firmware-update/beta-unit-firmware-update.md @@ -1,12 +1,48 @@ -# Pyr0-piezo Beta Unit Firmware Update +# Pyr0-piezo Beta Unit Firmware Update Procedure + +## Utilizing the Pyr0-Piezo AVR Programming Jig + +### Physical Construction of the Jig + +The AVR Programming jig consists of several components: + +- A PCB with USB-UART bridge (or a TTL header) +- A second PCB with ICSP header and Diag Headers installed +- 5MM 3D Printed Standoffs between the two boards +- 0.65mm Diameter Pogo Pins that span the two PCB's +- The three main body components of the jig +- The hinge joints, and clamp +- Hardware: + - 4x M3 16mm Bolts + - 5x M3 22mm Bolts + +Assembly animation: + +
+ +## Uploading Firmware Without a Jig + +Uploading firmware without a Pyr0-Piezo AVR Programming Jig requires soldering to the test pads on the bottom of the Sensor's PCB: + +![](../../assets/images/board-images/easy-piezi/pp-v2.1.2-uart-wiring.png) + +To utilize the UART's in-built auto-reset function, a 10k resistor and a small capacitor must be added to the reset wire in the configuration below: + + + +

This browser does not support PDFs. Please download the PDF to view it: Download PDF.

+ +
+ +## Firmware Upload Procedure The firmware for this project can be updated using one of three methods, VS Code, Arduino IDE, or avrdude. Please be sure you've already [wired up your sensor's UART port](../../schematics/other/uart-programmer-wiring.md) -## VS Code (Preferred Application) +### VS Code (Preferred Application) -### Installing dependencies +#### Installing dependencies 1. Install [VS Code from Micosoft's official page](https://code.visualstudio.com/download) 2. Use the "Extensions" menu to install PlatformIO. @@ -16,8 +52,9 @@ Please be sure you've already [wired up your sensor's UART port](../../schematic - Markdown Preview Enhanced - C/C++ - C++ Intellisense + - Python -### Configuration +#### Configuration 1. In PIO Home, open the firmware folder: - `~/pyr0piezo/firmware/AVR-Source/Pyr0_Piezo_sensor_v2.x.x` @@ -26,19 +63,33 @@ Please be sure you've already [wired up your sensor's UART port](../../schematic - Right click on `develop` and select "Switch to Branch" - Back at the top of the "Repositories" menu, hover the mouse over `Pyr0_Piezo_Sensor_v2.x.x` and click first on `fetch`, then on `pull` -### Upload +#### Upload 1. Make any desired adjustments to default values in `src/pP_config.h` 2. Click the "PlatformIO: Upload" button found in the bottom bar of the VS Code window 3. Verify Serial connection by opening the Serial Monitor and typing `CONFIG` or `STATE`. You should get a response. -## Arduino IDE +### Arduino IDE 1. Install [Arduino IDE from Arduino's official page](https://www.arduino.cc/en/main/software) 2. Under File > Preferences > Additional Board Manager URL's, Add: - `https://mcudude.github.io/MiniCore/package_MCUdude_MiniCore_index.json` -## avrdude +### AVRDUDESS + +#### Windows (Only) + +AVRDUDESS is a GUI version of the avrdude application used for flashing firmware to AVR based MCU's, [and can be found here](https://blog.zakkemble.net/avrdudess-a-gui-for-avrdude/) + +After installing AVRDUDESS, and opening it, follow the image below with the settings here: + +- **A.** Choose the COM port of your UART programmer from the pulldown menu +- **B.** Ensure "Erase Flash and EEPROM" is checked +- **C.** From the MCU Pulldown, select "Atmega328PB" +- **D.** Set the Fuse Bits to `E2`, `DF`, `F9` respectively. Leave LB *blank* +- **E.** Click the Flash button to begin the upload process + +### avrdude #### Windows @@ -46,7 +97,7 @@ Please be sure you've already [wired up your sensor's UART port](../../schematic - [Windows Subsystem for Linux] - [CygWin] - [Mingw64] - - [Git Bash (Comes bundled with git)] + - [Git Bash (Comes bundled with Git for Windows)] 2. Download the [avrdude binaries] 3. Extract the binaries somewhere your terminal can find them