From db508b7ff5d1ca011d487b88591ee4725692272f Mon Sep 17 00:00:00 2001
From: Seth Kerr <thesethkerr@gmail.com>
Date: Sun, 23 Jun 2024 15:29:36 -0600
Subject: [PATCH 1/3] Add IcyBlue Feather

---
 .../boards/ODT_IcyBlue_Feather/info.json      |  3 ++
 .../boards/ODT_IcyBlue_Feather/pinout.json    | 31 ++++++++++++
 .../boards/ODT_IcyBlue_Feather/pinout.pcf     | 49 +++++++++++++++++++
 app/resources/boards/menu.json                |  2 +-
 app/views/menu.html                           |  4 ++
 5 files changed, 88 insertions(+), 1 deletion(-)
 create mode 100644 app/resources/boards/ODT_IcyBlue_Feather/info.json
 create mode 100644 app/resources/boards/ODT_IcyBlue_Feather/pinout.json
 create mode 100644 app/resources/boards/ODT_IcyBlue_Feather/pinout.pcf

diff --git a/app/resources/boards/ODT_IcyBlue_Feather/info.json b/app/resources/boards/ODT_IcyBlue_Feather/info.json
new file mode 100644
index 000000000..3bf08b480
--- /dev/null
+++ b/app/resources/boards/ODT_IcyBlue_Feather/info.json
@@ -0,0 +1,3 @@
+{"label":"icyBlue","datasheet":"https://github.com/Oak-Development-Technologies/IcyBlue/blob/main/Documentation/IcyBlue%20Feather%20V2%20Datasheet%20rev1a.docx",
+ "interface":"FTDI","FPGAResources": {"ffs":3520,"luts":3520,
+ "pios":27,"plbs":440,"brams":20}}
\ No newline at end of file
diff --git a/app/resources/boards/ODT_IcyBlue_Feather/pinout.json b/app/resources/boards/ODT_IcyBlue_Feather/pinout.json
new file mode 100644
index 000000000..35a14d852
--- /dev/null
+++ b/app/resources/boards/ODT_IcyBlue_Feather/pinout.json
@@ -0,0 +1,31 @@
+[{"type": "output", "name": "LED2", "value": "2"},
+ {"type": "output", "name": "LED3", "value": "3"},
+ {"type": "inout", "name": "P9", "value": "9"}, 
+ {"type": "inout", "name": "P6", "value": "6"}, 
+ {"type": "inout", "name": "P47", "value": "47"}, 
+ {"type": "inout", "name": "P46", "value": "46"}, 
+ {"type": "inout", "name": "P45", "value": "45"}, 
+ {"type": "inout", "name": "P44", "value": "44"}, 
+ {"type": "inout", "name": "P43", "value": "43"}, 
+ {"type": "inout", "name": "P42", "value": "42"}, 
+ {"type": "inout", "name": "P4", "value": "4"}, 
+ {"type": "inout", "name": "P38", "value": "38"}, 
+ {"type": "inout", "name": "P37", "value": "37"}, 
+ {"type": "inout", "name": "P25", "value": "25"}, 
+ {"type": "inout", "name": "P23", "value": "23"}, 
+ {"type": "inout", "name": "P21", "value": "21"}, 
+ {"type": "inout", "name": "P20", "value": "20"}, 
+ {"type": "inout", "name": "P19", "value": "19"}, 
+ {"type": "inout", "name": "P18", "value": "18"}, 
+ {"type": "inout", "name": "P13", "value": "13"}, 
+ {"type": "inout", "name": "P12", "value": "12"}, 
+ {"type": "inout", "name": "P11", "value": "11"}, 
+ {"type": "inout", "name": "P10", "value": "10"}, 
+ {"type": "output", "name": "LED_R", "value": "41"}, 
+ {"type": "output", "name": "LED_G", "value": "40"}, 
+ {"type": "output", "name": "LED_B", "value": "39"}, 
+ {"type": "inout", "name": "F_SSB", "value": "16"}, 
+ {"type": "inout", "name": "F_SCK", "value": "15"}, 
+ {"type": "inout", "name": "F_IO1", "value": "17"}, 
+ {"type": "inout", "name": "F_IO0", "value": "14"}, 
+ {"type": "inout", "name": "P48", "value": "P48"}]
\ No newline at end of file
diff --git a/app/resources/boards/ODT_IcyBlue_Feather/pinout.pcf b/app/resources/boards/ODT_IcyBlue_Feather/pinout.pcf
new file mode 100644
index 000000000..48d101e88
--- /dev/null
+++ b/app/resources/boards/ODT_IcyBlue_Feather/pinout.pcf
@@ -0,0 +1,49 @@
+# -----------------------------------------------------------------------------
+ #- IcyBlue Feather constraint file (.pcf)
+ #- By Seth Kerr
+ #- August - 2022
+ #- GPL license
+ # -----------------------------------------------------------------------------
+
+ # ------------ RGB LED Driver -------------------------------------------------
+ set_io --warn-no-port LED_B 39  # output
+ set_io --warn-no-port LED_G 40  # output
+ set_io --warn-no-port LED_R 41  # output
+
+
+ # ------------ User LEDS ------------------------------------------------------
+ set_io --warn-no-port LED2 2 # output
+ set_io --warn-no-port LED3 3 # output
+
+ # ------------ SPI Flash ------------------------------------------------------
+ set_io --warn-no-port F_SCK 15
+ set_io --warn-no-port F_SSB 16
+ set_io --warn-no-port F_IO0 14
+ set_io --warn-no-port F_IO1 17
+
+
+ # ------------ GPIO -----------------------------------------------------------
+ set_io --warn-no-port P4 4
+ set_io --warn-no-port P6 6
+ set_io --warn-no-port P9 9
+ set_io --warn-no-port P10 10
+ set_io --warn-no-port P11 11
+ set_io --warn-no-port P12 12
+ set_io --warn-no-port P13 13
+
+ set_io --warn-no-port P18 18
+ set_io --warn-no-port P19 19
+ set_io --warn-no-port P20 20
+ set_io --warn-no-port P21 21
+ set_io --warn-no-port P23 23
+ set_io --warn-no-port P25 25
+
+ set_io --warn-no-port P37 37
+ set_io --warn-no-port P38 38
+ set_io --warn-no-port P42 42
+ set_io --warn-no-port P43 43
+ set_io --warn-no-port P44 44
+ set_io --warn-no-port P45 45
+ set_io --warn-no-port P46 46
+ set_io --warn-no-port P47 47
+ set_io --warn-no-port P48 48
\ No newline at end of file
diff --git a/app/resources/boards/menu.json b/app/resources/boards/menu.json
index 13bfb1017..a42ffafc4 100644
--- a/app/resources/boards/menu.json
+++ b/app/resources/boards/menu.json
@@ -1 +1 @@
-[{"type":"HX1K","boards":["icezum","go-board","icestick"]},{"type":"HX8K","boards":["Alchitry-Cu","alhambra-ii","blackice","blackice-ii","blackice-mx","edu-ciaa-fpga","icoboard","kefir","iCE40-HX8K","icefun","iceWerx","ThetaMachines-ETH4K"]},{"type":"LP8K","boards":["TinyFPGA-B2","TinyFPGA-BX"]},{"type":"LP1K","boards":["iCESugar-nano"]},{"type":"UP5K","boards":["MCH2022_badge","iCEBreaker","iCEBreaker-bitsy0","iCEBreaker-bitsy1","upduino","upduino2","upduino21","upduino3","upduino31","fpga101","iCE40-UP5K","fomu","iCESugar_1_5","OK-iCE40Pro","pico-ice"]},{"type":"ECP5","boards":["ulx3s-12f","ulx3s-25f","ulx3s-45f","ulx3s-85f","Butterstick-r10-2g-85k","Butterstick-r10-2g-85k_(FT2232H)","Butterstick-r10-2g-85k_(FT232H)","orangecrab-r02-25f","orangecrab-r02-85f","ColorLight-5A-75B-V61","ColorLight-5A-75B-V7","ColorLight-5A-75B-V8","ColorLight-5A-75E-V6","ColorLight-5A-75E-V71_(FT2232H)","ColorLight-5A-75E-V71_(FT232H)","ColorLight-5A-75E-V71_(USB-Blaster)","ColorLight-i5-v7.0_(FT2232H)","ColorLight-i5-v7.0_(FT232H)","ColorLight-i5-v7.0_(USB-Blaster)","iCESugar-Pro_(FT2232H)","iCESugar-Pro_(FT232H)","iCESugar-Pro_(USB-Blaster)","FleaFPGA-Ohm_(FT2232H)","FleaFPGA-Ohm_(FT232H)","FleaFPGA-Ohm_(USB-Blaster)","ECP5-Evaluation-Board","ECP5-Mini-12_(FT2232H)","ECP5-Mini-25_(FT2232H)","ColorLight-i9-v7.2_(FT2232H)","ColorLight-i9-v7.2_(FT232H)","ColorLight-i9-v7.2_(USB-Blaster)"]}]
\ No newline at end of file
+[{"type":"HX1K","boards":["icezum","go-board","icestick"]},{"type":"HX8K","boards":["Alchitry-Cu","alhambra-ii","blackice","blackice-ii","blackice-mx","edu-ciaa-fpga","icoboard","kefir","iCE40-HX8K","icefun","iceWerx","ThetaMachines-ETH4K"]},{"type":"LP8K","boards":["TinyFPGA-B2","TinyFPGA-BX"]},{"type":"LP1K","boards":["iCESugar-nano"]},{"type":"U4K","boards":["ODT_IcyBlue_Feather"]},{"type":"UP5K","boards":["MCH2022_badge","iCEBreaker","iCEBreaker-bitsy0","iCEBreaker-bitsy1","upduino","upduino2","upduino21","upduino3","upduino31","fpga101","iCE40-UP5K","fomu","iCESugar_1_5","OK-iCE40Pro","pico-ice"]},{"type":"ECP5","boards":["ulx3s-12f","ulx3s-25f","ulx3s-45f","ulx3s-85f","Butterstick-r10-2g-85k","Butterstick-r10-2g-85k_(FT2232H)","Butterstick-r10-2g-85k_(FT232H)","orangecrab-r02-25f","orangecrab-r02-85f","ColorLight-5A-75B-V61","ColorLight-5A-75B-V7","ColorLight-5A-75B-V8","ColorLight-5A-75E-V6","ColorLight-5A-75E-V71_(FT2232H)","ColorLight-5A-75E-V71_(FT232H)","ColorLight-5A-75E-V71_(USB-Blaster)","ColorLight-i5-v7.0_(FT2232H)","ColorLight-i5-v7.0_(FT232H)","ColorLight-i5-v7.0_(USB-Blaster)","iCESugar-Pro_(FT2232H)","iCESugar-Pro_(FT232H)","iCESugar-Pro_(USB-Blaster)","FleaFPGA-Ohm_(FT2232H)","FleaFPGA-Ohm_(FT232H)","FleaFPGA-Ohm_(USB-Blaster)","ECP5-Evaluation-Board","ECP5-Mini-12_(FT2232H)","ECP5-Mini-25_(FT2232H)","ColorLight-i9-v7.2_(FT2232H)","ColorLight-i9-v7.2_(FT232H)","ColorLight-i9-v7.2_(USB-Blaster)"]}]
\ No newline at end of file
diff --git a/app/views/menu.html b/app/views/menu.html
index f088dfa90..5fdca563c 100644
--- a/app/views/menu.html
+++ b/app/views/menu.html
@@ -524,6 +524,10 @@
                    <li ng-repeat="board in common.boards">
                      <menuboard type="'LP8K'" board="board"></menuboard>
                    </li>
