I'm not too skilled in electronics (I'm a programmer), but I started to build a custom keyboard based on Teensy 3.2. In the following tale here are 4 questions:


- First I played a bit whith "the blinky example" successfully Then I soldered the crystal for RTC because I think it is better to do it before the headers. (yes, my keyboard will know the time...)
- After that Teensy can't goes into bootloader. I searched the forums and I tried to press "the button" right after powerup; holding button when power-on; double-click; etc. 1:10 times I successfully entered into bootloader. Total chaos...
- I tried out Teensy on another PC and was much better.
- When I brought back Teensy to my PC I did realized that I did used it on an USB-extender, so maybe that was the problem. OK, I hooked-up Teensy directly to my PC.
- After a while Teensy worked again - hurray!

I just wrote down this to be correct. The adventures continued:

- Then I made a small circuit with an additional MPC23S17 and tried to communicate with a GPIO pin as input without success
- Then I tried to test the pin as output - but a wire (the MPC23S17 output pin or the GND wire) unfortunately got under the PCB (and possibly contacted with any pin).
- Teensy did not flashing it's LED anymore...

- Of course I detached Teensy from the board and next day I powered it up and it did a few blinks and then halted.
- Next day I powered-up Teensy and it did a few blink and then halted.
- 2 days later Teensy worked 2 times more - then halted.
- Then I gave 4-5 days resting - moreover I shorted USB 5V to GND for several seconds then 3.3V to GND (let flush static charge). And then, Teensy blinked for several hours ; a half a day; and it works even now (!)

(Q1) So, what do You think about this symptom? Seems a big condensator inside that tiny Teensy? I'm not an expert, maybe it's absolute natural (?)

- Meantime I figured out that unfortunately I took shit on _reset line of MPC23S17... I fixed it and started to continue with the custom keyboard: SPI communication worked with the original MPC23S17, hurray! (even I used the alternative SPI ports)
- But seems INPUT_PULLUP pins 21,19,15 reads random LO/HIGH values (I used pin 20 as CS for MPC23S17). Used as OUTPUT they _works_.

(Q2) So, seems the shortcut I made damaged pins around 20 _as_input_, however as output they works - is this possible?

(Q3) I'm not dug into Teensy SPI deeply, but I not really understand why we can't using _any_ pin as CS? It is a HW "limit"?

(Q4) What the exact mechanism is behind this "Press Verify first time and press Upload afterwards" seen on Teensydoino install? (as a novice I think I pushed the first button I saw - no, not really, I just kidding. However not clear for me why can't press "Upload" first time?)

So, many thanks if You read all these long lines!