fiberpunk1 / Beam-ESP32

Beam by Fiberpunk - ESP32
GNU Affero General Public License v3.0
67 stars 14 forks source link

FiberPunk's logo

Beam-ESP32

opensource lowcost

1. Project catalog description

2. Node Project Introduction

PC Client:

2.1 What is Node?

Node is an easy and affordable way to control and monitor 3D printers via WiFi, USB-enabled serial, and SD I/O. Node is very robust and power-efficient as it runs on an MCU (ESP32) while still offering a wide range of functionalities.

Key features:

Node's lite web UI:

Node's webpage source code will no longer be maintained in this rpo and has been migrated here: Node webpage

Node's AP Mode Config wifi UI:

Node installed in Ender3-v2:

2.Why Node?

When we first look at adding WiFi control to our 3D printers, there are already excellent choices, such as the wonderful Octoprint project run by our good friend Gina with great plugins and communities. Octoprint controls and transfers via serial connection only, which is limited by the speed of the connection and firmware compatibility issues.

We want to challenge ourselves to see if there is a leaner, MCU based solution that can achieve these goals:

To meet the above goals, we needed a tightly integrated solution that requires hardware that does not exist on the market. This led us to develop Node’s ESP32 based board and the open-source firmware. We also designed the unique SD Bridge that allows Node to transfer GCode via high-speed SD I/O while controlling/monitoring via the serial connection.

3.Node Web API

Node provides core APIs to enable more platforms(Such as Octoprint,Nexus, or postman tools) to access him for control. Listed below are the APIs already included in Node and their specific usage.API docs

4.How to compile and update firmware

Please refer this guide to compile your own firmwre.

Please refer to this guide to complete the firmware burning and updating.

5. Expansion port description

Node

example:

//Node Pro Expansion Uart(RXD2 TXD2)
Serial2.begin(9600);
Serial2.println("fiberpunk");

//Node Pro Expansion GPIO
pinMode(19, INPUT);
pinMode(23, INPUT);

if(digitalRead(19)==HIGH)
{
  Serial2.println("Filament Out");
}

6. Community support