+                   <li><a><b>U4K</b></a></li>
+                   <li ng-repeat="board in common.boards">
+                     <menuboard type="'U4K'" board="board"></menuboard>
+                   </li>
                    <li><a><b>UP5K</b></a></li>
                    <li ng-repeat="board in common.boards">
                      <menuboard type="'UP5K'" board="board"></menuboard>

From 4275028ecbe3b5b110f6ca85cba50c85e77389dd Mon Sep 17 00:00:00 2001
From: Seth Kerr <thesethkerr@gmail.com>
Date: Sun, 23 Jun 2024 15:41:14 -0600
Subject: [PATCH 2/3] Add RPGA Feather

---
 .../boards/ODT_IcyBlue_Feather/pinout.json    |  2 +-
 .../boards/ODT_IcyBlue_Feather/pinout.pcf     |  2 +-
 .../boards/ODT_RPGA_Feather/info.json         |  3 ++
 .../boards/ODT_RPGA_Feather/pinout.json       | 17 +++++++++
 .../boards/ODT_RPGA_Feather/pinout.pcf        | 36 +++++++++++++++++++
 app/resources/boards/menu.json                |  2 +-
 6 files changed, 59 insertions(+), 3 deletions(-)
 create mode 100644 app/resources/boards/ODT_RPGA_Feather/info.json
 create mode 100644 app/resources/boards/ODT_RPGA_Feather/pinout.json
 create mode 100644 app/resources/boards/ODT_RPGA_Feather/pinout.pcf

