BIGTREETECH EBB36 CAN V1.0 Connecting Klipper User Manual

June 9, 2024
BIGTREETECH

BIGTREETECH EBB36 CAN V1.0 Connecting Klipper

BIGTREETECH-EBB36 CAN-V1.0-Connecting Klipper

Revisions

Version Statements Date
01.00 First Draft 2022/04/18

Brief Instruction

BIGTREETECH EBB36 CAN V1.0 is a nozzle adapter board specially designed for the 36 extruder stepper motor, which is launched by the 3D printing team Shenzhen Big Tree Technology Co., Ltd. It can communicate via USB port, or CAN BUS, greatly simplifying wirings.

Features

  1. With BOOT and RESET buttons reserved, users can update the firmware via DFU mode by USB.
  2. Added protection circuit on the thermistor avoids burning the main control chip caused by leakage current from the heating rod.
  3. User can select the thermistor’s pull-up resistors values through jumper wire, so as to support PT1000 (2.2K pull-up resistors), which makes it convenient for DIY.
  4. Connect the USB with a jumper cap to get it power on, which effectively isolates the main control board DC-DC from USB 5V.
  5. Reserved I2C interface allows for filament broke and clogged detection, and supports other DIY functions.
  6. Added anti-flyback diodes on the heating rod and fans’ ports effectively protect the MOS tube from being burned due to reverse voltage.
  7. Anti-reverse connection protection on the power interface prevents users from burning the motherboard when mistakenly connecting the reverse power line during DIY.
  8. Onboard MAX31865 supports selecting 2-wire or 4-wire of PT100/ PT1000.
  9. Supports communication via CAN or USB. The terminal resistor 120R of CAN can be selected through the jumper cap, and it reserves CAN expansion interfaces.
  10. Equipped ESD protection chip on the USB port prevents the main control board from being broken down by the static electricity of the USB port.
  11. The adaptor board is equipped with terminals, female reeds, double-way studs and screws, which are required for DIY, greatly meeting the DIY needs of customers.

Parameters

  1. External Dimensions: 51.5mm x 37mm. For further details please read: BIGTREETECH EBB36 CAN V1.0-SIZE.pdf
  2. Installation Dimensions: hole spacing 43.85mm, M3 screw hole x 2
  3. Microprocessor: ARM Cortex-M0 STM32F072C8T6 48MHz
  4. Input Voltage: DC12V-DC24V 6A
  5. Logic Voltage: DC 3.3V
  6. Heating Interface: Heating rod (E0), maximum output current: 5A
  7. Onboard Sensor: ADXL345
  8. Fan Interfaces: two CNC fans (FAN0, FAN1)
  9. Maximum Output Current of Fan Interface: 1A, Peak Value 1.5A
  10. Expansion Interfaces: EndStop, I2C, Probe, RGB, PT100/PT1000, USB interface, CAN Interface
  11. Motor Drive: Onboard TMC2209
  12. Driver Working Mode: UART
  13. Stepper Motor Interface: EM
  14. Temperature Sensor Interface Optional: 1 Channel 100K NTC or PT1000(TH0), 1 Channel PT100/PT1000
  15. USB Communication Interface: USB-Type-C
  16. DC 5V Maximum Output Current: 1A

Firmware
BTT EEB36 CAN V1.0 only supports Klipper at the present.

Size Diagram

Peripheral Interface

Pin

Introduction of Interface

USB Power Supply
D1 RGB light will be on when the control board powers on, which shows supplying normal power. VUSB in the middle of the board is the selection terminal for power. Only when USB supplies power to the board, or the board supplies power through USB, users need to short circuit the VUSB by jump cap.

100K NTC or PT1000 Settings

  1. Version without 31865: No need to insert a jumper cap when using a 100K NTC thermistor, and TH0’s pull-up resistor value is 4.7K. When using PT1000, you need to use the jumper cap to short the two pins circled in red as shown below picture. At this time, TH0’s pull-up resistor value is 2.2K
    (Notice: the temperature accuracy that’s read out this way will be less accurate than that of MAX31865).

  2. Version with 31865: Select PT100/PT1000 by DIP switch, two-line or four-wire;

