Skip to the content
PCBKitNew board
2 layers80 × 60 mmMars rover V1, the printed circuit board in 3D

┌──────────────────────────┐ EN ──┤ ├── GPIO 23 GPIO 36 ──┤ ├── GPIO 22 (SCL → BMP280 + OLEDs) GPIO 39 ──┤ ├── GPIO 21 (SDA → BMP280 + OLEDs) GPIO 34 ──┤ ESP32 ├── GPIO 19 ◄── Camera Servo PWM GPIO 35 ──┤ WROOM ├── GPIO…

Size
80 × 60 mm
Copper layers
2
Thickness
1.6 mm
Parts
27
Nets
35
Pads
91
Tracks, vias
176, 0
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
30 Mar 2026
Updated
3 Apr 2026

Overview

Mars rover V1 is an open-source printed circuit board by Muhammad-296, from the Muhammad-296/Mars-Rover repository on GitHub, published under the MIT licence. It is a 2-layer board of 80 × 60 mm with 27 parts on 35 nets, routed with 176 tracks and 0 vias.

Its parts include 18 connectors, 2 resistors, 2 diodes and 1 IC. It belongs with the robots and motor control boards of this library.

README

README.md

MARS ROVER

v5.1 Enhanced Edition

Status Version License Platform GUI Protocol


Python C++ Arduino GitHub VS Code


Stars Forks Issues Last Commit


📋 Table of Contents


📊 Project Stats at a Glance

StatValue
🔧 Hardware Components10
⚙️ DC Motors6
🦾 Servo Channels2 (Camera + Gripper)
📡 WebSocket Commands15
🛡️ Safety Layers6
🖥️ OLED Panels2
📊 GUI Panels10
📈 Telemetry Streams4
🌐 Comm ProtocolWebSocket Port 81
⚡ Watchdog Timeout (ESP32)500 ms
⏱️ Watchdog Timeout (GUI)3 s
🔄 Reconnect Interval2 s

🛸 Mission Overview

Mars Rover Mission Control is a full-stack robotics project combining a custom ESP32-powered 6-wheel rover chassis with a Python PyQt5 GUI for real-time telemetry, remote driving, camera panning, and gripper control — all over Wi-Fi via WebSocket.


⚡ Core Features

IconFeatureDescription
⚙️6 DC MotorsPaired as 3 channels for tank-style differential drive — direction only, no PWM needed
📷ESP32-CAM on ServoLive camera with 0°–180° pan control, step 10° per command via GPIO 19
🌡️BMP280 SensorReal-time temperature, pressure & altitude over I²C at 0x76 / 0x77
📡HC-SR04 RadarUltrasonic proximity with WARN @ 80 cm and CRIT @ 30 cm threshold alerts
🦾Servo GripperObject manipulation via GPIO 18 — Open: 90° · Close: 10° with state confirmation
🟣Custom PCBESP32 breakout with all motor, servo & sensor headers fully populated
🎮Sci-Fi GUIPyQt5 Mission Control with live charts, arc gauges, radar display & safety watchdog
🖥️Dual OLED Display128×64 panels at 0x3C and 0x3D — drive state left, sensors & camera right

[blocked]

🗺️ System Architecture

