|
|
Line 1: |
Line 1: |
− | [[File:tindie-mediums.png|link=https://www.tindie.com/products/land_boards/esp32-vga-keyboard-mouse-card-pcb-only/]]
| + | == GPS Projects == |
| | | |
− | <video type="youtube">RuGWCMFNtms</video>
| + | * [[USB-GPS-Hammond]] - The USB-GPS layed out to fit into a standard Hammond enclosure |
| + | * [[USB-GPS]] - USB GPS tracker |
| | | |
− | [[File:P968-cropped-720pxV.jpg]]
| + | == One-Wire == |
| | | |
− | == Features ==
| + | * [[One Wire Data Logger]] |
| | | |
− | * [[ESP32]] Module
| + | == Microprocessors == |
− | * 6-bit VGA color
| |
− | ** 2:2:2 R:G:B
| |
− | * 2 x PS-2 DIN connectors
| |
− | ** 5V mouse/keyboard
| |
− | ** 3.3V to 5V level shifters
| |
− | *** Better than 5V keyboard with series resistors
| |
− | ** 10K pull-ups on both sides
| |
− | * 2 x FTDI connectors
| |
− | * 5V DC Jack
| |
− | * 3.3V regulator (optional)
| |
− | * GVS pins for extra ESP32 pins
| |
− | * 95x95mm form factor
| |
− | * 6-32 mounting holes
| |
| | | |
− | === ESP-32 Module ===
| + | * [[STM32]] |
| | | |
− | * Uses the [https://circuits4you.com/2018/12/31/esp32-devkit-esp32-wroom-gpio-pinout/ ESP32 DevKit ESP32-WROOM GPIO Pinout]
| + | == Raspberry Pi Cluster == |
− | * On board Blue LED = Arduino Pin 2
| |
− | * There are various modules out there with different pinouts, but this card uses this one
| |
| | | |
− | [[File:ESP32_MODULE-720PX.jpg]] | + | * [[Raspberry Pi Cluster]] |
| | | |
− | === ESP-32 Module Pinout === | + | == Board and Arduino Code Applications == |
| | | |
− | [[File:ESP32-Pinout.jpg]]
| + | * 4WD |
− | | + | * [[ANSI Terminals]] |
− | === "Chip" on the module ===
| + | * Arduino/AVR Programmers |
− | | + | * AVR Disassembly |
− | [[File:esp32-pinout-chip-ESP-WROOM-32.png]]
| + | * BrewStation |
− | | + | * Window Fan controller |
− | ==== ESP32 Pin Usage - Rev 1 ====
| + | * GPS |
− | | + | * GPSDuino |
− | [[File:ESP-32_VGA_Pinout.PNG]]
| + | * Host side code to read USB-GPS |
− | | + | * MDI Project |
− | ==== ESP32 Pin Usage - Rev 2 ====
| + | * Raspberry Pi Camera |
− | | + | * OBD II - Arduino car automation |
− | [[File:ESP-32_VGA_Pinout_Rev2.PNG]]
| + | * One Wire Datalogger |
− | | + | * Open Data Acquisition System |
− | === Module Features ===
| + | * Raspberry Pi Cluster |
− | | + | * Raspberry Pi Case - NES style |
− | * Architecture: Xtensa Dual-Core 32-bit LX6
| + | * STM32F405_PyBoard_Clone |
− | * CPU frequency: up to 240MHz
| + | * [[Serial Terminal]] |
− | * Total RAM available: 528KB (part of it reserved for system)
| + | * Software Defined Radio (SDR) |
− | * BootROM: 448KB
| + | * STM32 |
− | * Internal FlashROM: none
| + | * Theremin |
− | * External FlashROM: code and data, via SPI Flash; usual size 4MB
| + | * Wake Up - power line monitoring |
− | * GPIO: 34 (GPIOs are multiplexed with other functions, including external FlashROM, UART, etc.)
| |
− | * UART: 3 RX/TX UART (no hardware handshaking), one TX-only UART
| |
− | * SPI: 4 SPI interfaces (one used for FlashROM)
| |
− | * I2C: 2 I2C (bitbang implementation available on any pins)
| |
− | * I2S: 2
| |
− | * ADC: 12-bit SAR ADC up to 18 channels | |
− | * DAC: 2 8-bit DACs
| |
− | * RMT: 8 channels allowing accurate pulse transmit/receive
| |
− | * Programming: using BootROM bootloader from UART - due to external FlashROM and always-available BootROM bootloader, the ESP32 is not brickable
| |
− | | |
− | == Video DAC LTSpice Simulation ==
| |
− | | |
− | * [https://github.com/land-boards/lb-boards/tree/master/ESP32/ESP32-VGA/Docs/Simulation Video DAC Simulation files] | |
− | * Video is 2:2:2 - R:G:B
| |
− | | |
− | === Summing Resistor DAC ===
| |
− | | |
− | * 5% resistors are "good enough"
| |
− | * 1V into 75 Ohm VGA load
| |
− | * 3.3V drive
| |
− | * ESP32 has [https://www.esp32.com/viewtopic.php?t=5840 40 mA drive]
| |
− | ** Uses 10 mA (max)
| |
− | ** R4 = 1.2 mA to -10 mA
| |
− | ** R3 = 1.1 mA to -5.3 mA
| |
− | * Output in 4 steps
| |
− | ** 0V
| |
− | ** 0.3V
| |
− | ** 0.65V
| |
− | ** 0.96V
| |
− | | |
− | [[File:VGA_Sim_2R.PNG]]
| |
− | | |
− | == Headers (Rev 1 board) ==
| |
− | | |
− | === H1 - 3.3V SRC select ===
| |
− | | |
− | [[File:H1_3p3V_Select.png]]
| |
− | | |
− | * 1-2 = Get 3.3V from ESP32 on-board regulator | |
− | * 2-3 = Get 3.3V from on-board regulator (Default)
| |
− | | |
− | === H2 - 5V SRC Select Jumper (Rev 1 Board) ===
| |
− | | |
− | * 5V power options for the 5V to 3.3V regulator | |
− | | |
− | [[File:H2_5V_Select.png]]
| |
− | | |
− | * 2x4 header | |
− | * Care must be taken to install the correct jumpers | |
− | * USB jumper sends out 5V when a USB cable is connected to the ESP32 module | |
− | | |
− | ==== Power from DC Jack ====
| |
− | | |
− | * '''Do not connect USB cable when the DC jack is used''' | |
− | * 1-2 = VUSB - Install - Power to ESP32 | |
− | * 3-4 = DCIN - Install - Power comes from DC jack
| |
− | * 5-6 = FTDI5V_1 - Do not install
| |
− | * 7-8 = FTDI5V_2 - Do not install
| |
− | | |
− | ==== Power from USB on ESP32 module ====
| |
− | | |
− | * 1-2 = VUSB - Install - 5V comes from USB on ESP32 module
| |
− | * 3-4 = DCIN - Do not install | |
− | * 5-6 = FTDI5V_1 - Do not install | |
− | * 7-8 = FTDI5V_2 - Do not install | |
− | | |
− | ==== Power from FTDI #1 (Rev 1) ====
| |
− | | |
− | * '''Do not use this position with "most" FTDI cards since they will drive 5V on the Rx/Tx pins when the FTDI jumper is set to 5V''' | |
− | | |
− | ==== Power from FTDI #2 ====
| |
− | | |
− | * '''Do not use this position with "most" FTDI cards since they will drive 5V on the Rx/Tx pins when the FTDI jumper is set to 5V''' | |
− | | |
− | == Connectors (Rev 1 board) ==
| |
− | | |
− | === P2/P4 = GVS - Rev 1 ===
| |
− | | |
− | * Ground/Voltage/Signal lines | |
− | | |
− | # GPIO13
| |
− | # GPIO14
| |
− | # GPIO16
| |
− | # GPIO17
| |
− | # GPIO35
| |
− | # GPIO34
| |
− | # VN
| |
− | # VP
| |
− | | |
− | === P3 - VGA - Rev 1 ===
| |
− | | |
− | * ESP32 pins | |
− | | |
− | * This table is incorrect - it has the Lower/Higher bits swapped
| |
− | <pre>
| |
− | HSync => GPIO23
| |
− | VSync => GPIO15
| |
− | R0 => GPIO22
| |
− | R1 => GPIO21
| |
− | G0 => GPIO19
| |
− | G1 => GPIO18
| |
− | B0 => GPIO5
| |
− | B1 => GPIO4
| |
− | </pre>
| |
− | | |
− | === J2 - FTDI #1 - Rev 1 ===
| |
− | | |
− | # GND
| |
− | # RTS (Not used)
| |
− | # 5V (Power in if [[ESP32-VGA#H2_-_5V_SRC_Select_Jumper|H2 is configured]])
| |
− | # RX (from card to External FTDI)
| |
− | # TX (from External FTDI to card)
| |
− | # CTS (Not used)
| |
− | | |
− | ==== Connect to FTDI card - Rev 1 ====
| |
− | | |
− | * Set FTDI jumper to 3.3V (unlike picture below) | |
− | * Cross-over pins 4 and 5 when connecting to FTDI card (Rev 1 only) | |
− | | |
− | [[File:FTDI_rot.jpg]] | |
− | | |
− | === J6 - FTDI #2 - Rev 1 ===
| |
− | | |
− | * Rev 1 board won't program or boot with FDTI #2 card attached
| |
− | * This interface is in common with the USB-to-Serial interface on the ESP32 module
| |
− | | |
− | # GND
| |
− | # RTS (Not used)
| |
− | # 5V (Power in if [[ESP32-VGA#H2_-_5V_SRC_Select_Jumper|H2 is configured]])
| |
− | # TX2 (from card to External FTDI)
| |
− | # RX2 (from External FTDI to card)
| |
− | # CTS (Not used)
| |
− | | |
− | * Requires a cross-over of the Transmit and Receive pins if directly connecting to an FTDI part
| |
− | * Earlier versions of the FabGL schematics used pin 12 for RX
| |
− | * Most recent (2020-02) ANSI terminal uses pin 34
| |
− | * Board won't boot with an FTDI interface attached and USB cable attached
| |
− | ** This is an issue for the ANSI Terminal sketch
| |
− | * Original pins were (Rev 1 matches original)
| |
− | | |
− | <pre>
| |
− | RX2 => 12
| |
− | TX2 => 2
| |
− | </pre>
| |
− | | |
− | Here's why using pin 12 is a bad idea:
| |
− | <pre>
| |
− | GPIO12 (MTDI) is used as a bootstrapping pin to select output voltage of an internal regulator which powers the flash chip (VDD_SDIO). This pin has an internal pulldown so if left unconnected it will read low at reset (selecting default 3.3V operation).</pre>
| |
− | | |
− | ==== UART2 Rework ====
| |
− | | |
− | * The easiest way to do this is to wire the FTDI to GPIO34 pin instead of pin J6-5
| |
− | ** Not pretty, but it does work fine
| |
− | * This is what is needed to permanently rework the board
| |
− | * Rework is only needed to run "stock" FabGL code that uses the UART2 port on the ESP32 (like the ansi terminal)
| |
− | * Cut trace/adding jumper to rev 1 board
| |
− | ** Route to GPIO34
| |
− | * Cut as follows (cut in white)
| |
− | | |
− | [[File:GPIO12_Cut.PNG]]
| |
− | | |
− | * Add wire as follows (add wire in white) | |
− | | |
− | [[File:GPIO34_Add.PNG]]
| |
− | | |
− | * [2020-01-20] Tested rework on card and it worked | |
− | | |
− | ==== Connect to FTDI card - Rev 1 ====
| |
− | | |
− | * Set FTDI jumper to 3.3V | |
− | * Cross-over pins 4 and 5 when connecting to FTDI card (Rev 1 only) | |
− | | |
− | [[File:FTDI_rot.jpg]]
| |
− | | |
− | === J3 - PS/2 Keyboard - Rev 1 ===
| |
− | | |
− | * Purple DIN 6 connector
| |
− | * ESP32 pins
| |
− | | |
− | <pre>
| |
− | DAT => 32
| |
− | CLK => 33
| |
− | </pre>
| |
− | | |
− | === J4 - PS/2 Mouse - Rev 1 ===
| |
− | | |
− | * DIN 6 connector
| |
− | * ESP32 pins
| |
− | | |
− | <pre>
| |
− | DAT => 27
| |
− | CLK => 26
| |
− | </pre>
| |
− | | |
− | === J5 - Audio Out - RCA Jack - Rev 1 ===
| |
− | | |
− | * ESP32 pins
| |
− | | |
− | <pre>
| |
− | AUD => 25
| |
− | </pre>
| |
− | | |
− | === J15 - 5mm Terminal Block - Rev 1 ===
| |
− | | |
− | * 5V
| |
− | * Gnd
| |
− | | |
− | == Headers (Rev 2 board) ==
| |
− | | |
− | * The Rev 2 board changes around headers and connectors
| |
− | | |
− | === H1 - 5V - Rev 2 ===
| |
− | | |
− | * The ESP32-VGA can be powered from either the DC Jack or ESP32 USB power
| |
− | * '''Warning: Do not power from 5V Power jack and connect USB cable to the ESP32 module at the same time'''
| |
− | ** The ESP32 module has blocking diode to protect the module
| |
− | *** If the 5V DC jack has a power supply attached with lower voltage it could result in the supplied being shorted between the USB 5V and the DC power jack
| |
− | *** This is not an issue if the DC power jack is disconnected
| |
− | * This could be used for an external power switch
| |
− | | |
− | === H2/H3 - GVS - Rev 2 ===
| |
− | | |
− | * 3x4 header
| |
− | * Ground/Voltage/Signal lines
| |
− | | |
− | # GPIO35
| |
− | # GPIO12
| |
− | # VN/I39
| |
− | # VP/I36
| |
− | | |
− | == Connectors (Rev 2 board) ==
| |
− | | |
− | === P1 - PS/2 Mouse - Rev 2 ===
| |
− | | |
− | * DIN 6 connector
| |
− | * ESP32 pins
| |
− | | |
− | <pre>
| |
− | DAT => GPIO27
| |
− | CLK => GPIO26
| |
− | </pre>
| |
− | | |
− | === P2 - PS/2 Keyboard - Rev 2 ===
| |
− | | |
− | * Purple DIN 6 connector
| |
− | * ESP32 pins
| |
− | | |
− | <pre>
| |
− | DAT => GPIO32
| |
− | CLK => GPIO33
| |
− | </pre>
| |
− | | |
− | === P3 - VGA - Rev 2 ===
| |
− | | |
− | * ESP32 pins
| |
− | * This table is incorrect - it has the video bits reversed
| |
− | | |
− | <pre>
| |
− | HSync => GPIO23
| |
− | VSync => GPIO15
| |
− | R0 => GPIO22
| |
− | R1 => GPIO21
| |
− | G0 => GPIO19
| |
− | G1 => GPIO18
| |
− | B0 => GPIO5
| |
− | B1 => GPIO4
| |
− | </pre>
| |
− | | |
− | === P4 - Audio Out - RCA Jack - Rev 2 ===
| |
− | | |
− | * ESP32 pins
| |
− | | |
− | <pre>
| |
− | AUD => GPIO25
| |
− | </pre>
| |
− | | |
− | === J1 - 5V Power - Rev 2 ===
| |
− | | |
− | * Center +5V
| |
− | | |
− | === J2 - FTDI #1 - Rev 2 ===
| |
− | | |
− | * This interface is in common with the USB-to-Serial interface on the ESP32 module
| |
− | * Pinout
| |
− | | |
− | # GND
| |
− | # RTS (Not used)
| |
− | # 5V (Not used)
| |
− | # RX (from card to External FTDI)
| |
− | # TX (from External FTDI to card)
| |
− | # CTS (Not used)
| |
− | | |
− | <pre>
| |
− | RX => GPIO3
| |
− | TX => GPIO1
| |
− | </pre>
| |
− | | |
− | ==== Connect to FTDI card - Rev 2 ====
| |
− | | |
− | * Set FTDI jumper to 3.3V
| |
− | | |
− | [[File:FTDI_rot.jpg]]
| |
− | | |
− | === J3 - FTDI #2 - Rev 2 ===
| |
− | | |
− | * Most recent (2020-02) ANSI terminal uses pin 34 for Rx
| |
− | * Pinout
| |
− | | |
− | # GND
| |
− | # RTS (Not used)
| |
− | # 5V (Power in if [[ESP32-VGA#H2_-_5V_SRC_Select_Jumper|H2 is configured]])
| |
− | # RX (from External FTDI to ESP32 card)
| |
− | # TX (from ESP32 card to External FTDI)
| |
− | # CTS (Not used)
| |
− | | |
− | <pre>
| |
− | RX2 => GPIO34
| |
− | TX2 => GPIO2
| |
− | </pre>
| |
− | | |
− | ==== Connect to FTDI card - Rev 2 ====
| |
− | | |
− | * Set FTDI jumper to 3.3V (image below shows jumper set to 5V which is wrong)
| |
− | | |
− | [[File:FTDI_rot.jpg]]
| |
− | | |
− | === J4 - SD Card - Rev 2 ===
| |
− | | |
− | * Brought to GVS header pins (Rev 1)
| |
− | * Brought to SD Card (Rev 2)
| |
− | | |
− | <pre>
| |
− | MOSI => GPIO17
| |
− | MISO => GPIO16
| |
− | CLK => GPIO14
| |
− | CS => GPIO13
| |
− | </pre>
| |
− | | |
− | == VGA - Resistor Selection ==
| |
− | | |
− | * ESP32 has a 3.3V driver which can drive more than 10 mA
| |
− | * Ideal case drive current
| |
− | ** 0.7V (full scale VGA level) into 75 Ohms = 9.33 mA
| |
− | ** 2/3 of the current or 6.16 mA comes from the lower value resistor (digital most significant bit)
| |
− | ** 1/3 of the current or 3.08 mA comes from the higher value resistor (digital least significant bit)
| |
− | * R-2R values
| |
− | ** Ideal resistor values are 417.9 ohms and 835.7 ohms
| |
− | ** [http://www.brannonelectronics.com/images/STANDARD%20VALUE.pdf Standard value 1% resistors]
| |
− | ** 1% standard values are [https://www.mouser.com/ProductDetail/652-CR0805FX-4220ELF 422 (Mouser)], [https://www.mouser.com/ProductDetail/603-RC0805FR-07845RL 845 (Mouser)] Ohms
| |
− | *** Get closest values
| |
− | *** 0V, 0.228V, 0.460V, 0.693V
| |
− | * Voltage steps are:
| |
− | | |
− | [[File:VGA_Sim_2R_Voltage.PNG]]
| |
− | | |
− | * Current steps are:
| |
− | | |
− | [[File:VGA_Sim_2R_Current.PNG]]
| |
− | | |
− | == FabGL GPIOs assignment summary - fabgl dev board rev2 ==
| |
− | | |
− | [https://github.com/fdivitto/FabGL/blob/master/fabgl%20GPIOs%20assignment.txt From here]
| |
− | | |
− | | |
− | === I2C (not usable with VGA) ===
| |
− | | |
− | <pre>
| |
− | SDA => GPIO4 (conflicts with VGA B1)
| |
− | SCL => GPIO15 (conflicts with VGA VSync)
| |
− | </pre>
| |
− | | |
− | === SPI Display - VSPI (not usable with VGA) ===
| |
− | | |
− | <pre>
| |
− | CLK => GPIO18 (conflicts with VGA G1)
| |
− | MISO => GPIO19 (conflicts with VGA G0)
| |
− | MOSI => GPIO23 (conflicts with VGA HSync)
| |
− | CS => GPIO5 (conflicts with VGA B0)
| |
− | D/C => GPIO22 (conflicts with VGA R0)
| |
− | RESET => GPIO21 (conflicts with VGA R1)
| |
− | </pre>
| |
− | | |
− | == Software ==
| |
− | | |
− | === Arduino Programming ===
| |
− | | |
− | * Board : "DOIT ESP32 DEVKIT V1"
| |
− | | |
− | [[File:Ardino_ESP32.png]]
| |
− | === FabGL ===
| |
− | | |
− | * Display Controller features/applications
| |
− | ** VGA
| |
− | ** SSD1306
| |
− | ** PS/2 Mouse and Keyboard Controller
| |
− | ** Graphics Library
| |
− | ** Sound Engine
| |
− | ** Game Engine
| |
− | ** ANSI/VT Terminal for the ESP32
| |
− | | |
− | ==== FabGL Libraries ====
| |
− | | |
− | * [http://www.fabglib.org FabGL] - ESP32 Display Controller and Graphics Library
| |
− | * [https://github.com/fdivitto/fabgl FabGL Github repo]
| |
− | | |
− | ==== FabGL Arduino library ====
| |
− | | |
− | Installing the released library
| |
− | | |
− | [[File:FabGL_Library.PNG]]
| |
− | | |
− | ==== Using Latest FabGL builds ====
| |
− | | |
− | Here's how I did it
| |
− | | |
− | # Install drivers via Arduino from the Library Manager. These are not the latest files. Space Invaders should run but not have sound (as of now because it's the older version).
| |
− | # Move the FabGL from the Arduino libraries file folder to the desktop.
| |
− | # Copy the FabGL from the GitHub download to the Arduino files folder (where you removed the other folder).
| |
− | # Examples will now be the latest.
| |
− | # Compile/download/test the new files. You know it works if you now get sound from Space Invaders.
| |
− | # Save as where you would normally save your Arduino sketches.
| |
− | | |
− | === MicroPython ===
| |
− | | |
− | * [https://micropython.org MicroPython Homepage]
| |
− | ** [http://docs.micropython.org/en/latest/esp32/quickref.html Quick reference for the ESP32]
| |
− | ** [http://docs.micropython.org/en/latest/esp32/general.html General information about the ESP32 port]
| |
− | ** [http://docs.micropython.org/en/latest/esp32/tutorial/intro.html Getting started with MicroPython on the ESP32]
| |
− | * [https://github.com/land-boards/lb-Python-Code/tree/master/MicroPython/ESP32 GitHub repo] (MicroPython)
| |
− | ** [https://github.com/land-boards/lb-Python-Code/tree/master/MicroPython/ESP32/examples Examples] (MicroPython)
| |
− | ** [https://github.com/land-boards/lb-Python-Code/tree/master/MicroPython/ESP32/libraries Libraries] (MicroPython)
| |
− | | |
− | === ESP-IDF ===
| |
− | | |
− | * [https://docs.espressif.com/projects/esp-idf/en/latest/index.html ESP-IDF Programming Guide]
| |
− | | |
− | === Operating Systems ===
| |
− | | |
− | * [https://www.freertos.org FreeRTOS]
| |
− | * [https://docs.zerynth.com/latest/official/board.zerynth.doit_esp32/docs/index.html ESP32 DevKit v1]
| |
− | * [https://github.com/Nicholas3388/LuaNode LuaNode]
| |
− | * [https://github.com/espressif/arduino-esp32/issues/544 ESP32 DEVKITV1 module schematics] (also helpful discussion)
| |
− | | |
− | == Schematic ==
| |
− | | |
− | * [http://land-boards.com/ESP32-VGA/ESP-32_VGA_Rev1_Schematic.pdf ESP32 VGA Rev 1 Schematic]
| |
− | * [http://land-boards.com/ESP32-VGA/ESP32-VGA_Rev2_Schematic.pdf ESP32 VGA Rev 2 Schematic]
| |
− | * [https://www.espressif.com/sites/default/files/documentation/esp32-wroom-32_datasheet_en.pdf ESP32-WROOM-32 Datasheet]
| |
− | * [https://github.com/land-boards/lb-boards/blob/master/ESP32/ESP32-Hub/Parts_/SchematicsforESP32.pdf ESP32 Module schematic]
| |
− | | |
− | == Rev 2 Changes ==
| |
− | | |
− | [[File:ESP32-VGA_CAD_REV2-bw.PNG]]
| |
− | | |
− | * '''Rev 1 board won't program or boot with FDTI #2 card attached'''
| |
− | ** Earlier FabGL had GPIO12 instead of GPIO34
| |
− | ** Move FTDI Rx line (GPIO12 to GPIO34)
| |
− | * Swap FTDI pins 4 and 5 (FTDI connectors)
| |
− | ** Allow direct connect to FTDI card (no swap)
| |
− | * Add SD Card connector
| |
− | ** MISO => GPIO 16
| |
− | ** MOSI => GPIO 17
| |
− | ** CLK => GPIO 14
| |
− | ** CS => GPIO 13
| |
− | ** Remove I/O pins from GVS connector
| |
− | * Replace H1/H2 with 1x2 to select/remove DC jack power\
| |
− | * Remove Polysilicone fuse
| |
− | * Change ESP32 board name silkscreen
| |
− | * Add SD card connector
| |
− | | |
− | == Prototype ==
| |
− | | |
− | * [[ESP32-I2C-HUB]]
| |
− | * [[VGAX49]]
| |
− | * [[PS2X49]]
| |
− | ** Purple = Keyboard
| |
− | ** Green = Mouse
| |
− | * [[CARRIER95TO49MM|95mm to 49mm Adapter card]]
| |
− | * 6-32/4-40 Standoffs, screws, nuts
| |
− | * Cabling
| |
− | | |
− | [[File:FabGL_P905-512pxV.jpg]]
| |
− | | |
− | == Assembly Sheet ==
| |
− | | |
− | * [[ESP32-VGA Rev 2 Assembly Sheet]]
| |
− | * [[ESP-32-VGA Rev 1 Assembly Sheet]]
| |