Hi all,
Full disclaimer: I'm a complete newbie and this is the first time I'm designing an electronics project.
I have been working on a MIDI controller project. Basically it's 16 buttons and 16 RGB LEDs. Nothing fancy. You press a button, computer gets a MIDI message over USB and a LED lights up.
I have done all my prototyping on a Leonardo board and once I made sure it works as intended I have switched to my own design which can be shown below.
I have 2 problems with the design.
1- There is something wrong with my RESET design. The RESET button doesn't do anything and the board does not boot/work at all until I manually connect 5V directly to the MCU RESET pin after which everything seems to work perfectly. I can upload sketches, read pins etc...
Where/how can I start debugging this?
2- Since I've done all my prototyping on Leonardo and I didn't want to mess setting up Arduino IDE for a new board, I wanted it to work out-of-the-box just by flashing the Leonardo bootloader hence extra attention to pin mappings.
However it looks like I have missed something. Although most of the pins work as intended, I can't read from D14, D15, D16 and D17 pins.
(I have them set up as INPUT_PULLUP)
After looking into it I have noticed that, these pins are actually not mentioned in the official Leonardo schematics, they are only mentioned as A0, A1, A2 and A3 however if you look at the pinout in diagram in arduino.cc you can see that they are also called D14-D17.
After digging some more I have come across variants/lenoardo/pins_arduino.h file in which it says Map SPI port to 'new' pins D14..D17.
So looks like these pins have some special meaning. At this point I think you can guess where I'm going: How can I use them as INPUT_PULLUP?
Any help would be appreciated
Thank you