0% found this document useful (0 votes)
37 views3 pages

Pyr0-Piezo MCU Update Procedure: Tools and Components

This document provides instructions for updating the firmware on a Pyr0-Piezo unit using either an Arduino IDE or the avrdude program. It describes the necessary tools, components for hookup including a resistor and capacitor, and steps for programming via cloning a GitHub project and selecting boards in Arduino IDE or using avrdude at the command line.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
37 views3 pages

Pyr0-Piezo MCU Update Procedure: Tools and Components

This document provides instructions for updating the firmware on a Pyr0-Piezo unit using either an Arduino IDE or the avrdude program. It describes the necessary tools, components for hookup including a resistor and capacitor, and steps for programming via cloning a GitHub project and selecting boards in Arduino IDE or using avrdude at the command line.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

Pyr0-Piezo MCU Update Procedure

Tools and components:


• Pyr0-Piezo Unit
• USB-UART bridge ~or~ Pyr0-Piezo Program Interface Board
• ICSP Programmer or ArduinoISP
• Soldering Iron
• Wire
• 10K resistor
• 100pF – 0.1uF Capacitor (ceramic is preferred)
• Arduino IDE (optional)
• avrdude
• MCUDude's MiniCore
• Pyr0-Piezo git project

Links:
Arduino IDE: https://www.arduino.cc/en/main/software
avrdude: https://download.savannah.gnu.org/releases/avrdude/
Pyr0-Piezo GitHib: https://github.com/pyr0ball/pyr0piezo

Hookup:
In order for serial (UART) programming to work, a capacitor must be placed in line between
the Pyr0-Piezo RST pin, and the UART's DTR pin, and a 10k pullup resistor between DTR
and +5v. ICSP programming requires no extra passive components. TXD/RXD pairs are
inverted between sender and receiver

1
Programming With Arduino IDE
• Download and install the Arduino IDE, clone or download the Pyr0-Piezo project (git
clone is recommended to ensure updates are pulled) to a folder of your choosing.
• Open firmware/AVR-Source/ and open the firmware ino file related to the board you're
updating.
• Install MCUDude's MiniCore
◦ Open File > Preferences, and add the MiniCore json to the “Additional Board
Manager URL's” Field:
https://mcudude.github.io/MiniCore/package_MCUdude_MiniCore_index.json
◦ Click on Tools > Board > Boards Manager, use the search box to find “MiniCore”,
and click the “install” button
• Choose the MCU used in your sensor
◦ Click on Tools > Board > Select Atmega88 for Rev.1.x.x boards, Atmega328 for
Rev.2+ boards. All other settings will be the same
◦ Under Tools, set the following:
▪ Bootloader: Yes
▪ Clock: 8Mhz Internal
▪ BOD: anything 2.7v or lower
▪ Compiler LTO: Disabled
▪ Variant: *8P/PA
• Set the programmer type to Programmer: AVRISP mkII
• Choose the COM port of your USB-UART bridge
• Make any adjustments to the top section of variables
• Click on “upload”
• Done!

2
Programming with avrdude
• Download avrdude (or find avrdude installed along with ArduinoIDE:
Arduino/hardware/tools/avr/bin) and extract it to a folder of your choosing.
• Copy the firmware for your board out of /firmware/Compiled-Firmware/*.hex to the
folder where you extracted avrdude
• run the following command, replacing the m88p with m328p if using a Rev.2+, and
COM4 with the serial port of your USB-UART bridge
./avrdude.exe -c avrisp2 -p m88p -b19200 -PCOM4 -U flash:w:<firmware.filename>.hex -v

You might also like