Сегодня я поведаю косяки в процессе работы с SD картой и ESP. Выдалась мне задача хранить логи с ESP, поэтому я надумал использовать SD карту ввиду ее практичности, но ее отладка была достаточно сложной и посему я решил написать эту статью, чтоб новички не споткнулись о те же углы тумбочки.
Для начала традиционные распиновки:
![](https://habrastorage.org/getpro/habr/post_images/c87/5a5/f62/c875a5f62ceefcb058a8695fab9000a0.png)
![](https://habrastorage.org/getpro/habr/upload_files/c41/7b9/bf4/c417b9bf4cf77ecf207301b7515d1a66.png)
Как видно на картинке 1 микро сд карта не задействует 1 и 8 пин в работе, их не беспокоим.
Имея все эти распиновки вы без проблем сможете подключить карту к esp, далее по косякам:
Главный косяк заключается в том, что на макетке у меня ничего не работало, здесь проблема в том, что шина SPI, на которой работает карта, высокоскоростная, и ей нужно нормальное соединение пайкой, но не стоит думать, что на этом мои мучения закончились, я собрал на скорую руку схему пайкой, на фото ниже.
![](https://habrastorage.org/getpro/habr/upload_files/e1f/ab0/c67/e1fab0c670fc07c4475ce2d75e1c7b7e.png)
Это тоже не привело к ожидаемому результату, карта все также отказывалась инициализироваться. К слову на вот этом модуле вверху фотокарточки модуль для ардуины и там были напаяны резисторы для конвертирования логического уровня с 5 вольт ардуиновских на 3.3 картовские, и если их не выпаять, то ваши 3.3 вольта с esp превратятся в около 2 и карта не заработает, поэтому их я удалил и заменил перемычками, как и говорил это не коем образом не скрасило ситуацию, но если вы будете использовать ардуино, то их удалять не нужно, карту зазря спалите.
![](https://habrastorage.org/getpro/habr/upload_files/8f7/aea/f8f/8f7aeaf8f789125eb398d784ee88b184.png)
Этот модуль тоже нельзя использовать, он с конвертером логических уровней.
Потом я уж совсем не знал что делать, но все же решил поэкспериментировать и сделать печатную плату для этой задачи, представляю ее вам ниже:
![](https://habrastorage.org/getpro/habr/upload_files/e78/738/52d/e7873852d5fe328260430de6e4ce05ab.png)
На этой схеме нужно соединить перемычкой 2 контакта, на фото ниже:
![](https://habrastorage.org/getpro/habr/upload_files/588/e0a/921/588e0a921fd8b4156ed6ed7e0ca37546.png)
С этой платой все заработало как надо, в качестве холдера для карты был использован этот: https://www.danomsk.ru/shop/7-kommutatsiya/121-razemy/311-sokety/198957-cf-micro-sd-smd-9pin-ejector-derzhatel-kart-micro-sd-kitay/
А в качестве отлодочной платы Wemos d1.
Вот как получилось в итоге:
![](https://habrastorage.org/getpro/habr/upload_files/eec/efc/0f6/eecefc0f6bb33f60e009c00da77cad7e.png)
![](https://habrastorage.org/getpro/habr/upload_files/194/bf9/fc7/194bf9fc7807545b8342704c1e527ddf.png)
(Это старая версия платы с косяками, не удивляетесь)
Если хотите повторить:
![](https://habrastorage.org/getpro/habr/upload_files/1c4/fbc/99c/1c4fbc99c69145c4aae15b048b3c60ea.png)
Спасибо за прочтение!