I wanted a board that shows the state of all I/O pins on LEDs with all of these properties….
Works for Digital Input, Output, and Input Pullup
Pushbutton to drive the pin high, very weak pulldown (much weaker than on-chip pullup)
Works for analog pins (thumbwheel pot), but also works when the same pin is used for digital
LED shows actual analog level – LED current should be linear to actual voltage
LED current does not interfere with analog voltage
LED does not interfere with weak signals, or input pullup or pulldown
Inexpensive – under $0.50 per pin – many parts are ok, as long as they’re cheap!
I realize this is probably excessive design for most people, but when you’re making a development board and testing nearly every major Arduino library, it’s amazing how handy tools like this can be. So I thought I’d document this little circuit, and especially the 150K feedback resistor trick that makes it work so well with these higher impedances and the chip LMV358 opamp.
Make a robot friend with Adafruit’s CRICKIT – A Creative Robotics & Interactive Construction Kit. It’s an add-on to our popular Circuit Playground Express, FEATHER and other platforms to make and program robots with CircuitPython, MakeCode, and Arduino. Start controlling motors, servos, solenoids. You also get signal pins, capacitive touch sensors, a NeoPixel driver and amplified speaker output. It complements & extends your boards so you can still use all the goodies on the microcontroller, now you have a robotics playground as well.