/*
* Copyright (c) 2022 - 2023 Thomas Buck (thomas@xythobuz.de)
* Philipp Schönberger (mail@phschoen.de)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* See .
*/
// #######################
// ## Raspberry Pi Pico ##
// #######################
pico_w = 21;
pico_l = 51;
pico_d = 1.0;
pico_hole_d = 2.1;
pico_hole_x = 4.8;
pico_hole_y = 2.0;
pico_hole_d_x = 11.4;
pico_hole_d_y = pico_l - 2 * pico_hole_y;
pico_usb_w = 8.0;
pico_usb_h = 2.8;
pico_usb_d = 6.0;
pico_usb_off = 1.3;
pico_co_w = pico_w + 1;
pico_co_l = pico_l + 1;
reset_button_dia = 4.0;
reset_button_off_x = 7;
reset_button_off_y = 12.15;
pico_support_w = 6.5;
pico_support_l = 5;
pico_screw_depth = 6;
pico_screw_d = 1.8;
use
module pico_wrap()
{
translate([0,0,3.9])
rotate([0,180,0])
if (use_external_pico_model)
translate([-pico_w / 2, -pico_l / 2, 0])
pico();
else
pico_own();
}
module pico_own()
{
translate([-pico_w / 2, -pico_l / 2, 0])
difference() {
union() {
color("green")
cube([pico_w, pico_l, pico_d]);
translate([(pico_w - pico_usb_w) / 2, pico_l - pico_usb_d + pico_usb_off, pico_d])
cube([pico_usb_w, pico_usb_d, pico_usb_h]);
}
for (x = [0, pico_hole_d_x])
for (y = [0, pico_hole_d_y])
translate([pico_hole_x + x, pico_hole_y + y, -1])
cylinder(d = pico_hole_d, h = pico_d + 2);
}
}