Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ jobs:
- PI_PICOW
- PI_PICO2W
- RP2040_ZERO
- RP2040_XIAO
- ADAFRUIT_FEATHER
- ESP32_BLUEPAD32_I2C
- ESP32_BLUERETRO_I2C
Expand Down
7 changes: 6 additions & 1 deletion Firmware/RP2040/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,11 @@ elseif(OGXM_BOARD STREQUAL "RP2040_ZERO")
set(EN_USB_HOST TRUE)
set(EN_RGB TRUE)

elseif(OGXM_BOARD STREQUAL "RP2040_XIAO")
add_compile_definitions(CONFIG_OGXM_BOARD_RP2040_XIAO=1)
set(EN_USB_HOST TRUE)
set(EN_RGB TRUE)

# elseif(OGXM_BOARD STREQUAL "INTERNAL_4CH")
# set(EN_USB_HOST TRUE)
# set(EN_4CH TRUE)
Expand Down Expand Up @@ -406,4 +411,4 @@ endif()

set_target_properties(${FW_NAME} PROPERTIES OUTPUT_NAME ${EXE_FILENAME})

pico_add_extra_outputs(${FW_NAME})
pico_add_extra_outputs(${FW_NAME})
24 changes: 16 additions & 8 deletions Firmware/RP2040/src/Board/Config.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,14 @@

#define PI_PICO 0
#define RP2040_ZERO 1
#define ADAFRUIT_FEATHER 2
#define PI_PICOW 3
#define ESP32_BLUEPAD32_I2C 4
#define ESP32_BLUERETRO_I2C 5
#define EXTERNAL_4CH_I2C 6
#define INTERNAL_4CH_I2C 7
#define BOARDS_COUNT 8
#define RP2040_XIAO 2
#define ADAFRUIT_FEATHER 3
#define PI_PICOW 4
#define ESP32_BLUEPAD32_I2C 5
#define ESP32_BLUERETRO_I2C 6
#define EXTERNAL_4CH_I2C 7
#define INTERNAL_4CH_I2C 8
#define BOARDS_COUNT 9

#define SYSCLOCK_KHZ 240000

Expand All @@ -31,6 +32,13 @@
#define PIO_USB_DP_PIN 10 // DM = 11
#define LED_INDICATOR_PIN 14

#elif defined(CONFIG_OGXM_BOARD_RP2040_XIAO)
#define OGXM_BOARD RP2040_XIAO
#define RGB_PXL_PIN 12
#define RGB_PWR_PIN 11
#define PIO_USB_DP_PIN 0 // DM = 1
#define LED_INDICATOR_PIN 17

#elif defined(CONFIG_OGXM_BOARD_ADAFRUIT_FEATHER)
#define OGXM_BOARD ADAFRUIT_FEATHER
#define RGB_PWR_PIN 20
Expand Down Expand Up @@ -126,4 +134,4 @@
}
#endif // defined(PIO_USB_DP_PIN)

#endif // _BOARD_CONFIG_H_
#endif // _BOARD_CONFIG_H_
4 changes: 2 additions & 2 deletions Firmware/RP2040/src/OGXMini/Board/Standard.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#include "Board/Config.h"
#include "OGXMini/Board/Standard.h"
#if ((OGXM_BOARD == PI_PICO) || (OGXM_BOARD == RP2040_ZERO) || (OGXM_BOARD == ADAFRUIT_FEATHER))
#if ((OGXM_BOARD == PI_PICO) || (OGXM_BOARD == RP2040_ZERO) || (OGXM_BOARD == RP2040_XIAO) || (OGXM_BOARD == ADAFRUIT_FEATHER))

#include <pico/multicore.h>

Expand Down Expand Up @@ -131,4 +131,4 @@ void standard::run() {
// void standard::initialize() {}
// void standard::run() {}

#endif // OGXM_BOARD == PI_PICO || OGXM_BOARD == RP2040_ZERO || OGXM_BOARD == ADAFRUIT_FEATHER
#endif // OGXM_BOARD == PI_PICO || OGXM_BOARD == RP2040_ZERO || OGXM_BOARD == ADAFRUIT_FEATHER
7 changes: 6 additions & 1 deletion Firmware/RP2040/src/OGXMini/OGXMini.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ namespace OGXMini {
static constexpr InitFunc init_func[BOARDS_COUNT] = {
standard::initialize, // PI_PICO
standard::initialize, // RP2040_ZERO
standard::initialize, // RP2040_XIAO
standard::initialize, // ADAFRUIT_FEATHER
pico_w::initialize, // PI_PICOW
esp32_bp32_i2c::initialize, // ESP32_BLUEPAD32_I2C
Expand All @@ -27,6 +28,7 @@ namespace OGXMini {
static constexpr RunFunc run_func[BOARDS_COUNT] = {
standard::run, // PI_PICO
standard::run, // RP2040_ZERO
standard::run, // RP2040_XIAO
standard::run, // ADAFRUIT_FEATHER
pico_w::run, // PI_PICOW
esp32_bp32_i2c::run, // ESP32_BLUEPAD32_I2C
Expand All @@ -38,6 +40,7 @@ namespace OGXMini {
static constexpr HostMountedFunc host_mount_func[BOARDS_COUNT] = {
standard::host_mounted, // PI_PICO
standard::host_mounted, // RP2040_ZERO
standard::host_mounted, // RP2040_XIAO
standard::host_mounted, // ADAFRUIT_FEATHER
nullptr, // PI_PICOW
nullptr, // ESP32_BLUEPAD32_I2C
Expand All @@ -49,6 +52,7 @@ namespace OGXMini {
static constexpr HostMountedWTypeFunc host_mount_w_type_func[BOARDS_COUNT] = {
nullptr, // PI_PICO
nullptr, // RP2040_ZERO
nullptr, // RP2040_XIAO
nullptr, // ADAFRUIT_FEATHER
nullptr, // PI_PICOW
nullptr, // ESP32_BLUEPAD32_I2C
Expand All @@ -60,6 +64,7 @@ namespace OGXMini {
static constexpr WirelessConnectedFunc wl_conn_func[BOARDS_COUNT] = {
nullptr, // PI_PICO
nullptr, // RP2040_ZERO
nullptr, // RP2040_XIAO
nullptr, // ADAFRUIT_FEATHER
nullptr, // PI_PICOW
nullptr, // ESP32_BLUEPAD32_I2C
Expand Down Expand Up @@ -100,4 +105,4 @@ namespace OGXMini {
}
}

} // namespace OGXMini
} // namespace OGXMini
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,7 @@ The options are:
- ```PI_PICOW```
- ```PI_PICO2W```
- ```RP2040_ZERO```
- ```RP2040_XIAO```
- ```ADAFRUIT_FEATHER```
- ```ESP32_BLUEPAD32_I2C```
- ```ESP32_BLUERETRO_I2C```
Expand Down
5 changes: 4 additions & 1 deletion hardware/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,7 @@ Gerber, BOM, and schematic for an RP2040-Zero interposer board you can make your

The RP2040-Zero board can be found on Amazon and AliExpress.

![OGX-Mini Boards](../images/OGX-Mini-rpzero-int.jpg "OGX-Mini Boards")
# RP2040-Xiao
![OGX-Mini](../images/DiagramRP2040Xiao.png)

![OGX-Mini Boards](../images/OGX-Mini-rpzero-int.jpg "OGX-Mini Boards")
Binary file added images/DiagramRP2040Xiao.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.