Skip to content

BigTreeTech MMB Cubic

The BigTreeTech MMB Cubic is the ideal solution for fitting additional interfaces onto your printer, allowing you to connect more things like, Neopixels, temperature sensors, etc...

Here we will see the addition of Neopixels and a chamber temperature sensor.

Interface Diagram


Prerequisites


  • BigTreeTech MMB Cubic: Biqu
  • 2 x 18 AWG (minimum) silicone electrical wire to power the BigTreeTech MMB Cubic
  • 1 x USB-C cable
  • MMB Cubic Mount to print: MMB_Cubic_Mount.stl
  • 4 x M3x8 screws to fix MMB Cubic to mount
  • Double-sided tape to secure the mount in the lower part of the printer
  • WS2812B - 5V LED strip (to replace existing LED strips)
  • 1 x NTC 100k Thermistor Temperature Sensor (I use the one from FLSUN V400 because it has the advantage of having a long cable)

Wiring


Note

BigTreeTech MMB Cubic can be powered over USB but I don't recommend this for better performance.

Compiling Firmware


  • Connect to printer over SSH (see SSH Connection section).

  • In the SSH command prompt window, enter the following commands (one at a time):

    SSH Command Prompt
    cd ~/klipper/
    
    SSH Command Prompt
    make menuconfig
    

  • Move on the menu with the and keys of your keyboard and validate the selected item with the Enter key and select these settings:

  • Then on your keyboard press the Q key then Y to save configuration.

  • Enter the following commands (one at a time) to compile firmware:

    SSH Command Prompt
    make clean
    
    SSH Command Prompt
    make
    

  • When make is completed, the required klipper.bin firmware will be generated in the home/pi/klipper/out folder.

Flash Firmware


  • If BigTreeTech MMB Cubic is already connected via USB-C, unplug it.

  • Hold down the BOOT button and connect BigTreeTech MMB Cubic to printer with a USB-C cable. This allows the chip to enter DFU mode:

  • In the SSH command prompt window, enter the following command to query the DFU device ID:

    SSH Command Prompt
    lsusb
    

  • Enter the following commands (one at a time) to flash firmware by replacing xxxx:xxxx with the actual device ID obtained in the previous step:

    SSH Command Prompt
    cd ~/klipper/
    
    SSH Command Prompt
    make flash FLASH_DEVICE=xxxx:xxxx
    

    Example

    SSH Command Prompt
    make flash FLASH_DEVICE=1d50:614e
    
  • After flashing, enter the following command to query the device Serial ID:

    SSH Command Prompt
    ls /dev/serial/by-id/
    

  • Copy the Serial ID it will be used later for the configuration file.

Note

There is no need to manually press the BOOT button to enter DFU mode for subsequent updates after the first flashing is completed.

To update BigTreeTech MMB Cubic firmware just use this command by replacing xxxxx` by your Serial ID:

SSH Command Prompt
make flash FLASH_DEVICE=/dev/serial/by-id/usb-Klipper_rp2040_xxxxx

Example

SSH Command Prompt
make flash FLASH_DEVICE=/dev/serial/by-id/usb-Klipper_rp2040_5044340310A8901C-if00

Configuration


  • Make sure you have chosen the correct configuration files for MMB Cubic.
    See Klipper Configurations Files section.

  • Open mmb-cubic.cfg file:

    • On Mainsail Web Interface go to MACHINE tab on the left side.
    • On Fluidd Web Interface go to Configuration icon on the left side.
  • Edit the Configurations section:

    mmb-cubic.cfg
    ########################################
    # Configurations
    ########################################
    
    [mcu MMB_Cubic]
    serial: /dev/serial/by-id/usb-Klipper_rp2040_xxxxx
    
    [neopixel chamber_led]
    pin: MMB_Cubic:gpio9
    chain_count: 20
    color_order: GRB
    initial_RED: 1.0
    initial_GREEN: 1.0
    initial_BLUE: 1.0
    
    #[temperature_sensor chamber]
    #sensor_type: EPCOS 100K B57560G104F
    #sensor_pin: MMB_Cubic:gpio26 #TH0
    #min_temp: 0
    #max_temp: 100
    #gcode_id: chamber
    
    • Edit the serial parameter by replacing xxxxx` with your previously obtained serial ID.
    • Edit the chain_count parameter by the number of LEDs your strips contain.
    • Remove the # symbols if you use chamber temperature sensor.
  • Once done, click on SAVE & RESTART button at the top right to save the file.

  • You should see the MMB Cubic MCU connected in the system information:

    Mainsail
    Fluidd
  • You can now control Neopixels from screen in ConfigurationsLED menu:

  • If you use chamber temperature sensor, you can see the temperature here:


If you like my work, don't hesitate to support me by paying me a 🍺 or a ☕. Thank you 🙂