I was following this guide from Adafruit to flash an Arduino with a Pi using AVR-Dude over SPI: https://learn.adafruit.com/program-an-avr-or-arduino-using-raspberry-pi-gpio-pins?view=all
I noticed that they were not using a level shifter to protect the Pi's 3.3V GPIO from the Arduino's 5V. So I was curious about when a level shifter should be used? Such as this: https://www.adafruit.com/product/1787
The problem is that most level shifters provide 4 channels(the 8 channel one is sold out). If I wanted to flash one device there isn't a problem because then all 4 channels are used(MISO, MOSI, SCK, & RESET). If I wanted to flash multiple boards I would then need to add a CS pin.
Can I get away with just passing the MISO, MOSI, and SCK lines through the level shifter? Or do the RESET and CS pins also need to be stepped down from 5V as well? Could I just add some resistors for those 2 lines instead of using 2 level shifters?
I also looked at this similar question(Are the SPI pins 5V tolerant?) and am curious if I can just apply a voltage divider method(https://learn.sparkfun.com/tutorials/voltage-dividers/) to just the MISO line? All of the other lines in use are output pins from the Pi GPIO from what I understand.
I even thought the RESET pin might be a input but it must be configured as an output in the GPIO command line and written to 0 in order to reset the uno.
Thanks for any insight!