diff --git a/app/resources/boards/ODT_IcyBlue_Feather/pinout.json b/app/resources/boards/ODT_IcyBlue_Feather/pinout.json
index 35a14d852..732378d58 100644
--- a/app/resources/boards/ODT_IcyBlue_Feather/pinout.json
+++ b/app/resources/boards/ODT_IcyBlue_Feather/pinout.json
@@ -28,4 +28,4 @@
  {"type": "inout", "name": "F_SCK", "value": "15"}, 
  {"type": "inout", "name": "F_IO1", "value": "17"}, 
  {"type": "inout", "name": "F_IO0", "value": "14"}, 
- {"type": "inout", "name": "P48", "value": "P48"}]
\ No newline at end of file
+ {"type": "inout", "name": "P48", "value": "48"}]
\ No newline at end of file
diff --git a/app/resources/boards/ODT_IcyBlue_Feather/pinout.pcf b/app/resources/boards/ODT_IcyBlue_Feather/pinout.pcf
index 48d101e88..5590965bf 100644
--- a/app/resources/boards/ODT_IcyBlue_Feather/pinout.pcf
+++ b/app/resources/boards/ODT_IcyBlue_Feather/pinout.pcf
@@ -1,7 +1,7 @@
 # -----------------------------------------------------------------------------
  #- IcyBlue Feather constraint file (.pcf)
  #- By Seth Kerr