text
┌──────────────────────────────────────────┐         ┌──────────────────────────────────────────┐
│         🖥️  MISSION CONTROL              │         │           ⚡ ESP32 FIRMWARE               │
│             Python PyQt5                 │         │            Arduino C++                   │
│                                          │         │                                          │
│  ┌────────────────────────────────────┐  │         │  ┌────────────────────────────────────┐  │
│  │ 🎮 PyQt5 GUI v5.1                  │  │         │  │ 🔧 Motor Driver (L298D × 2)        │  │
│  │  Boot Sequence · Key Overlay       │  │         │  │  CH1: IN1(27) IN2(26) ◀ Left       │  │
│  │  Startup Config · Watchdog Timer   │  │         │  │  CH2: IN3(25) IN4(33)  Right ▶     │  │
│  └────────────────────────────────────┘  │         │  └────────────────────────────────────┘  │
│                                          │         │                                          │
│  ┌─────────────────┐ ┌─────────────────┐ │         │  ┌─────────────────┐ ┌─────────────────┐ │
│  │ 📊 Arc Gauges   │ │ 📈 Telemetry    │ │         │  │ 📷 Camera Servo  │ │ 🦾 Gripper      │ │
│  │  Temp · Press   │ │  4 Streams      │ │         │  │  GPIO 19         │ │  GPIO 18        │ │
│  │  Alt  · Dist    │ │  80-pt History  │ │         │  │  0° to 180°      │ │  10° / 90°      │ │
│  └─────────────────┘ └─────────────────┘ │         │  └─────────────────┘ └─────────────────┘ │
│                                          │         │                                          │
│  ┌─────────────────┐ ┌─────────────────┐ │         │  ┌─────────────────┐ ┌─────────────────┐ │
│  │ 🔴 Proximity    │ │ 📶 Latency      │ │         │  │ 🌡️ BMP280        │ │ 🖥️ Dual OLED    │ │
│  │  WARN  @ 80 cm  │ │  Ping Graph     │ │         │  │  I²C · SDA/SCL  │ │  0x3C  · 0x3D  │ │
│  │  CRIT  @ 30 cm  │ │  Auto-Reconnect │ │         │  │  📡 HC-SR04      │ │  Left  · Right  │ │
│  └─────────────────┘ └─────────────────┘ │         │  │  Trig:17 Echo:16│ │                 │ │
└──────────────────────────────────────────┘         │  └─────────────────┘ └─────────────────┘ │
                       │                             └──────────────────────────────────────────┘
                       │                                              │

[blocked]

🔌 Wiring Diagram

text
                        ┌─────────────────────┐
                        │       ESP32          │
                        │                      │
          GPIO 27 ──────┤ IN1   ┌──────────┐   │
          GPIO 26 ──────┤ IN2   │  L298D   │───┼──── Left Motors  (×3 parallel)
                        │       │  Driver  │   │
          GPIO 25 ──────┤ IN3   │    #1    │───┼──── Right Motors (×3 parallel)
          GPIO 33 ──────┤ IN4   └──────────┘   │
                        │                      │
          GPIO 19 ──────┤─────── Camera Servo ─┼──── ESP32-CAM Pan (0°–180°)
          GPIO 18 ──────┤─────── Gripper Servo ┼──── Gripper (10°=close / 90°=open)
                        │                      │
          GPIO 17 ──────┤ TRIG ┌────────────┐  │
          GPIO 16 ──────┤ ECHO │  HC-SR04   │  │     Proximity Radar
                        │      └────────────┘  │
                        │                      │
            SDA ────────┤──┬── BMP280 ─────────┼──── Temp · Press · Alt
            SCL ────────┤  ├── OLED 0x3C ──────┼──── Left Panel  (Drive State)
                        │  └── OLED 0x3D ──────┼──── Right Panel (Sensors + Cam)
                        │                      │
                     3.3V / GND ───────────────┼──── All peripherals
                        └─────────────────────┘

🔩 Hardware Components

📦 Click to expand full component list
#ComponentQtyGPIO / BusDetails
01🔵 ESP32 DevKit / WROOM1—Wi-Fi · WebSocket server port 81
02📷 ESP32-CAM1GPIO 19Mounted on pan servo · 0°–180°
03⚙️ DC Gear Motors6IN1–IN4Paired 3+3 wired as 2 channels
04🔌 L298D Motor Driver227 · 26 · 25 · 33No Enable pin · direction only
05🦾 Servo — Camera Pan1GPIO 19Range 0°–180° · Step 10°
06🤖 Servo — Gripper1GPIO 18Open: 90° · Close: 10°
07📡 HC-SR04 Ultrasonic1Trig 17 · Echo 16Proximity radar 0–500 cm
08🌡️ BMP2801I²C · 0x76/0x77Temperature · Pressure · Altitude
09🖥️ SSD1306 OLED 128×642I²C · 0x3C · 0x3DLeft: Drive state · Right: Cam + Sensors
10🟣 Custom PCB1—ESP32 breakout · all headers populated

⚡ Motor Channel Wiring

ChannelIN+IN−SideMotors
CH 1GPIO 27GPIO 26◀ Left3 × DC motor (parallel)
CH 2GPIO 25GPIO 33Right ▶3 × DC motor (parallel)