1 2 3 4 Sensor Model
ON ON ON OFF Two lines PT100
ON ON OFF ON Two linesPT1000
OFF OFF ON OFF Four-wire PT100
OFF OFF OFF ON Four-wire PT1000

BIGTREETECH-EBB36 CAN-V1.0-Connecting Klipper-5

Connection with BL-Touch

Connection with Filament Broke Detection

Connection with RGB

Klipper

Compile Firmware

  1. After connecting to the Raspberry Pi via ssh, type the below sentences at the command line:
    cd ~/klipper/
    make menuconfig
    Compile the firmware with the following configuration (if the following options are not available, please update the Klipper firmware source to the latest version).
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (STMicroelectronics STM32) —> Processor model (STM32F072) —>
    Bootloader offset (No bootloader) —>
    Clock Reference (8 MHz crystal) —>
    If using USB communication over Type-C
    Communication interface (USB (on PA11/PA12)) —> If using CANBus communication
    Communication interface (CAN bus (on PB8/PB9)) —> (250000) CAN bus speed

  2. When completed the configuration selection, type ‘q’ to exit the configuration interface. Select “Yes” when asked whether to save the configuration.

  3. Enter make to compile firmware. The ‘klipper.bin’ firmware that we need will be generated on the home/pi/kliiper/out folder of the Raspberry Pi only once completed make. On the left side of ssh software, user can download the ‘klipper.bin’ firmware directly to the computer.

BIGTREETECH-EBB36 CAN-V1.0-Connecting Klipper-10

Update Firmware
Update firmware via Raspberry Pi (You can also update via STM32CubeProgrammer software after the board is plugged into the computer and entering DFU mode).

  1. Press on the Boot button, then click on the Reset button to enter DFU mode.
  2. Type lsusb in the ssh terminal command line to query the ID of the DFU device.BIGTREETECH-EBB36 CAN-V1.0-Connecting Klipper-12
  3. Type make flash FLASH_DEVICE=0483:df11 to download the firmware (Notice: Replace 0483:df11 with the actual ID of the DFU device queried in the previous step).BIGTREETECH-EBB36 CAN-V1.0-Connecting Klipper-13
  4. Type ls /dev/serial/by-id/ to query about the serial ID of the device when finished downloading the firmware (The serial ID will only exist when communicating via USB. Ignore this step when communicating via CAN Bus).
  5. After downloading the firmware for the first time, there’s no need to press on Boot and Reset button again to enter DFU mode when updating the firmware again. User can type make flash FLASH_DEVICE= /dev/serial/by-id/usb-Klipper_stm32f072xb_28002D001557434338313020-if00 to download the firmware(Notice: Replace /dev/serial/by-id/xxx with actual ID queried in the previous step)

BIGTREETECH-EBB36 CAN-V1.0-Connecting Klipper-15

CANBus Configuration

Use with BIGTREETECH U2C Module

BIGTREETECH-EBB36 CAN-V1.0-Connecting Klipper-16

  1. Type the following command sudo nano /etc/network/interfaces.d/can0 in the ssh terminal and execute
    auto can0
    iface can0 can static
    bitrate 250000
    up ifconfig $IFACE txqueuelen 1024
    Set the speed for CANBus at 250K (which must be the same as the speed set in the firmware (250000) CAN bus speed), Save (Ctrl + S) after modification and exit (Ctrl + X). Type command sudo reboot to reboot Raspberry Pi.

  2. Every device on CANBus will generate a canbus_uuid based on MCU’s ID. If users want to find the ID for every microcontroller, please make sure the hardware is powered on and wired correctly, then run the following command: ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0

  3. If detected an uninitialized CAN device, the above command will report the device’s canbus_uuid:
    Found canbus_uuid=0e0d81e4210c

  4. If Klipper operates normally and is connected to the device, then it won’t report canbus_uuid, which is also normal.

Use with BIGTREETECH RPI-CAN HAT Module

