Check out my first novel, midnight's simulacra!
Bambu Carbon X1C: Difference between revisions
No edit summary |
No edit summary |
||
(37 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
My Bambu Carbon X1C arrived 2022-10-10, after preordering in August 2022. | My Bambu Carbon X1C arrived 2022-10-10, after preordering in August 2022. It is an incredible machine, far superior to anything I had before. It's not cheap (I paid $1300 iirc), but spare parts are very reasonably priced despite the closed ecosystem (not <b>that</b> closed, though; there are alternate firmwares, such as [https://github.com/X1Plus/X1Plus/wiki X1Plus], but I have not used them). | ||
The X1 occupies an area of 389mm² and has a height of 457mm. | |||
I have a page about [[Filaments|Bambu filaments]]. | |||
==[[MQTT]]== | |||
The X1C makes an MQTT broker available on port 8883 (earlier firmware ran it on 1883, which is closed in recent firmware). Enable TLS, use the username <tt>bblp</tt>, and use the LAN mode password displayed on your Bambu. The information provided is pretty extensive. The # topic wildcard is supported, but the money topic is <tt>device/DEVID/report</tt>. Control of the Bambu is achieved via posting to <tt>device/DEVID/request</tt>. | |||
==Fan cables== | |||
The X1C uses a JST MX 1.25 connector for fans, not the standard [[PC_Fans|PC fan]] connector. The cables are colored as follows: | |||
{| class="wikitable" | |||
|- | |||
! Color !! Function | |||
|- | |||
| Black || Power (24V) | |||
|- | |||
| Dark gray || Ground | |||
|- | |||
| Light gray || Tach | |||
|- | |||
| White || PWM | |||
|- | |||
|} | |||
The [https://us.store.bambulab.com/products/auxiliary-part-cooling-fan auxiliary fan] runs 3200 rpm at 24V. | |||
==Mods in use== | ==Mods in use== | ||
* 4x [https://www.printables.com/model/513350-the-senate-ams-feeder-button-and-protector-for-bam The SENATE] AMS feeder button covers | All mods were printed on the X1C itself. | ||
* [https://www.printables.com/model/272525-bentobox-v20-carbon-filter-for-bambu-lab-x1c-enclo BentoBox 2.0] HEPA filter+charcoal+fan stack plus [https://www.printables.com/model/469451-power-cable-guide-for-bentobox power cable cover] | |||
* 2x [https://www.printables.com/model/262067-bambu-lab-ams-desiccant-tray AMS desiccant trays] | * Using Bambu's [https://us.store.bambulab.com/collections/asa-abs/products/abs-filament?variant=41216786432136 black ABS]: | ||
* 3x [https://makerworld.com/en/models/32780#profileId-37750 AMS desiccant boxes] | ** 4x [https://www.printables.com/model/513350-the-senate-ams-feeder-button-and-protector-for-bam The SENATE] AMS feeder button covers | ||
** Build plate [https://www.printables.com/model/605739-build-plate-guide-extensions-for-bambu-labs-x1-and corner guide] | |||
** Hinged top glass [https://makerworld.com/en/models/57847#profileId-70813 riser] | |||
* Using Bambu's [https://www.3d-printer.com/products/c37978a9fe/163943000026640717 Black Clear polycarbonate]: | |||
** [https://www.printables.com/model/272525-bentobox-v20-carbon-filter-for-bambu-lab-x1c-enclo BentoBox 2.0] HEPA filter+charcoal+fan stack plus [https://www.printables.com/model/469451-power-cable-guide-for-bentobox power cable cover] | |||
* Using Atomic Filament's [https://atomicfilament.com/products/crystal-clear-natural-petg-pro Crystal Clear PETG]: | |||
** 2x [https://www.printables.com/model/262067-bambu-lab-ams-desiccant-tray AMS desiccant trays] | |||
** 3x [https://makerworld.com/en/models/32780#profileId-37750 AMS desiccant boxes] | |||
The AMS desiccant boxes and trays are great (and the hygrometer fits into the center one perfectly); with them in place, my AMS gets to about 10% humidity despite living in humid Atlanta (my condo at large tends towards 50%+). Every time you open the AMS, it will exchange air with the outside, and humidity will go back up, so keep it closed (and locked--there are two swiveling locks in the corners, easy to miss). Remember, your filaments will be absorbing that water along with your desiccants, and the desiccants aren't going to pull water out of the filaments; for that, you need active drying (I use a $40 food dehydrator, none of those fancy filament dryers, and the Carbon can dry filaments itself thanks to its heated enclosure). | |||
The top glass riser is great for printing PLA/PETG, where you want some airflow but might not want to leave the front door hanging open. Unfortunately, it doesn't play nicely with an AMS atop the X1. | |||
The BentoBox is designed to filter out some of the VOCs generated when printing certain materials. It wants two 40mm fans, a HEPA filter, and activated acid-free charcoal (it is claimed that acidful charcoal will fuck up your printer; I don't know anything about it). I had several Delta 40mm screamers free I'd pulled from an [[Aruba_2500-48p|Aruba switch]] ([[Noctua]] NF-A4s are <b>not</b> strong enough to effectively draw air through the tower, sadly). I tapped into the AMS's 24V circuit using a [https://www.etsy.com/listing/1460463476/bambu-power-tap-v13-kit Power Tap v1.3] (see below). The fans are 12V, so I employed a LMS2596 buck converter to efficiently drop the voltage. The BentoBox only serves to draw air through the filter and charcoal; it doesn't vent to the outside or anything. I'll be changing up the power source for this stack; see below. | |||
==Additions== | |||
* Bambu [https://us.store.bambulab.com/products/anti-vibration-feet-for-p1p anti-vibration feet] | * Bambu [https://us.store.bambulab.com/products/anti-vibration-feet-for-p1p anti-vibration feet] | ||
* Bambu [https://us.store.bambulab.com/products/bambu-4-in-1-ptfe-adapter 4-in-1 PTFE adapter] | |||
* FYSETC [https://www.aliexpress.us/item/3256806332585237.html PEI plate] | * FYSETC [https://www.aliexpress.us/item/3256806332585237.html PEI plate] | ||
* [https://www. | * SILESS [https://www.amazon.com/Siless-Black-sqft-Sound-Deadening/dp/B0CXNJM8P1 VIBRO 2mm] sound deadening mat | ||
* | * 3dMachinist's [https://www.etsy.com/listing/1460463476/bambu-power-tap-v13-kit Power Tap Kit v1.3] | ||
The anti-vibration feet reduced noise and shaking significantly. Some people complain that they're not held in by anything other than friction, but my experience is that if you shove them in hard enough, there's no problem. A PEI plate kept clean will eliminate the glue necessitated by the stock cold plate. Spend the extra $10 for a plate that can be detected by the Carbon; my FYSTEC was $13. The SILESS material went along the bottom and sides. | |||
The Power Tap Kit accepts a 6-pin AMS cable, and bridges it to a 6-pin AMS output plus a 24V female barreljack. This allows you to easily break out the 24V line for external power consumption. You could just cut the AMS cable, add two splitters, and solder/hotwrap everything back together, but this is a nice, clean PCB in an attractive box, for $9. | |||
==Major systems== | |||
These will both require some substantial printing. | |||
===Babo Duo=== | |||
The [https://www.themakersphere.com/bambu-lab-storage-box-for-organization/ Babo storage system] is a modular set of drawers, risers, and inserts. I've got: | |||
* [https://makerworld.com/en/models/51390#profileId-70149 Honeycomb riser for AMS] and [https://makerworld.com/en/models/93943#profileId-100656 spool holder] for same | |||
* [https://www.printables.com/model/590059-babo-duo-ams-adapter-modul AMS adapter] | |||
* 2x [https://www.printables.com/model/576213-babo-drawer-modul-30 Modul 30s] | |||
and numerous inserts. I printed in a mix of Atomic Filament Emerald Green PLA, Bambu Black AMS, and Overture Green TPU. The riser has two sides offering the [https://www.printables.com/model/152592-honeycomb-storage-wall honeycomb system] for further extension; I have an external spool holder built into one side for filaments incompatible with the AMS (e.g. TPU). | |||
===AMS Hydra Pro=== | |||
This [https://www.printables.com/model/680027-hydra-pro-advanced-bambu-lab-ams replacement of the AMS innards] allows one to use larger spools, along with other advantages. | |||
===Electronics=== | |||
I'll be adding an [[ESP32]] plus: | |||
* DS18B20 [https://en.wikipedia.org/wiki/1-Wire 1-Wire] temperature sensor | |||
* a HiLetgo 3-01-0340 5V relay | |||
* a Molex [[PC Fans|4-pin fan]] plug | |||
* an SSD1306 OLED display | |||
* a 60C normally-closed temperature switch | |||
* a 120VAC -> 12V 2A AC adapter | |||
* a 120VACV ceramic heating element | |||
* a LMS2596 buck converter taking 12V to 5V | |||
* a CCS811 VOC sensor | |||
The AC adapter theoretically offers 120W, but it's safer to assume no more than 90W (¾ of the rated output). This will be used to drive our heating elements and fans. The Arduino itself is powered off the AMS circuit. Leaving aside peripherals, it ought not draw more than 125 mA, even when transmitting on wireless. This ought be safe, and is less than our fans were previously drawing from the AMS. Remember, Bambu doesn't guarantee any slack on the AMS circuit, and expressly instructs you not to draw from it. | |||
The | The temperature switch is a final guard against a failure in power control; it will open (disabling the heater) at 60C, the maximum temperature we want in the chamber. The Arduino enables the heater when either: | ||
* the chamber temperature, as measured by the DS18B20, is below 10C, and anything is being printed, or | |||
* the filament being printed is associated with a desired chamber temperature, and the chamber temperature, as measured by the DS18B20, is below that temperature. no filament is associated with a desired chamber temperature above 60C. | |||
The Arduino enables the fans (via PWM) when either: | |||
* the filament being printed is associated with toxicity, or | |||
* the VOC detector indicates more VOCs than normal | |||
These filament associations are encoded in the firmware. The filament being printed is acquired from the Bambu's MQTT. The VOC detector may fire even when there is no printing going on (it is expected, for instance, to run for some time after conclusion of a print). | |||
====Details==== | |||
We use pin D2 for the fan tachometer, employing a hardware interrupt. We use pin D3 for the 25KHz fan PWM, employing hardware PWM. The DS18B20 is read on D4. The relay is controlled via D5. D14 (SDA) and D15 (SCL) control the CCS811 using I2C. | |||
[[CATEGORY: 3D | [[CATEGORY: Hardware]] | ||
[[CATEGORY: Projects]] | |||
[[CATEGORY: 3D Printing]] |
Latest revision as of 15:52, 8 September 2024
My Bambu Carbon X1C arrived 2022-10-10, after preordering in August 2022. It is an incredible machine, far superior to anything I had before. It's not cheap (I paid $1300 iirc), but spare parts are very reasonably priced despite the closed ecosystem (not that closed, though; there are alternate firmwares, such as X1Plus, but I have not used them).
The X1 occupies an area of 389mm² and has a height of 457mm.
I have a page about Bambu filaments.
MQTT
The X1C makes an MQTT broker available on port 8883 (earlier firmware ran it on 1883, which is closed in recent firmware). Enable TLS, use the username bblp, and use the LAN mode password displayed on your Bambu. The information provided is pretty extensive. The # topic wildcard is supported, but the money topic is device/DEVID/report. Control of the Bambu is achieved via posting to device/DEVID/request.
Fan cables
The X1C uses a JST MX 1.25 connector for fans, not the standard PC fan connector. The cables are colored as follows:
Color | Function |
---|---|
Black | Power (24V) |
Dark gray | Ground |
Light gray | Tach |
White | PWM |
The auxiliary fan runs 3200 rpm at 24V.
Mods in use
All mods were printed on the X1C itself.
- Using Bambu's black ABS:
- 4x The SENATE AMS feeder button covers
- Build plate corner guide
- Hinged top glass riser
- Using Bambu's Black Clear polycarbonate:
- BentoBox 2.0 HEPA filter+charcoal+fan stack plus power cable cover
- Using Atomic Filament's Crystal Clear PETG:
The AMS desiccant boxes and trays are great (and the hygrometer fits into the center one perfectly); with them in place, my AMS gets to about 10% humidity despite living in humid Atlanta (my condo at large tends towards 50%+). Every time you open the AMS, it will exchange air with the outside, and humidity will go back up, so keep it closed (and locked--there are two swiveling locks in the corners, easy to miss). Remember, your filaments will be absorbing that water along with your desiccants, and the desiccants aren't going to pull water out of the filaments; for that, you need active drying (I use a $40 food dehydrator, none of those fancy filament dryers, and the Carbon can dry filaments itself thanks to its heated enclosure).
The top glass riser is great for printing PLA/PETG, where you want some airflow but might not want to leave the front door hanging open. Unfortunately, it doesn't play nicely with an AMS atop the X1.
The BentoBox is designed to filter out some of the VOCs generated when printing certain materials. It wants two 40mm fans, a HEPA filter, and activated acid-free charcoal (it is claimed that acidful charcoal will fuck up your printer; I don't know anything about it). I had several Delta 40mm screamers free I'd pulled from an Aruba switch (Noctua NF-A4s are not strong enough to effectively draw air through the tower, sadly). I tapped into the AMS's 24V circuit using a Power Tap v1.3 (see below). The fans are 12V, so I employed a LMS2596 buck converter to efficiently drop the voltage. The BentoBox only serves to draw air through the filter and charcoal; it doesn't vent to the outside or anything. I'll be changing up the power source for this stack; see below.
Additions
- Bambu anti-vibration feet
- Bambu 4-in-1 PTFE adapter
- FYSETC PEI plate
- SILESS VIBRO 2mm sound deadening mat
- 3dMachinist's Power Tap Kit v1.3
The anti-vibration feet reduced noise and shaking significantly. Some people complain that they're not held in by anything other than friction, but my experience is that if you shove them in hard enough, there's no problem. A PEI plate kept clean will eliminate the glue necessitated by the stock cold plate. Spend the extra $10 for a plate that can be detected by the Carbon; my FYSTEC was $13. The SILESS material went along the bottom and sides.
The Power Tap Kit accepts a 6-pin AMS cable, and bridges it to a 6-pin AMS output plus a 24V female barreljack. This allows you to easily break out the 24V line for external power consumption. You could just cut the AMS cable, add two splitters, and solder/hotwrap everything back together, but this is a nice, clean PCB in an attractive box, for $9.
Major systems
These will both require some substantial printing.
Babo Duo
The Babo storage system is a modular set of drawers, risers, and inserts. I've got:
- Honeycomb riser for AMS and spool holder for same
- AMS adapter
- 2x Modul 30s
and numerous inserts. I printed in a mix of Atomic Filament Emerald Green PLA, Bambu Black AMS, and Overture Green TPU. The riser has two sides offering the honeycomb system for further extension; I have an external spool holder built into one side for filaments incompatible with the AMS (e.g. TPU).
AMS Hydra Pro
This replacement of the AMS innards allows one to use larger spools, along with other advantages.
Electronics
I'll be adding an ESP32 plus:
- DS18B20 1-Wire temperature sensor
- a HiLetgo 3-01-0340 5V relay
- a Molex 4-pin fan plug
- an SSD1306 OLED display
- a 60C normally-closed temperature switch
- a 120VAC -> 12V 2A AC adapter
- a 120VACV ceramic heating element
- a LMS2596 buck converter taking 12V to 5V
- a CCS811 VOC sensor
The AC adapter theoretically offers 120W, but it's safer to assume no more than 90W (¾ of the rated output). This will be used to drive our heating elements and fans. The Arduino itself is powered off the AMS circuit. Leaving aside peripherals, it ought not draw more than 125 mA, even when transmitting on wireless. This ought be safe, and is less than our fans were previously drawing from the AMS. Remember, Bambu doesn't guarantee any slack on the AMS circuit, and expressly instructs you not to draw from it.
The temperature switch is a final guard against a failure in power control; it will open (disabling the heater) at 60C, the maximum temperature we want in the chamber. The Arduino enables the heater when either:
- the chamber temperature, as measured by the DS18B20, is below 10C, and anything is being printed, or
- the filament being printed is associated with a desired chamber temperature, and the chamber temperature, as measured by the DS18B20, is below that temperature. no filament is associated with a desired chamber temperature above 60C.
The Arduino enables the fans (via PWM) when either:
- the filament being printed is associated with toxicity, or
- the VOC detector indicates more VOCs than normal
These filament associations are encoded in the firmware. The filament being printed is acquired from the Bambu's MQTT. The VOC detector may fire even when there is no printing going on (it is expected, for instance, to run for some time after conclusion of a print).
Details
We use pin D2 for the fan tachometer, employing a hardware interrupt. We use pin D3 for the 25KHz fan PWM, employing hardware PWM. The DS18B20 is read on D4. The relay is controlled via D5. D14 (SDA) and D15 (SCL) control the CCS811 using I2C.