- #- August - 2022
+ #- June - 2024
  #- GPL license
  # -----------------------------------------------------------------------------
 
diff --git a/app/resources/boards/ODT_RPGA_Feather/info.json b/app/resources/boards/ODT_RPGA_Feather/info.json
new file mode 100644
index 000000000..b42112be4
--- /dev/null
+++ b/app/resources/boards/ODT_RPGA_Feather/info.json
@@ -0,0 +1,3 @@
+{"label":"RPGA Feather","datasheet":"https://github.com/Oak-Development-Technologies/RPGA%20Feather/",
+ "interface":"MCU","FPGAResources": {"ffs":3520,"luts":3520,
+ "pios":27,"plbs":440,"brams":20}}
\ No newline at end of file
diff --git a/app/resources/boards/ODT_RPGA_Feather/pinout.json b/app/resources/boards/ODT_RPGA_Feather/pinout.json
new file mode 100644
index 000000000..6d4641357
--- /dev/null
+++ b/app/resources/boards/ODT_RPGA_Feather/pinout.json
@@ -0,0 +1,17 @@
+[{"type": "inout", "name": "pico16", "value": "2"},
+ {"type": "inout", "name": "pico17", "value": "3"},
+ {"type": "inout", "name": "pico19", "value": "6"},
+ {"type": "inout", "name": "pico20", "value": "48"}
+ {"type": "inout", "name": "pico6", "value": "47"}, 
+ {"type": "inout", "name": "pico11", "value": "46"}, 
+ {"type": "inout", "name": "pico10", "value": "45"},  
+ {"type": "inout", "name": "pico18", "value": "4"}, 
+ {"type": "output", "name": "LED_R", "value": "41"}, 
+ {"type": "output", "name": "LED_G", "value": "40"}, 
+ {"type": "output", "name": "LED_B", "value": "39"}, 
+ {"type": "inout", "name": "F_SSB", "value": "16"}, 
+ {"type": "inout", "name": "F_SCK", "value": "15"}, 
+ {"type": "inout", "name": "F_IO1", "value": "17"}, 
+ {"type": "inout", "name": "F_IO0", "value": "14"},
+ {"type": "inout", "name": "edge[0]", "value": "20"},
+ {"type": "inout", "name": "edge[1]", "value": "13"}]
\ No newline at end of file
diff --git a/app/resources/boards/ODT_RPGA_Feather/pinout.pcf b/app/resources/boards/ODT_RPGA_Feather/pinout.pcf
new file mode 100644
index 000000000..4ef54e6a1
--- /dev/null
+++ b/app/resources/boards/ODT_RPGA_Feather/pinout.pcf
@@ -0,0 +1,36 @@
+# -----------------------------------------------------------------------------
+ #- RPGA Feather constraint file (.pcf)
+ #- By Seth Kerr
+ #- June - 2024
+ #- GPL license
+ # -----------------------------------------------------------------------------
+
+ # ------------ RGB LED Driver -------------------------------------------------
+ set_io --warn-no-port LED_B 39  # output
+ set_io --warn-no-port LED_G 40  # output
+ set_io --warn-no-port LED_R 41  # output
+
+ set_io RGB[2] 41
+ set_io RGB[1] 40
+ set_io RGB[0] 39
+
+ # ------------ SPI Flash ------------------------------------------------------
+ set_io --warn-no-port F_SCK 15
+ set_io --warn-no-port F_SSB 16
+ set_io --warn-no-port F_IO0 14
+ set_io --warn-no-port F_IO1 17
+
+ # ------------ GPIO -----------------------------------------------------------
+ set_io --warn-no-port clk 2
+ set_io --warn-no-port pico16 2
+ set_io --warn-no-port pico17 3
+ set_io --warn-no-port pico18 4
+ set_io --warn-no-port pico19 6
+
+ set_io --warn-no-port pico20 48
+ set_io --warn-no-port pico6 47
+ set_io --warn-no-port pico11 46
+ set_io --warn-no-port pico10 45
+
+ set_io edge[1] 13
+ set_io edge[0] 20
\ No newline at end of file
diff --git a/app/resources/boards/menu.json b/app/resources/boards/menu.json
index a42ffafc4..e6a97f56d 100644
--- a/app/resources/boards/menu.json
+++ b/app/resources/boards/menu.json
@@ -1 +1 @@
-[{"type":"HX1K","boards":["icezum","go-board","icestick"]},{"type":"HX8K","boards":["Alchitry-Cu","alhambra-ii","blackice","blackice-ii","blackice-mx","edu-ciaa-fpga","icoboard","kefir","iCE40-HX8K","icefun","iceWerx","ThetaMachines-ETH4K"]},{"type":"LP8K","boards":["TinyFPGA-B2","TinyFPGA-BX"]},{"type":"LP1K","boards":["iCESugar-nano"]},{"type":"U4K","boards":["ODT_IcyBlue_Feather"]},{"type":"UP5K","boards":["MCH2022_badge","iCEBreaker","iCEBreaker-bitsy0","iCEBreaker-bitsy1","upduino","upduino2","upduino21","upduino3","upduino31","fpga101","iCE40-UP5K","fomu","iCESugar_1_5","OK-iCE40Pro","pico-ice"]},{"type":"ECP5","boards":["ulx3s-12f","ulx3s-25f","ulx3s-45f","ulx3s-85f","Butterstick-r10-2g-85k","Butterstick-r10-2g-85k_(FT2232H)","Butterstick-r10-2g-85k_(FT232H)","orangecrab-r02-25f","orangecrab-r02-85f","ColorLight-5A-75B-V61","ColorLight-5A-75B-V7","ColorLight-5A-75B-V8","ColorLight-5A-75E-V6","ColorLight-5A-75E-V71_(FT2232H)","ColorLight-5A-75E-V71_(FT232H)","ColorLight-5A-75E-V71_(USB-Blaster)","ColorLight-i5-v7.0_(FT2232H)","ColorLight-i5-v7.0_(FT232H)","ColorLight-i5-v7.0_(USB-Blaster)","iCESugar-Pro_(FT2232H)","iCESugar-Pro_(FT232H)","iCESugar-Pro_(USB-Blaster)","FleaFPGA-Ohm_(FT2232H)","FleaFPGA-Ohm_(FT232H)","FleaFPGA-Ohm_(USB-Blaster)","ECP5-Evaluation-Board","ECP5-Mini-12_(FT2232H)","ECP5-Mini-25_(FT2232H)","ColorLight-i9-v7.2_(FT2232H)","ColorLight-i9-v7.2_(FT232H)","ColorLight-i9-v7.2_(USB-Blaster)"]}]
\ No newline at end of file
+[{"type":"HX1K","boards":["icezum","go-board","icestick"]},{"type":"HX8K","boards":["Alchitry-Cu","alhambra-ii","blackice","blackice-ii","blackice-mx","edu-ciaa-fpga","icoboard","kefir","iCE40-HX8K","icefun","iceWerx","ThetaMachines-ETH4K"]},{"type":"LP8K","boards":["TinyFPGA-B2","TinyFPGA-BX"]},{"type":"LP1K","boards":["iCESugar-nano"]},{"type":"U4K","boards":["ODT_IcyBlue_Feather", "ODT_RPGA_Feather"]},{"type":"UP5K","boards":["MCH2022_badge","iCEBreaker","iCEBreaker-bitsy0","iCEBreaker-bitsy1","upduino","upduino2","upduino21","upduino3","upduino31","fpga101","iCE40-UP5K","fomu","iCESugar_1_5","OK-iCE40Pro","pico-ice"]},{"type":"ECP5","boards":["ulx3s-12f","ulx3s-25f","ulx3s-45f","ulx3s-85f","Butterstick-r10-2g-85k","Butterstick-r10-2g-85k_(FT2232H)","Butterstick-r10-2g-85k_(FT232H)","orangecrab-r02-25f","orangecrab-r02-85f","ColorLight-5A-75B-V61","ColorLight-5A-75B-V7","ColorLight-5A-75B-V8","ColorLight-5A-75E-V6","ColorLight-5A-75E-V71_(FT2232H)","ColorLight-5A-75E-V71_(FT232H)","ColorLight-5A-75E-V71_(USB-Blaster)","ColorLight-i5-v7.0_(FT2232H)","ColorLight-i5-v7.0_(FT232H)","ColorLight-i5-v7.0_(USB-Blaster)","iCESugar-Pro_(FT2232H)","iCESugar-Pro_(FT232H)","iCESugar-Pro_(USB-Blaster)","FleaFPGA-Ohm_(FT2232H)","FleaFPGA-Ohm_(FT232H)","FleaFPGA-Ohm_(USB-Blaster)","ECP5-Evaluation-Board","ECP5-Mini-12_(FT2232H)","ECP5-Mini-25_(FT2232H)","ColorLight-i9-v7.2_(FT2232H)","ColorLight-i9-v7.2_(FT232H)","ColorLight-i9-v7.2_(USB-Blaster)"]}]
\ No newline at end of file