BIGTREETECH-EBB36 CAN-V1.0-Connecting Klipper-17

  1. 1. Type and run the following command sudo nano /boot/config.txt, and added below contents on file config.txt.
    dtparam=spi=on
    dtoverlay=mcp2515-
    can0,oscillator=12000000,interrupt=25,spimaxfrequency=1000000
    After modification, save(Ctrl + S)and exist(Ctrl + X), type sudo reboot to reboot Raspberry Pi.

  2. Type and run commands dmesg | grep -i ‘\(can|spi\)’ to test if RPI-CAN HAT module is normally connected. The normal response should be as below:[ 8.680446] CAN device driver interface
    [ 8.697558] mcp251x spi0.0 can0: MCP2515 successfully initialized.
    [ 9.482332] IPv6: ADDRCONF(NETDEV_CHANGE): can0: link becomes ready BIGTREETECH-EBB36 CAN-V1.0-Connecting Klipper-18

  3. Type sudo nano /etc/network/interfaces.d/can0 on the ssh terminal and run the command. auto can0 iface can0 can static bitrate 250000 up ifconfig $IFACE txqueuelen 1024 Set the speed for CANBus at 250K(which must be the same as the speed set in the firmware (250000) CAN bus speed). Save (Ctrl + S) after modification and exit (Ctrl + X).Type command sudo reboot to reboot Raspberry Pi.

  4. Every device on CANBus will generate a canbus_uuid base on MCU’s ID. If users want to find ID for every microcontroller, please make sure the hardware is powered on and wired correctly, then run the following command: ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0

  5. If detected an uninitialized CAN device, the above command will report the device’s canbus_uuid: Found canbus_uuid=0e0d81e4210c

  6. If Klipper operates well and is connected to the device, then it won’t report the canbus_uuid, which is normal.

Klipper Configuration

  1. Enter Raspberry Pi’s IP address in a browser to access the page as shown below picture, and download the reference configuration of the motherboard. If you cannot find this file, please update the Klipper firmware source code to the latest version, or download it from github https://github.com/bigtreetech/EBBBIGTREETECH-EBB36 CAN-V1.0-Connecting Klipper-19

  2. Upload the board’s configuration files to the Configuration files as shown below.BIGTREETECH-EBB36 CAN-V1.0-Connecting Klipper-20

  3. Add the board’s configuration to the file “printer.cfg”.
    [include sample-bigtreetech-ebb-canbus-v1.0.cfg]

  4. Revise the ID number of the configuration files as the actual ID of the board ( Via USB serial or CANBus).BIGTREETECH-EBB36 CAN-V1.0-Connecting Klipper-22

  5. Configure the specific functions of modules as instructed below:

https://www.klipper3d.org/Overview.html

Cautions

  1. When the TH0 interface doesn’t use PT1000, you can’t insert the jump cap on it, otherwise 100K NTC won’t be used as normal.
  2. When using CAN communication, you need to see whether it is used as a terminal. If it is, you must insert the jumper cap on the 120R position.
  3. When DIY crimping, you need to pay attention to the line sequences, and do DIY according to the Pin diagram so as to avoid the power line from being reversely connected or connected to the CAN signal, which will get the module burned.
  4. If there’s no external power supply during writing firmware via USB port, you need to short the VUSB by jumper cap so as to supply the module with working voltage.
  5. The load current of the heating rod and the fan interfaces shall not exceed the maximum withstand current to prevent the MOS tube from being burned out.

FAQ

Q: What’s the maximum current for the heating rod and fan interface?
A: The maximum output current of the heating rod port: 5A.
The maximum output current of the fan interface: 1A, peak value 1.5A.
The total current for the heating rod, stepper driver and fans needs to be less than 6A.
Q: Cannot update firmware via USB port?
A: You need to make sure that the jump cap is inserted on VUSB, and the indicator light on the board is on.

References

Read User Manual Online (PDF format)

Loading......

Download This Manual (PDF format)

Download this manual  >>

BIGTREETECH User Manuals

Related Manuals