Each channel drives 3 motors wired in parallel — all spin together as one unit. No PWM / Enable pin needed.


[blocked]

🗃️ Pin Mapping

FunctionGPIOTypeNotes
IN1 — Left Motor Forward27Digital OutLeft motor group
IN2 — Left Motor Reverse26Digital OutLeft motor group
IN3 — Right Motor Forward25Digital OutRight motor group
IN4 — Right Motor Reverse33Digital OutRight motor group
Camera Servo Signal19PWM0°–180° · step 10° per command
Gripper Servo Signal18PWM10° = closed · 90° = open
Ultrasonic TRIG17Digital OutHC-SR04 trigger pulse
Ultrasonic ECHO16Digital InHC-SR04 echo receive
BMP280 SDASDAI²CShared I²C bus
BMP280 SCLSCLI²CShared I²C bus
OLED Left 0x3CSDA / SCLI²CDrive state display
OLED Right 0x3DSDA / SCLI²CCamera gauge + sensor readout

📍 ESP32 Pinout Visual

text
                    ┌──────────────────────────┐
               EN ──┤                          ├── GPIO 23
           GPIO 36 ──┤                          ├── GPIO 22  (SCL → BMP280 + OLEDs)
           GPIO 39 ──┤                          ├── GPIO 21  (SDA → BMP280 + OLEDs)
           GPIO 34 ──┤        ESP32             ├── GPIO 19  ◄── Camera Servo PWM
           GPIO 35 ──┤       WROOM              ├── GPIO 18  ◄── Gripper Servo PWM
           GPIO 32 ──┤                          ├── GPIO  5
           GPIO 33 ──┤ ◄── IN4 Right REV        ├── GPIO 17  ◄── HC-SR04 TRIG
           GPIO 25 ──┤ ◄── IN3 Right FWD        ├── GPIO 16  ◄── HC-SR04 ECHO
           GPIO 26 ──┤ ◄── IN2 Left  REV        ├── GPIO  4
           GPIO 27 ──┤ ◄── IN1 Left  FWD        ├── GPIO  2
           GPIO 14 ──┤                          ├── GPIO 15
           GPIO 12 ──┤                          ├── GND
              GND ──┤                          ├── VIN (5V)
                    └──────────────────────────┘

  Legend:  ◄── = used pin     (blank) = available

💻 Software Stack

LayerTechnologyDetails
🎮 GUIPython 3 + PyQt5 v5.1Sci-fi Mission Control · Boot sequence · Keyboard overlay
📡 CommunicationWebSocketwebsocket-client ↔ WebSocketsServer (port 81)
⚡ FirmwareArduino C++ / ESP32Motor · Servo · Sensor · OLED control loop
🌡️ Sensor LibraryAdafruit BMP280Temperature · Pressure · Altitude
🖥️ Display LibraryAdafruit SSD1306 + GFXDual OLED animated panels
🦾 Servo LibraryESP32ServoSmooth sweep movement

🎮 GUI Panels

🖥️ Click to expand all GUI panel details
PanelWhat It ShowsDetails
📊 Arc Gauges4 animated dialsTemperature · Pressure · Altitude · Distance
📈 Telemetry ChartsScrolling line charts80-point history · 4 live data streams
🔴 Proximity RadarConcentric ring display⚠️ WARN @ 80 cm · 🚫 CRIT @ 30 cm
📶 Latency MonitorBar graph ping historyColor-coded green / amber / red by latency
📷 Camera PanelServo arc gaugeA ← pan left · pan right → D
🦾 Gripper PanelPosition indicatorO → Open · C → Close
🤖 Rover VisualizerState rendererIDLE · FORWARD · BACKWARD · TURN L/R
🕹️ D-Pad WidgetOn-screen controllerHighlights active direction in real time
📋 Mission LogTimestamped event logAuto-scrolling · last 50 events
📡 Status BarConnection indicatorSignal bars · Ping ms · Clock

✨ Special Features

