Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Creators
Details
SerialCraft 📦 v0.3.6
The Bridge Between Worlds
Connect your Arduino to Minecraft Java (Fabric 1.21.10) and bring electronics into Survival mode.
📚 Documentation
Full Guide & Wiki: https://leonardoaliaga.github.io/SerialCraft/
What is SerialCraft?
SerialCraft is a mod that breaks the fourth wall, allowing real-time bidirectional communication between the game and external electronic devices (Arduino, ESP32, Raspberry Pi Pico, etc.).
Unlike other technical mods, SerialCraft is designed to integrate organically into the Survival experience. No magic commands—you build the hardware, you configure the connections, and you craft the logic.
✨ Key Features
- 🔌 Plug & Play: Compatible with any Serial/USB board.
- 💻 In-Game UI: Simple graphical interface to select ports and baud rates without editing config files.
- ⚡ Bidirectional:
- Input (Physical -> Game): Use real sensors (light, sound, buttons) to trigger Redstone.
- Output (Game -> Physical): Use Redstone to turn on real LEDs, motors, or buzzers.
- 🧠 Logic Gates: The blocks include internal logic (AND, OR, XOR) for advanced circuit safety.
📦 Blocks & Recipes

1. The Connector Block (Laptop)
The brain of the operation. It handles the USB connection to your real-world device.
- Usage: Right-click to open the UI. Select your Port and Baud Rate (must match your Arduino code, e.g., 9600).
- Settings: You can adjust the "Read Speed" (Fast, Normal, Low) to prevent lag if your board sends too much data.

Crafting Recipe

2. The IO Block (Arduino IO)
The physical bridge. This block connects to the Laptop wirelessly (logic-wise) and interacts with Redstone.
- Pin System:
- Right Click on a side connector: Sets pin to IN (Green). Reads Redstone.
- Shift + Right Click on a side connector: Sets pin to OUT (Red). Emits Redstone.
- Configuration: Right-click the block to set the
Target ID(e.g.,LED_1orSENSOR_A) and the signal type (Analog vs Digital).

Crafting Recipe

🚀 Quick Start (Protocol)
Communication is text-based using KEY:VALUE format ending with a newline (\n).
Arduino Example:
void setup() {
Serial.begin(9600); // Matches the Laptop Block settings
}
void loop() {
// Send data to Minecraft (Block ID "btn_1", Value 15)
Serial.println("btn_1:15");
delay(50);
}
🤝 Community & Support
- Issues: Report Bugs Here
- Author: Leonardo Aliaga



