Hi, basically you need to cascade them. Output from 1st part will be routed to input of 2nd part. Like at old-school analog amplifiers. Sorry, too tired today. Tomorrow I can send better schematic and description. Regards Martin
On Tue, Jun 1, 2021, 22:01 John Klimek <[email protected]> wrote: > Interesting ideas, thanks! > > How would I connect a second transistor to re-invert the signal? > Also, could I use a PNP transistor instead? > > I'll have to think a bit more about the second idea and see if I can > understand what you're saying. > > On Tue, Jun 1, 2021 at 3:56 PM Martin Stejskal <[email protected]> > wrote: > > > > Hi, instead of hacking SW, why not hack HW? Add one more extra NPN, so > it will invert signal again? > > > > Depends how brave you are, but there is also another (bit more > dangerous) way - add serial resistance. Thing is that every GPIO suppose to > have some protection diode (in generic - "every" IC - there are exceptions > of course). They typically stand like ~1 mA without problems. I assume that > your reset pin on Arduino have 22k pull-up -> use serial resistance ~1/10 > of that -> 2k2 -> ~70uA leakage when GPIO on Rpi will be 3.3V. That should > not burn Rpi's GPIO. When GPIO on Rpi will be in low, current will be > ~200uA, but it will be leaking through switch transistor, which actually > can deal with much higher currents. > > > > But before you do any HW changes, make sure you made calculations (worst > case) and all necessary measurements before trying on real HW. You have > been warned. > > > > When you think about attached schematic, it is just 2 resistors with 2 > different power supplies -> quite easy math. If you're not sure, any free > simulator can help you out. > > > > Best regards > > Martin S. > > > > On Tue, 1 Jun 2021 at 19:59, John Klimek <[email protected]> wrote: > >> > >> I'm using avrdude (v6.3-20171130) on my Raspberry Pi, but I need the > >> RST pin to be inverted because I'm using an NPN transistor to protect > >> the RPi from my Arduino's 5V power. > >> > >> Here is the command line I'm using for testing: > >> > >> avrdude -C /root/hid/.platformio/packages/tool-avrdude/avrdude.conf -C > >> +avrdude-rpi.conf -P /dev/spidev0.0:/dev/gpiochip0 -c rpi -p m32u4 -v > >> -v -v -v > >> > >> Here is avrdude-rpi.conf: > >> > >> programmer > >> id = "rpi"; > >> desc = "RPi SPI programmer"; > >> type = "linuxspi"; > >> reset = ~25; > >> baudrate = 400000; > >> ; > >> > >> Here is the avrdude output: > >> > >> avrdude: Version 6.3-20171130 > >> Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ > >> Copyright (c) 2007-2014 Joerg Wunsch > >> > >> System wide configuration file is > >> "/root/hid/.platformio/packages/tool-avrdude/avrdude.conf" > >> User configuration file is "/root/.avrduderc" > >> User configuration file does not exist or is not a regular > >> file, skipping > >> Additional configuration file is "avrdude-rpi.conf" > >> > >> Using Port : /dev/spidev0.0:/dev/gpiochip0 > >> Using Programmer : rpi > >> > >> avrdude done. Thank you. > >> > >> I've checked the RST pin (25) on my oscilloscope and it's not > >> triggering at all when I use the inverted (~) syntax. If I remove the > >> (~) then it does trigger the RST pin but not inverted as I need. > >> >