FeatureDescription
🚀 Boot Sequence17-stage POST initialization with progress bar
🔗 Startup Config DialogEnter ESP32 IP at launch — no code editing needed
⌨️ Keyboard Shortcut OverlayPress ? to toggle semi-transparent full-screen help panel
🛡️ Safety WatchdogAuto-stop motors after 3 s of no key input
🛑 Instant StopS sent on key release — bypasses all async queues
🌐 Hex-Grid BackgroundSci-fi background with depth-layered vignette

[blocked]

⌨️ Keyboard Controls

KeyActionCategory
↑Drive Forward🚗 Movement
↓Drive Backward🚗 Movement
←Turn Left🚗 Movement
→Turn Right🚗 Movement
(release)⚡ Instant Stop🛑 Safety
ACamera pan Left📷 Camera
DCamera pan Right📷 Camera
OOpen gripper🦾 Gripper
CClose gripper🦾 Gripper
?Toggle keyboard overlayℹ️ App
ESCExit applicationℹ️ App

📡 WebSocket Command Protocol

CommandDirectionAction
FGUI → ESP32🟢 Move Forward
BGUI → ESP32🟡 Move Backward
LGUI → ESP32🔵 Turn Left
RGUI → ESP32🔵 Turn Right
SGUI → ESP32🔴 INSTANT STOP
AGUI → ESP32📷 Camera pan left
DGUI → ESP32📷 Camera pan right
OGUI → ESP32🦾 Open gripper
CGUI → ESP32🦾 Close gripper
SENSORGUI → ESP32🌡️ Request sensor reading
PINGGUI → ESP32📶 Latency measurement
t,p,alt,dESP32 → GUI📊 Sensor telemetry (CSV)
<angle>ESP32 → GUI📷 Camera position (integer)
GRIPPER_OPENESP32 → GUI🦾 Gripper state confirm
GRIPPER_CLOSEESP32 → GUI🦾 Gripper state confirm

[blocked]

🛡️ Safety Features

FeatureTriggerResponse
⚡ Instant StopKey releasedS sent immediately · bypasses async queue
⏱️ GUI WatchdogNo key input > 3 sAuto-sends S · resets state to IDLE
⏱️ ESP32 WatchdogNo command > 500 msHardware-level motor cutoff
🔄 Auto-ReconnectLink droppedGUI retries every 2 s automatically
⚠️ Obstacle WarningDistance < 80 cmYellow alert + log entry
🚫 Obstacle CriticalDistance < 30 cmRed alert + log entry

[blocked]

🖥️ OLED Display Panels

OLEDI²C AddressDisplaysAnimation Style
Left0x3CDrive state: IDLE / FWD / REV / TURN L / TURN RPulse rings · motion lines · turn arcs
Right0x3DCamera gauge + BMP280 + HC-SR04 + Gripper statusSweeping servo arc · scan line

Both OLEDs run a welcome animation on boot: border reveal → particle burst → countdown → GO! splash


🚀 Getting Started

1️⃣ Flash the ESP32

Install these Arduino libraries via Library Manager:

LibraryPurpose
ESP32ServoServo motor control
WebSockets by Markus SattlerWebSocket server
Adafruit BMP280Temperature & pressure
Adafruit SSD1306OLED display driver
Adafruit GFX LibraryGraphics primitives

Update credentials in firmware/mars_rover_esp32.ino:

cpp
// Update Wi-Fi credentials before flashing
const char* ssid     = "YOUR_WIFI_SSID";
const char* password = "YOUR_WIFI_PASSWORD";

Flash via Arduino IDE. The IP address appears on the left OLED after connecting to Wi-Fi.


2️⃣ Run the Python GUI

bash
# Install Python dependencies
pip install PyQt5 websocket-client

# Launch Mission Control
python mars_rover_gui.py

Enter your rover's IP in the startup dialog:

text
ws://192.168.x.x:81

📁 Project Structure

text
mars-rover/
├── 📁 firmware/
│   └── mars_rover_esp32.ino      ← ESP32 Arduino firmware
├── 📁 gui/
│   └── mars_rover_gui.py         ← Python PyQt5 Mission Control v5.1
├── 📁 hardware/
│   ├── pcb/                      ← KiCad PCB design files
│   └── cad/                      ← SolidWorks 3D model files
├── 📁 docs/
│   ├── pcb_layout.png
│   └── rover_3d.png
└── README.md

[blocked]

🗺️ Roadmap