From 47e2ab464ef2fbf9ccb23481023fbeb81a1fca4b Mon Sep 17 00:00:00 2001
From: Seth Kerr <thesethkerr@gmail.com>
Date: Sun, 23 Jun 2024 15:51:35 -0600
Subject: [PATCH 3/3] fix info.json for both boards

---
 .../boards/ODT_IcyBlue_Feather/info.json         | 16 +++++++++++++---
 app/resources/boards/ODT_RPGA_Feather/info.json  | 15 ++++++++++++---
 2 files changed, 25 insertions(+), 6 deletions(-)

diff --git a/app/resources/boards/ODT_IcyBlue_Feather/info.json b/app/resources/boards/ODT_IcyBlue_Feather/info.json
index 3bf08b480..b7aeb59f1 100644
--- a/app/resources/boards/ODT_IcyBlue_Feather/info.json
+++ b/app/resources/boards/ODT_IcyBlue_Feather/info.json
@@ -1,3 +1,13 @@
-{"label":"icyBlue","datasheet":"https://github.com/Oak-Development-Technologies/IcyBlue/blob/main/Documentation/IcyBlue%20Feather%20V2%20Datasheet%20rev1a.docx",
- "interface":"FTDI","FPGAResources": {"ffs":3520,"luts":3520,
- "pios":27,"plbs":440,"brams":20}}
\ No newline at end of file
+{"label":"icyBlue",
+ "device":"U4K",
+ "datasheet":"https://github.com/Oak-Development-Technologies/IcyBlue/blob/main/Documentation/IcyBlue%20Feather%20V2%20Datasheet%20rev1a.docx",
+ "interface":"FTDI",
+ "FPGAResources": 
+ {
+    "ffs":3520,
+    "luts":3520,
+    "pios":27,
+    "plbs":440,
+    "brams":20
+    }
+}
\ No newline at end of file
diff --git a/app/resources/boards/ODT_RPGA_Feather/info.json b/app/resources/boards/ODT_RPGA_Feather/info.json
index b42112be4..1c86470ab 100644
--- a/app/resources/boards/ODT_RPGA_Feather/info.json
+++ b/app/resources/boards/ODT_RPGA_Feather/info.json
@@ -1,3 +1,12 @@
-{"label":"RPGA Feather","datasheet":"https://github.com/Oak-Development-Technologies/RPGA%20Feather/",
- "interface":"MCU","FPGAResources": {"ffs":3520,"luts":3520,
- "pios":27,"plbs":440,"brams":20}}
\ No newline at end of file
+{"label":"RPGA Feather",
+ "device":"U4K",
+ "datasheet":"https://github.com/Oak-Development-Technologies/RPGA%20Feather/",
+ "interface":"MCU",
+ "FPGAResources": {
+    "ffs":3520,
+    "luts":3520,
+    "pios":12,
+    "plbs":440,
+    "brams":20
+    }
+}
\ No newline at end of file