Skip to the content
2 layers51 × 85 mmTerraskipper, the printed circuit board in 3D

Terraskipper is a project about building a mudskipper-inspired soft robot that can help in agriculture. The robot is designed to move on difficult surfaces like mud and uneven land while using sensors and soft robotics technology to support smart farming and environmental monitoring.

Size
51 × 85 mm
Copper layers
2
Thickness
1.6 mm
Parts
24
Nets
49
Pads
157
Tracks, vias
158, 0
Pours
1
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
14 May 2026
Updated
23 Oct 2026

Overview

Terraskipper is an open-source printed circuit board by ZIZO932, from the ZIZO932/Terraskipper-V2 repository on GitHub. It is a 2-layer board of 51 × 85 mm with 24 parts on 49 nets, routed with 158 tracks and 0 vias.

It is built around the BTS7960B, DS18B20 and HC-SR04, with the RASPBERRY PI PICO 2W among its other parts. Its parts include 9 connectors, 4 ICs, 2 capacitors and 1 resistor. It belongs with the robots and motor control and sensors and measurement boards and the RP2040 and RP2350 boards of this library.

Main components

4

README

README.md

TerraSkipper V2

A mudskipper-inspired robot I've been building to explore soil monitoring on difficult ground. This version moves the pectoral fins with DC geared motors, uses servos for the tail and sensor placement, and runs on a Raspberry Pi Pico 2 W.

Assembled TerraSkipper

Why a mudskipper?

The project started with soil problems in Egypt's Nile Delta. I wanted to explore a robot that could carry sensors over muddy ground, and the way a mudskipper moves between land and water gave me an idea for the mechanism.

This repo documents the prototype, its design files, and the changes I made while building it. The main things I worked on here were movement, fitting the electronics inside the body, and getting sensor readings from the assembled robot.

What changed in V2

I replaced the front servos with DC geared motors for more torque. I also redesigned the body, added proper PCB mounting, and made the sensor placement mechanism detachable so I could work on it without taking the whole robot apart.

After the first assembly, I reprinted the body at a smaller size. Everything still had to fit inside, so I checked the alignment again and adjusted the parts where needed. The smaller body used less filament and reduced the weight.

Another view of the build

Movement and sensors

  • Two DC geared motors drive the pectoral fins.
  • One servo drives the caudal fin, and two more work the sensor placement mechanism.
  • A Pico 2 W runs the uploaded MicroPython firmware.
  • The sensor setup includes an MPU-6050, a DS18B20 temperature sensor, capacitive soil moisture sensing, and a TDS input.
  • The design has three HC-SR04 ultrasonic sensors. I removed two in the final physical build after running into a sensor fault; the uploaded firmware still includes all three.
  • A NEO-7M GPS module is included in the design, but GPS reading isn't implemented in the uploaded firmware.

The motor model changed during the build: my movement notes list JGB37-520 motors, while the original BOM lists JGA25-370 motors. The BOM below records the original estimate.

What the uploaded code does

Firmware/Main.py drives the DC motors forward, sets the servos, reads the ultrasonic sensors and IMU, and prints temperature, moisture, and TDS telemetry. It starts the motors when run.

It's a movement and sensor test program. Autonomous navigation and pH measurement aren't implemented in this file, and the moisture and TDS conversions still depend on calibration for the actual sensors and test conditions.

Mechanical design

I used fillets and chamfers around the body edges, and designed a small vertical slider to lower the sensors toward the soil. The mechanism can be removed separately for repairs.

Final body design Assembly view Sensor placement mechanism

PCB and wiring

The custom board has two layers, with signals and power routing on top and a ground plane underneath. The design includes two BTS7960 motor drivers and buck converters for the power rails.

I originally considered an ESP32, then switched to the Pico 2 W because I was more comfortable working in MicroPython. The current KiCad schematic and firmware use the Pico 2 W.

PCB layout PCB 3D view Wiring schematic

Getting it assembled

I rebuilt the circuit one section at a time: power first, then the controller, then the sensors. PCB review also caught missing mounting details, layout changes, and gaps in the CAD and Gerber files.

One of the more frustrating faults was the right motor refusing to move. I swapped the motors to check whether the motor itself was bad, then traced the problem back to the driver's motor B output and fixed it. After assembly I checked the wiring and ran the movement tests again before filming.

Original parts estimate

The recorded estimate is about 5,315 EGP, or $102.50 at the time. It covers the 18 items counted in the original BOM, with the build changes noted above. TDS is present in the schematic and firmware but isn't itemized in this BOM.

