// ============================================================================ // Kidsbox enclosure — parameters // All dimensions in millimetres. Edit here, then re-export the STLs. // See README.md for the export commands. // ============================================================================ // ---- global print settings ------------------------------------------------ $fn = 64; // facet count for curves (raise for final render) wall = 3.0; // shell wall thickness floor_t = 3.0; // bottom thickness corner_r = 6.0; // outer vertical-edge radius fit = 0.30; // general clearance for mating parts (per side) // ---- outer box dimensions (interior is derived) --------------------------- box_w = 190; // width (X) — roughly one banana, per reference photo box_h = 110; // height (Z) box_d = 115; // depth (Y) // derived interior inner_w = box_w - 2*wall; inner_d = box_d - 2*wall; inner_h = box_h - floor_t; // open-top shell, lid closes it // ---- lid ------------------------------------------------------------------- lid_t = 2.4; // thin enough for 13.56 MHz NFC to read through PLA lid_rim_h = 6.0; // depth of the lip that drops into the box lid_rim_t = 1.6; // thickness of that lip lid_screw_d = 3.2; // M3 clearance lid_boss_d = 9.0; // corner screw-boss outer diameter lid_boss_inset = 9.0; // boss centre inset from interior corner // ---- speaker panel interface (FIXED) -------------------------------------- // This is the standard "mount for the speaker mount". Every swappable // speaker adapter bolts to THIS pattern, so the box never changes. spk_sound_d = 66; // sound opening through the front panel spk_bolt_d = 80; // bolt circle for the adapter screws spk_bolt_count = 4; // number of adapter screws spk_bolt_hole_d = 3.2; // M3 clearance through the panel spk_boss_d = 8.0; // screw boss diameter on the inside of the panel spk_boss_h = 5.0; // screw boss height (into the box) spk_spacing = 94; // centre-to-centre of the two speakers (X) spk_center_z = 48; // speaker centre height from the box floor (Z) // ---- swappable speaker ADAPTER (edit for YOUR speaker) --------------------- // Print one adapter per speaker model. Defaults suit a common 3" driver. adapter_t = 3.0; // adapter plate thickness adapter_outer_d = 88; // outer diameter of the adapter disc spk_frame_d = 66; // speaker outer frame diameter (seat recess) spk_frame_seat = 1.5; // depth the frame sinks into the adapter spk_cutout_d = 58; // cone clearance hole through the adapter spk_screw_count = 4; // the SPEAKER's own mounting holes spk_screw_bolt_d = 60; // bolt circle of the speaker's mounting holes spk_screw_d = 3.0; // speaker screw clearance // ---- speaker grill (snaps into the sound opening) ------------------------- grill_t = 2.4; // grill face thickness grill_rings = 3; // number of concentric rings grill_spokes = 6; // number of radial spokes grill_lip_h = 5.0; // snap lip depth into the sound hole grill_standoff = 3.0; // gap the grill holds off the cone // ---- buttons (top lid, row near the front edge) --------------------------- // Kept off the front face (which stays clean like the reference box) and // clear of the central NFC reader, which sits under the lid centre. btn_d = 12.2; // panel hole for a 12 mm momentary switch btn_count = 3; // vol-, play/pause, vol+ btn_pitch = 26; // spacing between buttons along X btn_row_y = 18; // distance of the button row from the front wall // ---- side ports ------------------------------------------------------------ usb_w = 12; // micro-USB / charge access cutout (W) usb_h = 7; // (H) usb_center_z = 22; // height of the port from the floor sw_d = 7; // power slide-switch hole diameter sw_center_z = 22; // ---- ESP32-LyraT v4.3 mount (verify against your board) ------------------- lyrat_w = 99; // board long edge lyrat_d = 57; // board short edge lyrat_hole_dx = 92; // mounting-hole rectangle, long axis (VERIFY) lyrat_hole_dy = 50; // mounting-hole rectangle, short axis (VERIFY) lyrat_standoff_h = 6; // standoff height off the floor lyrat_standoff_d = 6; // standoff outer diameter lyrat_screw_d = 2.6; // self-tap for M2.5/M3 // ---- 2x 18650 battery holder cradle --------------------------------------- batt_holder_w = 78; // typical 2-cell holder footprint (X) batt_holder_d = 39; // (Y) batt_holder_h = 21; // (Z) batt_wall = 2.0; // cradle wall batt_clip = true; // add retaining clips // ---- ventilation ----------------------------------------------------------- vent_slot_w = 3; vent_slot_len = 28; vent_count = 5;