@@ -12,13 +12,23 @@ Arduino boards serve as the primary I/O bridge in the NEXUS architecture, interf
1212
1313## Supported Arduino Boards
1414
15- | Board | CPU | Clock | Flash | RAM | UARTs | Digital Pins | Analog Pins |
16- | ---| ---| ---| ---| ---| ---| ---| ---|
17- | ** Uno R3** | ATmega328P | 16 MHz | 32 KB | 2 KB | 1 | 14 | 6 |
18- | ** Mega 2560** | ATmega2560 | 16 MHz | 256 KB | 8 KB | 4 | 54 | 16 |
19- | ** Nano** | ATmega328P | 16 MHz | 32 KB | 2 KB | 1 | 22 | 8 |
20- | ** Due** | AT91SAM3X8E | 84 MHz | 512 KB | 96 KB | 4 | 54 | 12 |
21- | ** Leonardo** | ATmega32U4 | 16 MHz | 32 KB | 2.5 KB | 1 (+USB) | 20 | 12 |
15+ | Board | CPU | Architecture | Clock | Flash | RAM | UARTs | Digital Pins | Analog Pins | Voltage | Config Module |
16+ | ---| ---| ---| ---| ---| ---| ---| ---| ---| ---| ---|
17+ | ** Uno R3** | ATmega328P | AVR 8-bit | 16 MHz | 32 KB | 2 KB | 1 | 14 | 6 | 5.0 V | ` config_uno.py ` |
18+ | ** Mega 2560** | ATmega2560 | AVR 8-bit | 16 MHz | 256 KB | 8 KB | 4 | 54 | 16 | 5.0 V | ` config_mega.py ` |
19+ | ** Nano** | ATmega328P | AVR 8-bit | 16 MHz | 32 KB | 2 KB | 1 | 22 | 8 | 5.0 V | ` config_nano.py ` |
20+ | ** Due** | AT91SAM3X8E | ARM Cortex-M3 | 84 MHz | 512 KB | 96 KB | 4 | 54 | 12 | 3.3 V | ` config_due.py ` |
21+ | ** MKR WiFi 1010** | SAMD21G18A | ARM Cortex-M0+ | 48 MHz | 256 KB | 32 KB | 1 | 22 | 7 | 3.3 V | ` config_mkr_wifi.py ` |
22+ | ** Nano 33 IoT** | SAMD21G18A | ARM Cortex-M0+ | 48 MHz | 256 KB | 32 KB | 1 | 20 | 8 | 3.3 V | ` config_nano33_iot.py ` |
23+
24+ ### Board Selection Guide
25+
26+ - ** Uno R3** — Best for simple single-sensor experiments and prototyping
27+ - ** Mega 2560** — Ideal for multi-sensor arrays requiring 4 UARTs and 54 GPIO
28+ - ** Nano** — Compact breadboard-friendly form factor with extended analog inputs (A0–A7)
29+ - ** Due** — High-performance ARM Cortex-M3 for edge computing, sensor fusion, PID control
30+ - ** MKR WiFi 1010** — WiFi/BLE connectivity for wireless sensor gateway applications
31+ - ** Nano 33 IoT** — Ultra-compact WiFi/BLE mesh node for distributed sensor fleets
2232
2333---
2434
@@ -42,8 +52,8 @@ print(f"GPS : TX=D{cfg.pin_mapping.GPS_TX} RX=D{cfg.pin_mapping.GPS_RX}")
4252```
4353
4454- ** Preamble** : ` 0xAA 0x55 ` (configurable)
45- - ** Max frame size** : 256 bytes
46- - ** Heartbeat interval** : 500 ms (configurable per board)
55+ - ** Max frame size** : 256 bytes (Uno/Nano), 512 bytes (Due/MKR)
56+ - ** Heartbeat interval** : 250– 500 ms (configurable per board)
4757
4858---
4959
@@ -92,6 +102,64 @@ print(f"GPS : TX=D{cfg.pin_mapping.GPS_TX} RX=D{cfg.pin_mapping.GPS_RX}")
92102| ESP / Companion | D16 (TX2) / D17 (RX2) | Serial2 | NEXUS backbone link |
93103| Aux Serial | D14 (TX3) / D15 (RX3) | Serial3 | Payload comms |
94104
105+ ### Arduino Due — High-Performance Edge Layout
106+
107+ | Function | Pin | Interface | Notes |
108+ | ---| ---| ---| ---|
109+ | GPS | D19/D18 | Serial1 | Dedicated UART |
110+ | IMU #1 | D20/D21 | I2C (Wire) | Primary IMU |
111+ | IMU #2 | SDA1/SCL1 | I2C (Wire1) | Extended I2C header |
112+ | Sonar Array | D22–D29 | GPIO | Up to 4 sonar modules |
113+ | Temperature ×4 | A0–A3 | Analog / 1-Wire | Multi-zone monitoring |
114+ | Pressure | A4 | Analog / I2C | Depth sensor |
115+ | Water Quality | A5 | Analog | Turbidity / dissolved O2 |
116+ | DAC0 / DAC1 | DAC0/DAC1 | Analog Out | Direct analog control |
117+ | Thrusters ×4 | D34–D37 | PWM | 4-axis thruster control |
118+ | Companion | D16/D17 | Serial2 | NEXUS backbone |
119+ | Aux Serial | D14/D15 | Serial3 | Payload comms |
120+ | Relays | D30–D31 | GPIO | Power management |
121+
122+ ### Arduino Nano — Compact Sensor Node Layout
123+
124+ | Function | Pin | Interface | Notes |
125+ | ---| ---| ---| ---|
126+ | GPS | D0/D1 | UART | Shared with USB (SoftwareSerial) |
127+ | IMU | A4/A5 | I2C | Default I2C pins |
128+ | Sonar | D7/D8 | GPIO | HC-SR04 |
129+ | Temperature | A0 | Analog | NTC / DS18B20 |
130+ | Pressure | A1 | Analog / I2C | Depth sensor |
131+ | Extra ADC | A2–A3 | Analog | Extended analog inputs |
132+ | Servo | D9 | PWM | Rudder control |
133+ | Thruster | D10 | PWM | ESC / thruster driver |
134+ | LED | D13 | GPIO | Onboard LED |
135+
136+ ### Arduino MKR WiFi 1010 — Wireless Sensor Gateway
137+
138+ | Function | Pin | Interface | Notes |
139+ | ---| ---| ---| ---|
140+ | GPS | D13/D14 | Serial1 | Dedicated UART |
141+ | IMU | D11/D12 | I2C | Standard I2C |
142+ | Sonar | D6/D7 | GPIO | HC-SR04 |
143+ | Temperature | A0 | Analog / 1-Wire | NTC / DS18B20 |
144+ | Pressure | A1 | I2C | MS5837 |
145+ | Servos | D4/D5 | PWM | Dual servo control |
146+ | SPI | D5/D8-D10 | SPI | External peripherals |
147+ | WiFi | NINA-W102 | WiFi/BLE | u-blox module |
148+
149+ ### Arduino Nano 33 IoT — Wireless Mesh Sensor Node
150+
151+ | Function | Pin | Interface | Notes |
152+ | ---| ---| ---| ---|
153+ | GPS | D0/D1 | Serial1 | Hardware UART |
154+ | IMU | A4/A5 | I2C | External + built-in LSM6DS3 |
155+ | Sonar | D7/D8 | GPIO | HC-SR04 |
156+ | Temperature | A0 | Analog / 1-Wire | NTC / DS18B20 |
157+ | Pressure | A1 | I2C | MS5837 |
158+ | Servo | D9 | PWM | Single servo |
159+ | Thruster | D3 | PWM | ESC control |
160+ | LED | D13 + RGB | GPIO | Status + RGB indicator |
161+ | WiFi/BLE | NINA-W102 | WiFi/BLE | Mesh networking |
162+
95163---
96164
97165## Getting Started
@@ -105,22 +173,37 @@ pip install nexus-runtime
105173### 2. Import and configure your board
106174
107175``` python
108- from nexus. hardware.arduino import get_board_config, list_supported_boards
176+ from hardware.arduino import get_board_config, list_supported_boards
109177
110178# List all supported boards
111179boards = list_supported_boards()
112- print (boards) # ['uno ', 'mega', 'nano', 'due ', 'leonardo ']
180+ print (boards) # ['due ', 'leonardo', 'mkr_wifi', ' mega', 'nano', 'nano33_iot ', 'uno ']
113181
114182# Get Uno configuration
115183uno = get_board_config(" uno" )
116184print (uno.serial_config) # SerialConfig(baud_rate=115200, ...)
117185print (uno.pin_mapping.GPS_TX ) # 0
186+
187+ # Get Due configuration (high-performance edge node)
188+ due = get_board_config(" due" )
189+ print (due.board_config.clock_hz) # 84_000_000
190+ print (due.nexus_edge.edge_processing_enabled) # True
191+
192+ # Get MKR WiFi 1010 configuration (wireless gateway)
193+ mkr = get_board_config(" mkr_wifi" )
194+ print (mkr.wifi_config.wifi_enabled) # True
195+ print (mkr.nexus_bridge.bridge_protocol) # MQTT
196+
197+ # Get Nano 33 IoT configuration (mesh sensor node)
198+ nano_iot = get_board_config(" nano33_iot" )
199+ print (nano_iot.wifi_config.low_power_mode) # True
200+ print (nano_iot.nexus_mesh.mesh_enabled) # True
118201```
119202
120203### 3. Configure sensor drivers
121204
122205``` python
123- from nexus. hardware.arduino.sensor_drivers import (
206+ from hardware.arduino.sensor_drivers import (
124207 GPSSensorConfig, IMUSensorConfig, SonarConfig
125208)
126209
@@ -159,21 +242,34 @@ print("NEXUS link established.")
159242┌───────────────────────────────────────────────┐
160243│ NEXUS Central Hub │
161244│ (Raspberry Pi / Jetson / PC) │
162- └──────────────┬───────────────────┬────────────┘
163- │ 115200 UART │ 115200 UART
164- ┌──────┴──────┐ ┌───────┴───────┐
165- │ Arduino Mega │ │ Arduino Uno │
166- │ (Sensors) │ │ (Actuators) │
167- │ GPS, IMU, │ │ Servos, │
168- │ Sonars, Temp │ │ Thrusters │
169- └──────────────┘ └───────────────┘
245+ └──────────┬───────────────────┬───────────────┘
246+ │ 115200 UART │ WiFi/MQTT
247+ ┌───────┴──────┐ ┌────────┴─────────┐
248+ │ Arduino Mega │ │ MKR WiFi 1010 │
249+ │ (Sensors) │ │ (WiFi Gateway) │
250+ │ GPS, IMU, │ │ WiFi/BLE Mesh │
251+ │ Sonars, Temp │ │ OTA Updates │
252+ └──────────────┘ └─────────────────┘
253+ │ 115200 UART │ WiFi/BLE Mesh
254+ ┌───────┴──────┐ ┌────────┴─────────┐
255+ │ Arduino Due │ │ Nano 33 IoT │
256+ │ (Edge CPU) │ │ (Sensor Node) │
257+ │ Sensor Fusion│ │ GPS, Temp, │
258+ │ PID Control │ │ Sonar, IMU │
259+ └──────────────┘ └─────────────────┘
260+ │ 115200 UART
261+ ┌───────┴──────┐
262+ │ Arduino Nano │
263+ │ (Compact I/O│
264+ │ + Extra ADC)│
265+ └──────────────┘
170266```
171267
172268---
173269
174270## Keywords
175271
176- arduino, marine robotics, NEXUS, AUV, ROV, autonomous vessel, sensor integration, serial protocol, underwater robotics, USV, microcontroller, edge computing, telemetry, ocean engineering.
272+ arduino, marine robotics, NEXUS, AUV, ROV, autonomous vessel, sensor integration, serial protocol, underwater robotics, USV, microcontroller, edge computing, telemetry, ocean engineering, ESP8266, ESP32, WiFi mesh, BLE .
177273
178274---
179275
0 commit comments