ComponentCategoryQtyUnit Price (EGP)Total (EGP)
Raspberry pi Pico 2wMicrocontroller1900900
BTS7960 43A DC Motor DriverMotor Driver2450900
MG996R 360° Servo MotorMotors3210630
DC Motor With Gear Box JGA25-370 12V 33RPM 30Kg.cmMotors2300600
Ublox NEO-7M GPS ModuleSensors1540540
MPU-6050 IMU Gyro/Accel ModuleSensors1175175
Capacitive Soil Moisture Sensor V2.0Sensors1100100
DS18B20 Waterproof Temp SensorSensors18585
HC-SR04 Ultrasonic SensorSensors340120
Rechargeable Li-ion Battery Pack 18650 12V 6000mAhPower1900900
XL4016 8A Step-Down Buck ConverterPower1243243
LM2596 3A Step-Down Buck ConverterPower1122122
Total185,315 EGP

Demo and zine

Watch the demo

Project zine

Open the zine PDF.

Files

Earlier stages are in TerraSkipper and Mudskipper.

Build notes by Ziad, as part of the TerraSkipper project.

Parts

24
QtyValueFootprintReferences
4MountingHoleMountingHole:MountingHole_2.1mmH1, H2, H3, H4
3HC-SR04Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ7, J8, J9
2BTS7960Connector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_VerticalU1, U2
11000µF capacitorCapacitor_THT:CP_Axial_L10.0mm_D4.5mm_P15.00mm_HorizontalC1
14.7kΩResistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_HorizontalR1
1470µF capacitorCapacitor_THT:CP_Axial_L10.0mm_D4.5mm_P15.00mm_HorizontalC2
15V BUCK CONVERTERConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ3
16V BUCK CONVERTERConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ2
1BATTERY_12VConnector_Phoenix_MSTB:PhoenixContact_MSTBVA_2,5_2-G-5,08_1x02_P5.08mm_VerticalJ1
1DS18B20Package_TO_SOT_THT:TO-92_InlineU3
1GPS NEO 7MConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ4
1MPU_6050Connector_PinHeader_2.54mm:PinHeader_1x07_P2.54mm_Vertical_SMD_Pin1LeftU4
1RaspberryPi_Pico_2_WModule:RaspberryPi_Pico_Common_UnspecifiedA1
1SERVO_1Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalM3
1SERVO_2Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalM2
1SERVO_3Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalM1
1Soil MoistureConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ6
1TDS SensorConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ5

Similar boards

  • 2 layers300 × 100 mmZetaboard, the printed circuit board in 3D

    Zetaboard

    akshatk-khurana/Zetaboard

    An ergonomic and productivity optimised 65% keyboard!

    173 parts
  • 2 layers135 × 61 mmOunce PCB, the printed circuit board in 3D

    Ounce PCB

    Emmanuel-Roy/Ounce

    Use Your Switch 2 Anywhere With Any Input Source.

    5 parts
  • 2 layers100 × 52 mmPico lta042b010f carrier, the printed circuit board in 3D

    Pico lta042b010f carrier

    fnc765/aki300yenLCD-raspico2w

    Raspberry Pi Pico 2 W (RP2350) で秋月電子の 300 円 LCD LTA042B010F (400×96 RGB666 TFT) を PIO + DMA で駆動し、その表示を持ったファームウェアを Wi-Fi 経由 (GitHub Release) で自己更新する リファレンス実装です。nostd の Rust と Embassy で書かれています。

    32 parts
  • 2 layers51.8 × 52.8 mmWifi pc power switch, the printed circuit board in 3D

    Wifi pc power switch

    gemarcano/wifi_pc_power_switch

    Wireless enabled power switch for desktop PCs.

    22 parts
  • 2 layers69 × 53.8 mmTrailerMonitor, the printed circuit board in 3D

    TrailerMonitor

    MikeMcPherson/TrailerMonitor

    22 partsMIT
  • 2 layers82 × 100 mmRobo car, the printed circuit board in 3D

    Robo car

    ChefsSlaad/PCBs_and_Micropython

    storing custom pcbs and micropython code for home projects

    36 parts
  • 2 layers149.9 × 72.4 mmRMPBoardV2, the printed circuit board in 3D

    RMPBoardV2

    liebrandapps/RPI-Multi-Purpose-Extension-Board

    Kicad files for a printed circuit board extending the Raspberry Interfaces GPIOs.

    31 parts

Questions

How big is the Terraskipper PCB?

It measures 51 × 85 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Terraskipper use?

24 parts, built around the BTS7960B, DS18B20, HC-SR04 and RASPBERRY PI PICO 2W. 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 Terraskipper KiCad files?

From the ZIZO932/Terraskipper-V2 repository on GitHub, at the commit this page was made from: the board is Schematic & PCB/Terraskipper.kicad_pcb and its schematic Schematic & PCB/Terraskipper.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Terraskipper design in my own project?

Its repository states no licence, so its author keeps all rights: ask ZIZO932 before reusing the design.