Skip to content

Commit 062bc40

Browse files
committed
boards: Add support for FoBE IDEA Mesh Tracker C1
This commit introduces the necessary files and configurations for the FoBE IDEA Mesh Tracker C1 board, including board definitions, pin mappings, and makefile settings. Signed-off-by: Chiho Sin <[email protected]>
1 parent a7d6ccb commit 062bc40

File tree

4 files changed

+123
-0
lines changed

4 files changed

+123
-0
lines changed
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
// This file is part of the CircuitPython project: https://circuitpython.org
2+
//
3+
// SPDX-FileCopyrightText: Copyright (c) 2017 Scott Shawcroft for Adafruit Industries
4+
//
5+
// SPDX-License-Identifier: MIT
6+
7+
#include "supervisor/board.h"
8+
9+
// Use the MP_WEAK supervisor/shared/board.c versions of routines not defined here.
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
// This file is part of the CircuitPython project: https://circuitpython.org
2+
//
3+
// SPDX-FileCopyrightText: Copyright (c) 2025 FoBE Studio
4+
//
5+
// SPDX-License-Identifier: MIT
6+
7+
#pragma once
8+
9+
#include "nrfx/hal/nrf_gpio.h"
10+
11+
#define MICROPY_HW_BOARD_NAME "FoBE IDEA Mesh Tracker C1"
12+
#define MICROPY_HW_MCU_NAME "nRF52840"
13+
14+
#define MICROPY_HW_LED_STATUS (&pin_P1_11)
15+
16+
#define BOARD_HAS_CRYSTAL 1
17+
18+
#define DEFAULT_I2C_BUS_SCL (&pin_P0_27)
19+
#define DEFAULT_I2C_BUS_SDA (&pin_P0_07)
20+
21+
#define DEFAULT_SPI_BUS_SCK (&pin_P0_23)
22+
#define DEFAULT_SPI_BUS_MOSI (&pin_P0_21)
23+
#define DEFAULT_SPI_BUS_MISO (&pin_P0_19)
24+
25+
#define DEFAULT_UART_BUS_RX (&pin_P1_00)
26+
#define DEFAULT_UART_BUS_TX (&pin_P0_24)
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
USB_VID = 0x1209
2+
USB_PID = 0x0008
3+
USB_PRODUCT = "FoBE IDEA Mesh Tracker C1"
4+
USB_MANUFACTURER = "FoBE Studio"
5+
SOFTDEV_VERSION=7.0.1
6+
7+
MCU_CHIP = nrf52840
8+
9+
INTERNAL_FLASH_FILESYSTEM = 1
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
// This file is part of the CircuitPython project: https://circuitpython.org
2+
//
3+
// SPDX-FileCopyrightText: Copyright (c) 2025 FoBE Studio
4+
//
5+
// SPDX-License-Identifier: MIT
6+
7+
#include "shared-bindings/board/__init__.h"
8+
9+
static const mp_rom_map_elem_t board_module_globals_table[] = {
10+
CIRCUITPYTHON_BOARD_DICT_STANDARD_ITEMS
11+
12+
{ MP_ROM_QSTR(MP_QSTR_A0), MP_ROM_PTR(&pin_P0_03) },
13+
{ MP_ROM_QSTR(MP_QSTR_A1), MP_ROM_PTR(&pin_P0_28) },
14+
{ MP_ROM_QSTR(MP_QSTR_A2), MP_ROM_PTR(&pin_P0_02) },
15+
{ MP_ROM_QSTR(MP_QSTR_A3), MP_ROM_PTR(&pin_P0_29) },
16+
{ MP_ROM_QSTR(MP_QSTR_A4), MP_ROM_PTR(&pin_P0_31) },
17+
{ MP_ROM_QSTR(MP_QSTR_A5), MP_ROM_PTR(&pin_P0_30) },
18+
19+
{ MP_ROM_QSTR(MP_QSTR_VOLTAGE_MONITOR), MP_ROM_PTR(&pin_P0_05) },
20+
{ MP_ROM_QSTR(MP_QSTR_BATTERY), MP_ROM_PTR(&pin_P0_05) },
21+
{ MP_ROM_QSTR(MP_QSTR_CHARGING), MP_ROM_PTR(&pin_P1_12) },
22+
23+
{ MP_ROM_QSTR(MP_QSTR_PERI_POWER), MP_ROM_PTR(&pin_P0_16) },
24+
{ MP_ROM_QSTR(MP_QSTR_GNSS_POWER), MP_ROM_PTR(&pin_P0_26) },
25+
26+
{ MP_ROM_QSTR(MP_QSTR_NFC1), MP_ROM_PTR(&pin_P0_09) },
27+
{ MP_ROM_QSTR(MP_QSTR_NFC2), MP_ROM_PTR(&pin_P0_10) },
28+
29+
{ MP_ROM_QSTR(MP_QSTR_SCK), MP_ROM_PTR(&pin_P0_20) },
30+
{ MP_ROM_QSTR(MP_QSTR_MOSI), MP_ROM_PTR(&pin_P0_22) },
31+
{ MP_ROM_QSTR(MP_QSTR_MISO), MP_ROM_PTR(&pin_P0_24) },
32+
33+
{ MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_P1_09) },
34+
{ MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_P0_12) },
35+
36+
{ MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_P0_27) },
37+
{ MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_P0_07) },
38+
39+
{ MP_ROM_QSTR(MP_QSTR_L), MP_ROM_PTR(&pin_P1_11) },
40+
{ MP_ROM_QSTR(MP_QSTR_LED), MP_ROM_PTR(&pin_P1_11) },
41+
{ MP_ROM_QSTR(MP_QSTR_BLUE_LED), MP_ROM_PTR(&pin_P1_11) },
42+
43+
{ MP_ROM_QSTR(MP_QSTR_MFP1), MP_ROM_PTR(&pin_P0_19) },
44+
{ MP_ROM_QSTR(MP_QSTR_MFP2), MP_ROM_PTR(&pin_P0_21) },
45+
{ MP_ROM_QSTR(MP_QSTR_MFP3), MP_ROM_PTR(&pin_P0_23) },
46+
{ MP_ROM_QSTR(MP_QSTR_MFP4), MP_ROM_PTR(&pin_P0_25) },
47+
48+
{ MP_ROM_QSTR(MP_QSTR_LORA_MOSI), MP_ROM_PTR(&pin_P0_22) },
49+
{ MP_ROM_QSTR(MP_QSTR_LORA_SCK), MP_ROM_PTR(&pin_P0_20) },
50+
{ MP_ROM_QSTR(MP_QSTR_LORA_MISO), MP_ROM_PTR(&pin_P0_24) },
51+
{ MP_ROM_QSTR(MP_QSTR_LORA_NSS), MP_ROM_PTR(&pin_P1_08) },
52+
{ MP_ROM_QSTR(MP_QSTR_LORA_RST), MP_ROM_PTR(&pin_P0_13) },
53+
{ MP_ROM_QSTR(MP_QSTR_LORA_BUSY), MP_ROM_PTR(&pin_P0_15) },
54+
{ MP_ROM_QSTR(MP_QSTR_LORA_DIO1), MP_ROM_PTR(&pin_P0_17) },
55+
{ MP_ROM_QSTR(MP_QSTR_LORA_RXEN), MP_ROM_PTR(&pin_P0_11) },
56+
57+
{ MP_ROM_QSTR(MP_QSTR_BUZZER), MP_ROM_PTR(&pin_P0_14) },
58+
{ MP_ROM_QSTR(MP_QSTR_ENC_A), MP_ROM_PTR(&pin_P1_06) },
59+
{ MP_ROM_QSTR(MP_QSTR_ENC_B), MP_ROM_PTR(&pin_P1_02) },
60+
{ MP_ROM_QSTR(MP_QSTR_ENC_S), MP_ROM_PTR(&pin_P1_04) },
61+
{ MP_ROM_QSTR(MP_QSTR_BTN), MP_ROM_PTR(&pin_P1_00) },
62+
63+
{ MP_ROM_QSTR(MP_QSTR_GNSS_RST), MP_ROM_PTR(&pin_P0_04) },
64+
{ MP_ROM_QSTR(MP_QSTR_GNSS_PPS), MP_ROM_PTR(&pin_P0_08) },
65+
{ MP_ROM_QSTR(MP_QSTR_GNSS_WAKE), MP_ROM_PTR(&pin_P0_06) },
66+
{ MP_ROM_QSTR(MP_QSTR_GNSS_RX), MP_ROM_PTR(&pin_P0_12) },
67+
{ MP_ROM_QSTR(MP_QSTR_GNSS_TX), MP_ROM_PTR(&pin_P1_09) },
68+
69+
{ MP_ROM_QSTR(MP_QSTR_MOT_POWER), MP_ROM_PTR(&pin_P1_15) },
70+
{ MP_ROM_QSTR(MP_QSTR_MOT_INT), MP_ROM_PTR(&pin_P1_14) },
71+
{ MP_ROM_QSTR(MP_QSTR_MOT_SDA), MP_ROM_PTR(&pin_P1_10) },
72+
{ MP_ROM_QSTR(MP_QSTR_MOT_SCL), MP_ROM_PTR(&pin_P1_13) },
73+
74+
{ MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) },
75+
{ MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) },
76+
{ MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) },
77+
};
78+
79+
MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table);

0 commit comments

Comments
 (0)