StatusFeatureVersion
✅6-motor differential drivev1.0
✅WebSocket command protocolv2.0
✅BMP280 + HC-SR04 telemetryv3.0
✅Dual OLED display panelsv4.0
✅PyQt5 sci-fi GUI + safety watchdogv5.0
✅Gripper servo + camera panv5.1
🔄Gamepad / joystick controller supportv5.2
🔄Live video stream in GUIv5.2
🔄Autonomous obstacle avoidance modev6.0
🔄GPS telemetry integrationv6.0
🔄Mobile app (Flutter)v7.0
💡Robotic arm (multi-joint)Future
💡AI object detection via cameraFuture

✅ Done  ·  🔄 In Progress / Planned  ·  💡 Ideas


❓ FAQ

Q: What Wi-Fi frequency does the ESP32 use?

The ESP32 operates on 2.4 GHz Wi-Fi only. It does not support 5 GHz networks. Make sure your router is broadcasting on 2.4 GHz and that your credentials are correctly set in the firmware.

Q: How do I find the ESP32's IP address?

After flashing and powering on, the ESP32 connects to Wi-Fi and displays its IP address on the left OLED panel. You can also check your router's device list or use a network scanner like the Fing app.

Q: Can I control the rover from outside my home network?

Not by default. The WebSocket server runs on a local IP inside your LAN. To control the rover remotely you would need to set up port forwarding on your router or use a tunneling service like ngrok.

Q: Can I add speed control (PWM) to the motors?

Yes. The current firmware uses direction-only control. To add speed control, connect the EN pins of the L298D to ESP32 PWM-capable GPIOs and use ledcWrite() in the firmware.

Q: Why does the GUI lose connection after a few minutes?

This is usually a Wi-Fi power-saving issue on the router. Increasing the PING frequency in the GUI will keep the connection alive. You can also disable client idle timeout on your router.

Q: What Python version is required?

Python 3.7 or higher is recommended. Python 3.10 / 3.11 is the most stable combination with PyQt5.


🔧 Troubleshooting

🔴 GUI cannot connect to rover
CheckSolution
ESP32 IP addressVerify IP shown on left OLED matches what you entered in the dialog
Same networkEnsure PC and ESP32 are on the same 2.4 GHz Wi-Fi network
Port blockedCheck firewall — port 81 must be open
Firmware runningRe-flash if the OLED shows no IP or stays blank
WebSocket URL formatMust be exactly ws://192.168.x.x:81 — no trailing slash
🔴 Motors not responding
CheckSolution
Power supplyMotor driver needs separate 5–12V supply — not USB alone
GPIO wiringVerify IN1/IN2/IN3/IN4 match GPIOs 27/26/25/33
L298D power LEDShould be lit when driver is powered
Motor wiringCheck each motor group is correctly wired in parallel
🔴 BMP280 not detected
CheckSolution
I²C addressTry both 0x76 and 0x77 — depends on the SDO pin state
SDA / SCL wiringConfirm correct ESP32 I²C pins are used
Pull-up resistorsI²C lines need 4.7kΩ pull-ups to 3.3V if not on breakout board
🔴 OLEDs not displaying
CheckSolution
I²C addressesLeft must be 0x3C, Right must be 0x3D
Shared busAll I²C devices (BMP280 + 2× OLED) share the same SDA/SCL
PowerOLEDs run on 3.3V — do not connect to 5V
🔴 Servo jitter or not moving
CheckSolution
PWM GPIOCamera = GPIO 19, Gripper = GPIO 18 — verify correct pins
PowerServos draw peak current — use a dedicated 5V 2A supply
LibraryEnsure ESP32Servo is installed, not the standard Servo library

📋 Changelog

VersionDateChanges
v5.12026Added gripper servo · camera pan · dual OLED boot animation · auto-reconnect
v5.02026Full PyQt5 GUI rewrite · safety watchdog · proximity radar · telemetry charts
v4.02026Dual OLED display panels · drive state animations
v3.02026BMP280 sensor integration · HC-SR04 ultrasonic · telemetry streaming
v2.02026WebSocket protocol · Python GUI v1 · motor control
v1.02026Basic ESP32 motor control · serial commands

⚠️ Known Limitations

