Giter VIP home page Giter VIP logo

bambuboard's Introduction

BambuBoard

Bambu Dashboard for viewing real time data from the Bambu X1 Carbon 3D printer. Are you looking for the best Bambu printer OBS overlay? Scroll to the bottom, we have OBS support also! Check out a live stream here: https://www.youtube.com/channel/UChDOFv_-8TxYOfkteSlvAqA/live

Screenshots:

Screenshot (Updated version: 1/14/24): image

BambuBoard Setup Guide

Welcome to the BambuBoard Setup Guide. This document will walk you through the process of cloning the BambuBoard repository and setting up Node.js on a Raspberry Pi to run the BambuBoard dashboard.

Step 1: Install Node.js

Node.js is required to run the BambuBoard application. Here's how to install it on your Raspberry Pi:

  1. Open a terminal on your Raspberry Pi.
  2. Update your package list:
    sudo apt update
    
  3. Upgrade your packages to their latest versions:
    sudo apt full-upgrade
    
  4. Install Node.js:
    sudo apt install nodejs
    
  5. (Optional) Install npm, Node.js' package manager:
    sudo apt install npm
    
  6. Verify the installation by checking the version of Node.js and npm:
    node -v
    npm -v
    

Step 2: Clone the BambuBoard Repository

To get the BambuBoard code, you need to clone its repository from GitHub:

  1. Navigate to the directory where you want to clone the repository:
    cd /path/to/directory
    
  2. Clone the repository:
    git clone https://github.com/t0nyz0/BambuBoard.git
    
  3. Change into the cloned repository's directory:
    cd BambuBoard
    
  4. Update the config.json with your settings! This is important.
    sudo nano config.json
    

Note: CTRL+X to exit nano, make sure to hit Y to confirm saving changes.

Step 3: Install Dependencies

BambuBoard may have Node.js dependencies that need to be installed:

  1. Within the BambuBoard directory, install the dependencies:
    npm install
    

Step 4: Run the Application

To start the BambuBoard dashboard:

  1. Run the application:
    node bambuConnection.js
    

Step 5: Accessing the Dashboard

Once the application is running, you can access the BambuBoard dashboard via a web browser on the Raspberry Pi or another device on the same network. Open your browser and navigate to:

http://raspberrypi.local:8080

Replace 8080 with the actual port number if BambuBoard runs on a different port. (Configured in bambuConnection.js)

Note: If this doesnt work, try IP address of Raspberry Pi.

Troubleshooting

If you encounter any issues, consider the following:

  • Check that you have the correct permissions to clone the repository and install Node.js packages.
  • Verify that the Raspberry Pi's firewall settings are not blocking the BambuBoard application.

OBS mode

OBS widgets are now supported as of 1/7/24

Screen.Recording.2024-02-13.at.12.02.18.PM.mov

I have provided a sample scene file that you can import into OBS, using "Scene Collection > Import".

Note: Before importing, you will need to open the JSON and replace the IP address listed with your server IP. Also make sure to update the media feed to the ffmpeg provided to you from the Bambu software folder. Please refer to the Bambu GO Live documentation for more: https://wiki.bambulab.com/en/software/bambu-studio/virtual-camera

In the "OBS_Settings" folder in the project root you will find the scene file for importing. If you run into any widgets not working, first check case sensitivity of the widget URL's. Depending on setup this can be an issue.

List of all widget addresses:

"AMS widget": "http://127.0.0.1:8080/widgets/ams/index.html"
"AMS Temp widget: "http://127.0.0.1:8080/widgets/ams-temp/index.html"
"Bed Temp widget": "http://127.0.0.1:8080/widgets/bed-temp/index.html"
"Chamber Temp widget": "http://127.0.0.1:8080/widgets/chamber-temp/index.html"
"Fan widget": "http://127.0.0.1:8080/widgets/fans/index.html"
"Model image widget": "http://127.0.0.1:8080/widgets/model-image/index.html"
"Nozzle temperature widget": "http://127.0.0.1:8080/widgets/nozzle-temp/index.html"
"Nozzle info widget": "http://127.0.0.1:8080/widgets/nozzle-info/index.html"
"Print info widget": "http://127.0.0.1:8080/widgets/print-info/index.html"
"Progress bar widget": "http://127.0.0.1:8080/widgets/progress-info/index.html"
"Wifi widget": "http://127.0.0.1:8080/widgets/wifi/index.html"
"Notes EDIT widget": "http://127.0.0.1:8080/widgets/notes/edit.html"
"Notes VIEW widget": "http://127.0.0.1:8080/widgets/notes/index.html"
"Version widget": "http://127.0.0.1:8080/widgets/version/index.html"

Note: If you want to EDIT notes go to this URL: http:/{server}:8080/widgets/notes/edit.html

Future Development Plans:

  • Celcius / Fahrenheit preference setting
  • Rebuild using React?
  • Better settings configuration
  • Add AMS humidty / temp
  • AMS Active tray tracking
  • Address bug with the "Total Prints" data point, the API does not appear to keep an entire record of all cloud prints. Total print count might always been inaccurate and may need to be removed in future versions.

Known Limitations:

The AMS (Automated Material System) filament remaining percentage displayed on the dashboard may not always be 100% accurate, as the printer estimates filament usage. Stay tuned for updates and enhancements to BambuBoard, and feel free to contribute to its development. Your feedback and suggestions are always welcome!

bambuboard's People

Contributors

t0nyz0 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

bambuboard's Issues

Total print count inaccurate

The 'total count' number seems to be decreasing for me. I suspect that Bambu retains only a three-month history of cloud prints. Therefore, this number might often be inaccurate and should probably be removed in a future update.

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.