{"id":94921,"date":"2020-03-14T18:17:26","date_gmt":"2020-03-14T18:17:26","guid":{"rendered":"https:\/\/randomnerdtutorials.com\/?p=94921"},"modified":"2023-02-20T10:04:11","modified_gmt":"2023-02-20T10:04:11","slug":"esp32-cam-camera-pin-gpios","status":"publish","type":"post","link":"https:\/\/randomnerdtutorials.com\/esp32-cam-camera-pin-gpios\/","title":{"rendered":"ESP32-CAM Camera Boards: Pin and GPIOs Assignment Guide"},"content":{"rendered":"\n<p>ESP32 development boards with camera are becoming popular with the maker community. There are different models of ESP32 Camera boards with different features. Each ESP32 Camera dev board uses different GPIOs to connect to the camera. In this guide we&#8217;ll show you the pin definition to include in your code for each board.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img data-recalc-dims=\"1\" fetchpriority=\"high\" decoding=\"async\" width=\"1200\" height=\"675\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/ESP32-CAM-Camera-Boards-Pin-GPIO-Assignment-Guide.jpg?resize=1200%2C675&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"ESP32-CAM Camera Boards Pin and GPIOs Assignment Guide\" class=\"wp-image-94960\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/ESP32-CAM-Camera-Boards-Pin-GPIO-Assignment-Guide.jpg?w=1280&amp;quality=100&amp;strip=all&amp;ssl=1 1280w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/ESP32-CAM-Camera-Boards-Pin-GPIO-Assignment-Guide.jpg?resize=300%2C169&amp;quality=100&amp;strip=all&amp;ssl=1 300w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/ESP32-CAM-Camera-Boards-Pin-GPIO-Assignment-Guide.jpg?resize=1024%2C576&amp;quality=100&amp;strip=all&amp;ssl=1 1024w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/ESP32-CAM-Camera-Boards-Pin-GPIO-Assignment-Guide.jpg?resize=768%2C432&amp;quality=100&amp;strip=all&amp;ssl=1 768w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/figure><\/div>\n\n\n<p>This guide covers the pin\/GPIOs assignment for the following ESP32 Camera Development boards:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"#board1\">ESP32-CAM AI-Thinker<\/a><\/li>\n\n\n\n<li><a href=\"#freenove-esp32-wrover-cam\" title=\"\">Freenove ESP32-Wrover CAM<\/a><\/li>\n\n\n\n<li><a href=\"#board2\">TTGO T-Journal<\/a><\/li>\n\n\n\n<li><a href=\"#board3\">M5-Camera Model A<\/a><\/li>\n\n\n\n<li><a href=\"#board4\">M5-Camera Model B<\/a><\/li>\n\n\n\n<li><a href=\"#board5\">M5 ESP32-Camera (without PSRAM)<\/a><\/li>\n\n\n\n<li><a href=\"#board6\">ESP-EYE<\/a><\/li>\n\n\n\n<li><a href=\"#board7\"><span style=\"font-size: inherit; background-color: initial;\">TTGO T-Camera Plus<\/span><\/a><\/li>\n\n\n\n<li><a href=\"#board8\">TTGO T-Camera (with PIR sensor)<\/a><\/li>\n<\/ul>\n\n\n\n<p>For a detailed comparison of the different ESP32 Camera Boards, read:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/makeradvisor.com\/esp32-camera-cam-boards-review-comparison\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\">ESP32 Camera Dev Boards Review and Comparison (Best ESP32-CAM)<\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"board1\">ESP32-CAM AI-Thinker Pin Assignment<\/h2>\n\n\n\n<p>The following image shows the pinout diagram for the ESP32-CAM AI-Thinker.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"1000\" height=\"445\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/ESP32-CAM-pinout-new.png?resize=1000%2C445&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"ESP32-CAM AI-Thinker Module Board Pins GPIO\" class=\"wp-image-94760\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/ESP32-CAM-pinout-new.png?w=1000&amp;quality=100&amp;strip=all&amp;ssl=1 1000w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/ESP32-CAM-pinout-new.png?resize=300%2C134&amp;quality=100&amp;strip=all&amp;ssl=1 300w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/ESP32-CAM-pinout-new.png?resize=768%2C342&amp;quality=100&amp;strip=all&amp;ssl=1 768w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><\/figure><\/div>\n\n\n<p>This is the OV2640 camera pin assignment for the ESP32-CAM AI-Thinker board:<\/p>\n\n\n\n<pre class=\"wp-block-code language-c\"><code>#define PWDN_GPIO_NUM     32\n#define RESET_GPIO_NUM    -1\n#define XCLK_GPIO_NUM      0\n#define SIOD_GPIO_NUM     26\n#define SIOC_GPIO_NUM     27\n#define Y9_GPIO_NUM       35\n#define Y8_GPIO_NUM       34\n#define Y7_GPIO_NUM       39\n#define Y6_GPIO_NUM       36\n#define Y5_GPIO_NUM       21\n#define Y4_GPIO_NUM       19\n#define Y3_GPIO_NUM       18\n#define Y2_GPIO_NUM        5\n#define VSYNC_GPIO_NUM    25\n#define HREF_GPIO_NUM     23\n#define PCLK_GPIO_NUM     22<\/code><\/pre>\n\n\n\n<p>The ESP32-CAM AI-Thinker comes with 10 exposed GPIOs. Learn how to use those GPIOs with this <a href=\"https:\/\/randomnerdtutorials.com\/esp32-cam-ai-thinker-pinout\/\">ESP32-CAM Pinout Reference Guide<\/a>.<\/p>\n\n\n\n<p class=\"rntbox rntclgray\"><strong>Review:<\/strong> <a href=\"https:\/\/makeradvisor.com\/esp32-cam-ov2640-camera\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\">ESP32-CAM with OV2640 Camera<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"freenove-esp32-wrover-cam\">Freenove ESP32-Wrover CAM Board<\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2023\/01\/Freenove-ESP32.png?quality=100&#038;strip=all&#038;ssl=1\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"300\" height=\"300\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2023\/01\/Freenove-ESP32.png?resize=300%2C300&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"\" class=\"wp-image-126661\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2023\/01\/Freenove-ESP32.png?w=300&amp;quality=100&amp;strip=all&amp;ssl=1 300w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2023\/01\/Freenove-ESP32.png?resize=150%2C150&amp;quality=100&amp;strip=all&amp;ssl=1 150w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/figure><\/div>\n\n\n<p>Pin definition for the ESP32-Wrover CAM board (Freenove brand). In some of the examples, this pin definition is under the <span class=\"rnthl rntliteral\">CAMERA_MODEL_WROVER_KIT<\/span>.<\/p>\n\n\n\n<pre class=\"wp-block-code language-c\"><code>#define PWDN_GPIO_NUM    -1\r\n#define RESET_GPIO_NUM   -1\r\n#define XCLK_GPIO_NUM    21\r\n#define SIOD_GPIO_NUM    26\r\n#define SIOC_GPIO_NUM    27\r\n\r\n#define Y9_GPIO_NUM      35\r\n#define Y8_GPIO_NUM      34\r\n#define Y7_GPIO_NUM      39\r\n#define Y6_GPIO_NUM      36\r\n#define Y5_GPIO_NUM      19\r\n#define Y4_GPIO_NUM      18\r\n#define Y3_GPIO_NUM       5\r\n#define Y2_GPIO_NUM       4\r\n#define VSYNC_GPIO_NUM   25\r\n#define HREF_GPIO_NUM    23\r\n#define PCLK_GPIO_NUM    22\r<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"board2\">TTGO T-Journal Pin Assignment<\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/TTGO-T-Journal.jpg?resize=375%2C375&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"TTGO T-Journal ESP32-CAM Camera Pins GPIO\" class=\"wp-image-94952\" width=\"375\" height=\"375\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/TTGO-T-Journal.jpg?w=500&amp;quality=100&amp;strip=all&amp;ssl=1 500w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/TTGO-T-Journal.jpg?resize=300%2C300&amp;quality=100&amp;strip=all&amp;ssl=1 300w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/TTGO-T-Journal.jpg?resize=150%2C150&amp;quality=100&amp;strip=all&amp;ssl=1 150w\" sizes=\"(max-width: 375px) 100vw, 375px\" \/><\/figure><\/div>\n\n\n<p>Pin assignment for the TTGO T-Journal board.<\/p>\n\n\n\n<pre class=\"wp-block-code language-c\"><code>#define PWDN_GPIO_NUM     32\n#define RESET_GPIO_NUM    -1\n#define XCLK_GPIO_NUM     27\n#define SIOD_GPIO_NUM     25\n#define SIOC_GPIO_NUM     23\n#define Y9_GPIO_NUM       19\n#define Y8_GPIO_NUM       36\n#define Y7_GPIO_NUM       18\n#define Y6_GPIO_NUM       39\n#define Y5_GPIO_NUM       5\n#define Y4_GPIO_NUM       34\n#define Y3_GPIO_NUM       35\n#define Y2_GPIO_NUM       17\n#define VSYNC_GPIO_NUM    22\n#define HREF_GPIO_NUM     26\n#define PCLK_GPIO_NUM     21<\/code><\/pre>\n\n\n\n<p class=\"rntbox rntclgray\"><strong>Review:<\/strong> <a href=\"https:\/\/makeradvisor.com\/ttgo-t-journal-esp32-camera-board-review\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\">TTGO T-Journal ESP32 Camera Development Board<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"board3\">M5-Camera Model A Pin Assignment<\/h2>\n\n\n\n<p>There are two similar models: M5-Camera Model A and M5-Camera Model B. The model A looks as shown in the following figure.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/M5-Stack-ESP32-Camera-PSRAM-model-A.png?resize=243%2C305&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"M5-Camera Model A Pins GPIO\" class=\"wp-image-94948\" width=\"243\" height=\"305\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/M5-Stack-ESP32-Camera-PSRAM-model-A.png?w=324&amp;quality=100&amp;strip=all&amp;ssl=1 324w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/M5-Stack-ESP32-Camera-PSRAM-model-A.png?resize=239%2C300&amp;quality=100&amp;strip=all&amp;ssl=1 239w\" sizes=\"(max-width: 243px) 100vw, 243px\" \/><\/figure><\/div>\n\n\n<p>Pin assignment for the M5-Camera Model A.<\/p>\n\n\n\n<pre class=\"wp-block-code language-c\"><code>#define PWDN_GPIO_NUM     -1\n#define RESET_GPIO_NUM    15\n#define XCLK_GPIO_NUM     27\n#define SIOD_GPIO_NUM     25\n#define SIOC_GPIO_NUM     23\n#define Y9_GPIO_NUM       19\n#define Y8_GPIO_NUM       36\n#define Y7_GPIO_NUM       18\n#define Y6_GPIO_NUM       39\n#define Y5_GPIO_NUM        5\n#define Y4_GPIO_NUM       34\n#define Y3_GPIO_NUM       35\n#define Y2_GPIO_NUM       32\n#define VSYNC_GPIO_NUM    22\n#define HREF_GPIO_NUM     26\n#define PCLK_GPIO_NUM     21<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"board4\">M5-Camera Model B Pin Assignment<\/h2>\n\n\n\n<p>The M5-Camera Model B looks as follows:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/M5-Stack-ESP32-Camera-PSRAM-model-B.png?resize=243%2C300&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"M5-Camera Model B Pins GPIO\" class=\"wp-image-94949\" width=\"243\" height=\"300\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/M5-Stack-ESP32-Camera-PSRAM-model-B.png?w=324&amp;quality=100&amp;strip=all&amp;ssl=1 324w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/M5-Stack-ESP32-Camera-PSRAM-model-B.png?resize=243%2C300&amp;quality=100&amp;strip=all&amp;ssl=1 243w\" sizes=\"(max-width: 243px) 100vw, 243px\" \/><\/figure><\/div>\n\n\n<p> Pin assignment for the M5-Camera Model B.<\/p>\n\n\n\n<pre class=\"wp-block-code language-c\"><code>#define PWDN_GPIO_NUM     -1\n#define RESET_GPIO_NUM    15\n#define XCLK_GPIO_NUM     27\n#define SIOD_GPIO_NUM     22\n#define SIOC_GPIO_NUM     23\n#define Y9_GPIO_NUM       19\n#define Y8_GPIO_NUM       36\n#define Y7_GPIO_NUM       18\n#define Y6_GPIO_NUM       39\n#define Y5_GPIO_NUM        5\n#define Y4_GPIO_NUM       34\n#define Y3_GPIO_NUM       35\n#define Y2_GPIO_NUM       32\n#define VSYNC_GPIO_NUM    25\n#define HREF_GPIO_NUM     26\n#define PCLK_GPIO_NUM     21<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"board5\">M5-Stack ESP32-Camera (without PSRAM) Pin Assignment<\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/M5-stack-ESP32-camera-no-PSRAM.jpg?resize=375%2C375&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"M5-Stack ESP32-Camera (without PSRAM) Pins GPIO\" class=\"wp-image-94947\" width=\"375\" height=\"375\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/M5-stack-ESP32-camera-no-PSRAM.jpg?w=500&amp;quality=100&amp;strip=all&amp;ssl=1 500w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/M5-stack-ESP32-camera-no-PSRAM.jpg?resize=300%2C300&amp;quality=100&amp;strip=all&amp;ssl=1 300w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/M5-stack-ESP32-camera-no-PSRAM.jpg?resize=150%2C150&amp;quality=100&amp;strip=all&amp;ssl=1 150w\" sizes=\"(max-width: 375px) 100vw, 375px\" \/><\/figure><\/div>\n\n\n<p>Pin assignment for the M5-stack ESP32 camera without PSRAM.<\/p>\n\n\n\n<pre class=\"wp-block-code language-c\"><code>#define PWDN_GPIO_NUM     -1\n#define RESET_GPIO_NUM    15\n#define XCLK_GPIO_NUM     27\n#define SIOD_GPIO_NUM     25\n#define SIOC_GPIO_NUM     23\n#define Y9_GPIO_NUM       19\n#define Y8_GPIO_NUM       36\n#define Y7_GPIO_NUM       18\n#define Y6_GPIO_NUM       39\n#define Y5_GPIO_NUM        5\n#define Y4_GPIO_NUM       34\n#define Y3_GPIO_NUM       35\n#define Y2_GPIO_NUM       17\n#define VSYNC_GPIO_NUM    22\n#define HREF_GPIO_NUM     26\n#define PCLK_GPIO_NUM     21<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"board6\">ESP-EYE Pin Assignment<\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/ESP-EYE.jpg?resize=375%2C363&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"ESP-EYE Pins GPIO\" class=\"wp-image-94946\" width=\"375\" height=\"363\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/ESP-EYE.jpg?w=500&amp;quality=100&amp;strip=all&amp;ssl=1 500w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/ESP-EYE.jpg?resize=300%2C290&amp;quality=100&amp;strip=all&amp;ssl=1 300w\" sizes=\"(max-width: 375px) 100vw, 375px\" \/><\/figure><\/div>\n\n\n<p>Pin assignment for the ESP-EYE camera.<\/p>\n\n\n\n<pre class=\"wp-block-code language-c\"><code>#define PWDN_GPIO_NUM    -1\n#define RESET_GPIO_NUM   -1\n#define XCLK_GPIO_NUM    4\n#define SIOD_GPIO_NUM    18\n#define SIOC_GPIO_NUM    23\n#define Y9_GPIO_NUM      36\n#define Y8_GPIO_NUM      37\n#define Y7_GPIO_NUM      38\n#define Y6_GPIO_NUM      39\n#define Y5_GPIO_NUM      35\n#define Y4_GPIO_NUM      14\n#define Y3_GPIO_NUM      13\n#define Y2_GPIO_NUM      34\n#define VSYNC_GPIO_NUM   5\n#define HREF_GPIO_NUM    27\n#define PCLK_GPIO_NUM    25<\/code><\/pre>\n\n\n\n<p class=\"rntbox rntclgray\"><strong>Review:<\/strong> <a href=\"https:\/\/makeradvisor.com\/esp-eye-new-esp32-based-board\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\">ESP-EYE: ESP32-based board for AI<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"board7\">TTGO T-Camera Plus Pin Assignment<\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/TTGO-T-Camera-Plus.jpg?resize=375%2C375&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"T-Camera Plus Pins GPIO\" class=\"wp-image-94951\" width=\"375\" height=\"375\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/TTGO-T-Camera-Plus.jpg?w=500&amp;quality=100&amp;strip=all&amp;ssl=1 500w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/TTGO-T-Camera-Plus.jpg?resize=300%2C300&amp;quality=100&amp;strip=all&amp;ssl=1 300w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/TTGO-T-Camera-Plus.jpg?resize=150%2C150&amp;quality=100&amp;strip=all&amp;ssl=1 150w\" sizes=\"(max-width: 375px) 100vw, 375px\" \/><\/figure><\/div>\n\n\n<p>Pin assignment for the TTGO T-Camera Plus.<\/p>\n\n\n\n<pre class=\"wp-block-code language-c\"><code>#define PWDN_GPIO_NUM    -1\n#define RESET_GPIO_NUM   -1\n#define XCLK_GPIO_NUM    4\n#define SIOD_GPIO_NUM    18\n#define SIOC_GPIO_NUM    23\n#define Y9_GPIO_NUM      36\n#define Y8_GPIO_NUM      37\n#define Y7_GPIO_NUM      38\n#define Y6_GPIO_NUM      39\n#define Y5_GPIO_NUM      35\n#define Y4_GPIO_NUM      26\n#define Y3_GPIO_NUM      13\n#define Y2_GPIO_NUM      34\n#define VSYNC_GPIO_NUM   5\n#define HREF_GPIO_NUM    27\n#define PCLK_GPIO_NUM    25<\/code><\/pre>\n\n\n\n<p class=\"rntbox rntclgray\"><strong>Review:<\/strong> <a href=\"https:\/\/makeradvisor.com\/ttgo-t-camera-plus-esp32-review-pinout\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\">TTGO T-Camera Plus ESP32 Development Board<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"board8\">TTGO T-Camera with PIR Sensor Pin Assignment<\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/TTGO-Camera-with-PIT.jpg?resize=375%2C375&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"TTGO T-Camera with PIR Sensor Pins GPIO\" class=\"wp-image-94950\" width=\"375\" height=\"375\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/TTGO-Camera-with-PIT.jpg?w=500&amp;quality=100&amp;strip=all&amp;ssl=1 500w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/TTGO-Camera-with-PIT.jpg?resize=300%2C300&amp;quality=100&amp;strip=all&amp;ssl=1 300w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/TTGO-Camera-with-PIT.jpg?resize=150%2C150&amp;quality=100&amp;strip=all&amp;ssl=1 150w\" sizes=\"(max-width: 375px) 100vw, 375px\" \/><\/figure><\/div>\n\n\n<p>Pin definition for the T-Camera with PIR sensor (without microphone and without BME280):<\/p>\n\n\n\n<pre class=\"wp-block-code language-c\"><code>#define PWDN_GPIO_NUM -1\n#define RESET_GPIO_NUM -1\n#define XCLK_GPIO_NUM 32\n#define SIOD_GPIO_NUM 13\n#define SIOC_GPIO_NUM 12\n#define Y9_GPIO_NUM 39\n#define Y8_GPIO_NUM 36\n#define Y7_GPIO_NUM 23\n#define Y6_GPIO_NUM 18\n#define Y5_GPIO_NUM 15\n#define Y4_GPIO_NUM 4\n#define Y3_GPIO_NUM 14\n#define Y2_GPIO_NUM 5\n#define VSYNC_GPIO_NUM 27\n#define HREF_GPIO_NUM 25\n#define PCLK_GPIO_NUM 19<\/code><\/pre>\n\n\n\t\t<div data-elementor-type=\"section\" data-elementor-id=\"94673\" class=\"elementor elementor-94673\" data-elementor-post-type=\"elementor_library\">\n\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-2689e44b elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"2689e44b\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-7490d123\" data-id=\"7490d123\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-35934f78 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"35934f78\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-3de108d9\" data-id=\"3de108d9\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-5aca63ab elementor-widget elementor-widget-image\" data-id=\"5aca63ab\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/randomnerdtutorials.com\/esp32-cam-projects-ebook\/\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"334\" height=\"334\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/ESP32-CAM-eBook-334.jpg?fit=334%2C334&amp;quality=100&amp;strip=all&amp;ssl=1\" class=\"attachment-full size-full wp-image-94555\" alt=\"\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/ESP32-CAM-eBook-334.jpg?w=334&amp;quality=100&amp;strip=all&amp;ssl=1 334w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/ESP32-CAM-eBook-334.jpg?resize=300%2C300&amp;quality=100&amp;strip=all&amp;ssl=1 300w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/ESP32-CAM-eBook-334.jpg?resize=150%2C150&amp;quality=100&amp;strip=all&amp;ssl=1 150w\" sizes=\"(max-width: 334px) 100vw, 334px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-4bd084e0\" data-id=\"4bd084e0\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-517cf0fa elementor-widget elementor-widget-heading\" data-id=\"517cf0fa\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/randomnerdtutorials.com\/esp32-cam-projects-ebook\/\">[eBook] Build ESP32-CAM Projects using Arduino IDE<\/a><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3438ea70 elementor-hidden-phone elementor-widget elementor-widget-text-editor\" data-id=\"3438ea70\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Learn how to program and build 17 projects with the ESP32-CAM using Arduino IDE\u00a0<strong><a href=\"https:\/\/randomnerdtutorials.com\/esp32-cam-projects-ebook\/\" rel=\"noopener\">DOWNLOAD \u00bb<\/a><\/strong><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<div class=\"elementor-element elementor-element-674524a5 elementor-hidden-desktop elementor-hidden-tablet elementor-widget elementor-widget-text-editor\" data-id=\"674524a5\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Learn how to program and build 17 projects with the ESP32-CAM using Arduino IDE <strong><a href=\"https:\/\/randomnerdtutorials.com\/esp32-cam-projects-ebook\/\" rel=\"noopener\">DOWNLOAD \u00bb<\/a><\/strong><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t\n\n\n\n<h2 class=\"wp-block-heading\">Wrapping Up<\/h2>\n\n\n\n<p>Having the right pin definition for your ESP32 camera board is very important. Otherwise, your code won&#8217;t work or your board will <a href=\"https:\/\/randomnerdtutorials.com\/esp32-cam-troubleshooting-guide\/\">not initialize the camera<\/a>.<\/p>\n\n\n\n<p>We have several tutorials for the ESP32-CAM that may also be compatible with other ESP32 camera boards as long as you use the right pin definition in your code.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a rel=\"noreferrer noopener\" aria-label=\"ESP32-CAM Take Photo and Save to MicroSD Card (opens in a new tab)\" href=\"https:\/\/randomnerdtutorials.com\/esp32-cam-take-photo-save-microsd-card\/\" target=\"_blank\">ESP32-CAM Take Photo and Save to MicroSD Card<\/a><\/li>\n\n\n\n<li><a rel=\"noreferrer noopener\" aria-label=\"ESP32-CAM PIR Motion Detector with Photo Capture (saves to microSD card) (opens in a new tab)\" href=\"https:\/\/randomnerdtutorials.com\/esp32-cam-pir-motion-detector-photo-capture\/\" target=\"_blank\">ESP32-CAM PIR Motion Detector with Photo Capture<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/randomnerdtutorials.com\/esp32-cam-video-streaming-face-recognition-arduino-ide\/\">ESP32-CAM Video Streaming and Face Recognition with Arduino IDE<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/randomnerdtutorials.com\/esp32-cam-projects-ebook\/\"><strong>Build ESP32-CAM Projects (eBook)<\/strong><\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/randomnerdtutorials.com\/projects-esp32-cam\/\"><strong>Read all our ESP32-CAM Projects, Tutorials and Guides<\/strong><\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>ESP32 development boards with camera are becoming popular with the maker community. There are different models of ESP32 Camera boards with different features. Each ESP32 Camera dev board uses different &#8230; <\/p>\n<p class=\"read-more-container\"><a title=\"ESP32-CAM Camera Boards: Pin and GPIOs Assignment Guide\" class=\"read-more button\" href=\"https:\/\/randomnerdtutorials.com\/esp32-cam-camera-pin-gpios\/#more-94921\" aria-label=\"Read more about ESP32-CAM Camera Boards: Pin and GPIOs Assignment Guide\">CONTINUE READING \u00bb<\/a><\/p>\n","protected":false},"author":5,"featured_media":94960,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[281,276,277,319,264],"tags":[],"class_list":["post-94921","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-esp32-project","category-esp32","category-esp32-arduino-ide","category-esp32-cam","category-project"],"aioseo_notices":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2020\/03\/ESP32-CAM-Camera-Boards-Pin-GPIO-Assignment-Guide.jpg?fit=1280%2C720&quality=100&strip=all&ssl=1","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/posts\/94921","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/comments?post=94921"}],"version-history":[{"count":1,"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/posts\/94921\/revisions"}],"predecessor-version":[{"id":127787,"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/posts\/94921\/revisions\/127787"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/media\/94960"}],"wp:attachment":[{"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/media?parent=94921"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/categories?post=94921"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/tags?post=94921"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}