Hello, i want to connect a sd card adapter to my esp32. The pinout is the following
GPIO14 (MTMS) CLK 10k pullup
GPIO15 (MTDO) CMD 10k pullup
GPIO2 D0 10k pullup, pull low to go into download mode
GPIO4 D1 10k pullup; not used in 1-line mode
GPIO12 (MTDI) D2 otherwise 10k pullup (see note below!); not used in 1-line mode
GPIO13 (MTCK) D3 10k pullup needed at card side, even in 1-line mode
N/C CD
N/C WP
How do i set a pullup resistor correct? I'm more like in programming, as in electronical stuff. I can't find a schematic for this. e.g. do i just connect IO 14 with CLK and somewhere between this i solid a resistor and connect this to VCC of my esp? Can someone post a circuit for this case, please?
That's right. Just go with those 10 kilo Ohm resistors. And put one end of a resistor at the indicated pin.... at the pin that is labelled GPIO14..... and the other end of the resistor to 3.3 Volt. But just make sure that the pin is really GPIO14...... generally, it will be correct. But in some cases.... some 'genius' board designers may put labels that lead you to believe that a particular pin is something, while in fact it is something else.
So, go ahead to find the pins associated with GPIO14, GPIO15, GPIO2 etc, and install a pullup resistor for each pin.
Well, i think i know the pins of my esp. I tried some other projects and it was everytime right. Ok, so i need 6x 10k resistors? I will try this tomorrow. Thanks.
That's right. Also....watch out for the power limitations of the arduino. In some cases, a user may use arduino 3.3 V supply to power the sdcard module.... without realising that the 3.3 V supply can supply a limited amount of current...supposedly up to 50 mA. If any issues....then make sure to remember that the sd card might need a more adequate power supply. It all depends on what power supply is being used right now, and what the power supply requirements are (for the sd card).
I second the observation about 3.3V supply - you need adequate power supply for (micro)SDcard 3.3V,
best to use an external regulator. The clue is that cards get quite hot when written to!
And remember good decoupling is needed right at the card.
Great advice from MarkT. You mentioned using the ESP32. Be sure to go to GitHub and get the necessary ESP32-spi-hal.c and ESP32-spi-hal.h files you will need.
There are 3 SPI channels, best to stay off the one that connects to the Program Flash. VSPI is the easiest one to camp onto. The pins should be as follows:
These are commented BECAUSE they are defined elsewhere. If you’re using the ESP32-Thing from SparkFun, their data sheet says CS=2, but it doesn’t work.
I would also agree with Grumpy Mike, pullups shouldn't be needed unless you're trying it over a long cable. The SPI spec states all should be tri-state unless the slave is selected.
Be careful to assert that though, in the case of the RA8875 SPI-LCD Controller, it doesn't tri-state MISO, so you can't share other devices on the same bus even with different chip selects.