diff --git a/docs/hardware/01-light/esp32.mdx b/docs/hardware/01-light/esp32.mdx
deleted file mode 100644
index 08ebefa..0000000
--- a/docs/hardware/01-light/esp32.mdx
+++ /dev/null
@@ -1,30 +0,0 @@
----
-title: "ESP32"
-description: "How to setup the ESP32"
----
-
-To set up the ESP32 for use with 01, follow this guide to install the firmware:
-
-1. Download [Arduino IDE](https://www.arduino.cc/en/software).
-2. Get the firmware by copying the contents of [client.ino](https://github.com/OpenInterpreter/01/blob/main/software/source/clients/esp32/src/client/client.ino) from the 01 repository.
-3. Open Arduino IDE and paste the client.ino contents.
-4. Go to Tools -> Board -> Boards Manager, search "esp32", then install the boards by Arduino and Espressif.
-5. Go to Tools -> Manage Libraries, then install the following:
-
-- M5Atom by M5Stack [Reference](https://www.arduino.cc/reference/en/libraries/m5atom/)
-- WebSockets by Markus Sattler [Reference](https://www.arduino.cc/reference/en/libraries/websockets/)
-- AsyncTCP by dvarrel [Reference](https://github.com/dvarrel/AsyncTCP)
-- ESPAsyncWebServer by lacamera [Reference](https://github.com/lacamera/ESPAsyncWebServer)
-
-6. To flash the .ino to the board, connect the board to the USB port, select the port from the dropdown on the IDE, then select the M5Atom board (or M5Stack-ATOM if you have that). Click on upload to flash the board.
-
-Watch this video from Thomas for a step-by-step guide on flashing the ESP32 and connecting the 01.
-
-
diff --git a/docs/hardware/01-light/AsyncTCP by dvarrel.png b/docs/hardware/01-light/esp32/assets/AsyncTCP by dvarrel.png
similarity index 100%
rename from docs/hardware/01-light/AsyncTCP by dvarrel.png
rename to docs/hardware/01-light/esp32/assets/AsyncTCP by dvarrel.png
diff --git a/docs/hardware/01-light/ESPAsyncWebServer by lacamera.png b/docs/hardware/01-light/esp32/assets/ESPAsyncWebServer by lacamera.png
similarity index 100%
rename from docs/hardware/01-light/ESPAsyncWebServer by lacamera.png
rename to docs/hardware/01-light/esp32/assets/ESPAsyncWebServer by lacamera.png
diff --git a/docs/hardware/01-light/ESPAsyncWebServer-install-all.png b/docs/hardware/01-light/esp32/assets/ESPAsyncWebServer-install-all.png
similarity index 100%
rename from docs/hardware/01-light/ESPAsyncWebServer-install-all.png
rename to docs/hardware/01-light/esp32/assets/ESPAsyncWebServer-install-all.png
diff --git a/docs/hardware/01-light/M5-atom-library.png b/docs/hardware/01-light/esp32/assets/M5-atom-library.png
similarity index 100%
rename from docs/hardware/01-light/M5-atom-library.png
rename to docs/hardware/01-light/esp32/assets/M5-atom-library.png
diff --git a/docs/hardware/01-light/Select Board and Port.png b/docs/hardware/01-light/esp32/assets/Select Board and Port.png
similarity index 100%
rename from docs/hardware/01-light/Select Board and Port.png
rename to docs/hardware/01-light/esp32/assets/Select Board and Port.png
diff --git a/docs/hardware/01-light/Upload.png b/docs/hardware/01-light/esp32/assets/Upload.png
similarity index 100%
rename from docs/hardware/01-light/Upload.png
rename to docs/hardware/01-light/esp32/assets/Upload.png
diff --git a/docs/hardware/01-light/WebSockets by Markus Sattler.png b/docs/hardware/01-light/esp32/assets/WebSockets by Markus Sattler.png
similarity index 100%
rename from docs/hardware/01-light/WebSockets by Markus Sattler.png
rename to docs/hardware/01-light/esp32/assets/WebSockets by Markus Sattler.png
diff --git a/docs/hardware/01-light/boards-manager.png b/docs/hardware/01-light/esp32/assets/boards-manager.png
similarity index 100%
rename from docs/hardware/01-light/boards-manager.png
rename to docs/hardware/01-light/esp32/assets/boards-manager.png
diff --git a/docs/hardware/01-light/connect-usb.jpeg b/docs/hardware/01-light/esp32/assets/connect-usb.jpeg
similarity index 100%
rename from docs/hardware/01-light/connect-usb.jpeg
rename to docs/hardware/01-light/esp32/assets/connect-usb.jpeg
diff --git a/docs/hardware/01-light/copy-client.png b/docs/hardware/01-light/esp32/assets/copy-client.png
similarity index 100%
rename from docs/hardware/01-light/copy-client.png
rename to docs/hardware/01-light/esp32/assets/copy-client.png
diff --git a/docs/hardware/01-light/m5-atom-install-all.png b/docs/hardware/01-light/esp32/assets/m5-atom-install-all.png
similarity index 100%
rename from docs/hardware/01-light/m5-atom-install-all.png
rename to docs/hardware/01-light/esp32/assets/m5-atom-install-all.png
diff --git a/docs/hardware/01-light/paste-client.png b/docs/hardware/01-light/esp32/assets/paste-client.png
similarity index 100%
rename from docs/hardware/01-light/paste-client.png
rename to docs/hardware/01-light/esp32/assets/paste-client.png
diff --git a/docs/hardware/01-light/pasted-client.png b/docs/hardware/01-light/esp32/assets/pasted-client.png
similarity index 100%
rename from docs/hardware/01-light/pasted-client.png
rename to docs/hardware/01-light/esp32/assets/pasted-client.png
diff --git a/docs/hardware/01-light/esp32/esp32.mdx b/docs/hardware/01-light/esp32/esp32.mdx
new file mode 100644
index 0000000..bb7a358
--- /dev/null
+++ b/docs/hardware/01-light/esp32/esp32.mdx
@@ -0,0 +1,129 @@
+---
+title: "ESP32"
+description: "How to setup the ESP32"
+---
+
+To set up the ESP32 for use with 01, follow this guide to install the firmware:
+
+1. Download [Arduino IDE](https://www.arduino.cc/en/software).
+
+2. Get the firmware by copying the contents of [client.ino](https://github.com/OpenInterpreter/01/blob/main/software/source/clients/esp32/src/client/client.ino) from the 01 repository.
+
+