#LimitationDetails
1No speed controlMotors run at full voltage — no PWM speed adjustment in current firmware
22.4 GHz Wi-Fi onlyESP32 does not support 5 GHz networks
3Single clientWebSocket server handles one GUI client at a time
4No video stream in GUIESP32-CAM stream must be viewed separately via browser
5No encryptionWebSocket communication is unencrypted (ws://, not wss://)
6Fixed sensor poll rateSensor data is polled on SENSOR command only — no push mode
7Windows / Linux testedGUI may need adjustments for macOS PyQt5 rendering

🤝 Contributing

bash
# 1. Fork the repository
# 2. Create your feature branch
git checkout -b feature/my-feature

# 3. Commit your changes
git commit -m "feat: add my feature"

# 4. Push and open a Pull Request
git push origin feature/my-feature

Contribution areas welcome:

  • 🎮 GUI improvements and new panels
  • ⚡ Firmware optimizations
  • 📡 New sensor integrations
  • 🌐 Mobile app development
  • 📖 Documentation improvements

📄 License

This project is licensed under the MIT License — see LICENSE for details.


🚀 MARS ROVER MISSION CONTROL v5.1

ESP32 · Python · WebSocket · Real-Time Telemetry

Built for Exploration

Parts

27
QtyValueFootprintReferences
9Screw_Terminal_01x02TerminalBlock_RND:TerminalBlock_RND_205-00232_1x02_P5.08mm_HorizontalJ13, J14, J15, J16, J17, J18, J19, J20, J21
5Conn_01x04_SocketConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ3, J4, J5, J7, J9
4MountingHoleMountingHole:MountingHole_3mmH1, H2, H3, H4
2130Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR1, R4
2Conn_01x03_PinConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ11, J12
2LEDLED_THT:LED_D5.0mmD1, D4
1Conn_01x02_PinConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ8
1Conn_01x03_SocketConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ6
1~ESP32_Footprints:ESP32_30pinU3

Questions

How big is the Mars rover V1 PCB?

It measures 80 × 60 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Mars rover V1 use?

27 parts. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Mars rover V1 KiCad files?

From the Muhammad-296/Mars-Rover repository on GitHub, at the commit this page was made from: the board is Electrical/Hardware/Mars_Rover/mars_rover_V1.kicad_pcb and its schematic Electrical/Hardware/Mars_Rover/mars_rover_V1.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Mars rover V1 design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 2 layers47.6 × 27.3 mmMmc usb 1, the printed circuit board in 3D

    Mmc usb 1

    rusefi/rusefi

    rusefi - GPL internal combustion engine control unit

    27 parts1.2k
  • 2 layers77.4 × 77.4 mmCORAZON LEDS CON FADE, the printed circuit board in 3D

    CORAZON LEDS CON FADE

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    27 parts915
  • 2 layers44.2 × 29.3 mmI2c tiny usb, the printed circuit board in 3D

    I2c tiny usb

    harbaum/I2C-Tiny-USB

    Cheap and simple I²C to USB interface

    27 parts454
  • 2 layers22 × 42 mmNvme bm to e, the printed circuit board in 3D

    Nvme bm to e

    CRImier/MyKiCad

    My KiCad boards. Can't be bothered uploading individually anymore, so here you go.

    27 parts253GPL-3.0
  • 2 layers80 × 61 mmPicoProducer, the printed circuit board in 3D

    PicoProducer

    pjgpetecodes/pico-streamdeck

    This project is an OBS Controller using a Raspberry Pi Pico and CircuitPython.

    27 parts230MIT
  • 2 layers186 × 45 mmAddOnD, the printed circuit board in 3D

    AddOnD

    freeDSP/freeDSP-aurora

    freeDSP ADAU1452 with 8 analog input, 8 analog outputs, S/P-DIF I/O, ADAT I/O, USB Audio Class2, WiFi, Bluetooth

    27 parts226CC-BY-SA-4.0
  • 2 layers29.6 × 40.6 mmDbwifi revB, the printed circuit board in 3D

    Dbwifi revB

    ugcs/ddc

    Drone Show Software is software designed for drone shows, allowing flight path planning as well as control of dozens of drones simultaneously in a synchronized manner.

    27 parts223