James's first 3D printer — a Bambu Lab H2C Vortek Ultimate — arrived two days early. First 48 hours: six prints, one account fight, and a local API. The log:

Setup

H2C on a temporary bench while its BIQU Panda Station cabinet finishes shipping (it moves over — and gets a full recalibration — when the stand lands). Commissioning by Bambu's book: shipping screws out, first calibration before pulling the bed foam, induction rack calibrated empty, then hotends in and Read All. All-0.4 induction rack on the right, 0.4 standard on the left, one AMS 2 Pro wired. Everything printed the first two days ran on one borrowed spool of vacuum-sealed matte grey PLA.

The H2C on its stand mid-first-calibration: touchscreen reads Calibration Running, Homing toolhead, with the textured build plate and dual-nozzle toolhead visible in the open chamber.
First calibration, minutes after unboxing: "Homing toolhead, 0%". About 25 minutes of self-test follow. Photo by James, unaltered.

The Prints

PrintWorkflow learned
Benchy — clean hull, bridges, chimney; cosmetic stringing onlyBuilt-in files
Slim purge bin (213 g) — the rear chute ejects onto the floor otherwiseMakerWorld → Open in Studio
Gridfinity 2×2 baseplate + bins — snug on-spec fit, dimensional accuracy cleared with zero tuningParametric generator → STL import
Cable organizers + large bag clips, batch platesClone + auto-arrange (print 1, verify, then batch)
First Bisley 4×5 baseplate — fit the drawer with marginProduction

One batch lesson: a corner part lost adhesion and spaghettied while its 19 siblings printed fine. Check the camera ten minutes in, avoid plate corners, keep AI spaghetti detection on.

First print off the H2C: a matte grey PLA Benchy tugboat on the workbench, clean hull and chimney with faint stringing wisps.
Print #1: the obligatory Benchy, matte grey PLA. Photo by James, unaltered.

What Fought Back: Accounts, Not Hardware

Setting up any Bambu printer: create one account with an email and password before it arrives, use it everywhere, never touch the SSO buttons.

Bisley Drawers → Gridfinity

Drawer interiors (9.21" × 14.76" ≈ 234 × 375 mm) = a 5×8 grid, printed as two 4×5 plates (an 8-wide plate exceeds the bed). Heights: shallow top drawers get 2u bins or plain trays, middle drawers 5u (6u sits flush and jams), bottom drawers 12u. Foam liners come out — plates want bare steel.

Local API

The printer is now scriptable. On current H2 firmware, local MQTT is gated behind LAN Only mode + Developer Mode (the toggle is greyed until LAN Only is on). Real trade: cloud, Handy, and MakerWorld one-click printing all die. In exchange: MQTT over TLS on port 8883, user bblp, password = the printer's access code. Subscribe to device/<serial>/report, request a pushall, and everything the Studio Device tab knows streams back — state, progress, layers, temps, HMS errors, per-slot AMS contents, even the AMS's internal humidity. Pause/resume/speed/G-code ride the same channel.

A ~60-line paho-mqtt smoke test verified the path first try: gcode_state: FINISH, 59/59 layers from the baseplate that had just wrapped. See OpenBambuAPI for topics and payloads.

Verdicts

In the queue: Bisley plates and bins (PLA truck), "Print Funland" two-color bag clips (PETG truck), the dual-AMS stacking bracket, and DGX Spark rack parts in PETG-CF through a tungsten carbide hotend — printed before the Track Switch installs, since the switch disables the external spool path CF feeds from. Next update when the drawers are gridded and the AMS stack goes vertical.