Devesh36/pocket-audio-player

A portable, rechargeable microSD audio player built around an RP2040, SPI flash, USB‑C charging/power management, LCD/button controls, PCM5102A I²S DAC, and TPA6132A headphone amplifier in a 3D‑printed enclosure.

Version
1.0.12
License
unset
Stars
0

dist/enclosure/case-lid.jscad.json

{
  "type": "translate",
  "vector": [
    0,
    0,
    0
  ],
  "shape": {
    "type": "colorize",
    "color": [
      0.9607843137254902,
      0.9647058823529412,
      0.9568627450980393
    ],
    "shape": {
      "type": "union",
      "shapes": [
        {
          "type": "subtract",
          "shapes": [
            {
              "type": "union",
              "shapes": [
                {
                  "type": "subtract",
                  "shapes": [
                    {
                      "type": "translate",
                      "vector": [
                        0,
                        -7,
                        7.4
                      ],
                      "shape": {
                        "type": "extrudeLinear",
                        "options": {
                          "height": 3.2
                        },
                        "shape": {
                          "type": "polygon",
                          "points": [
                            [
                              31.4,
                              50.3
                            ],
                            [
                              31.36577944549524,
                              50.8221047688802
                            ],
                            [
                              31.263703305156273,
                              51.33527618041008
                            ],
                            [
                              31.095518130045146,
                              51.830733729460356
                            ],
                            [
                              30.864101615137752,
                              52.3
                            ],
                            [
                              30.57341336116494,
                              52.73504571603488
                            ],
                            [
                              30.22842712474619,
                              53.12842712474619
                            ],
                            [
                              29.83504571603488,
                              53.47341336116494
                            ],
                            [
                              29.4,
                              53.764101615137754
                            ],
                            [
                              28.930733729460357,
                              53.99551813004514
                            ],
                            [
                              28.43527618041008,
                              54.16370330515627
                            ],
                            [
                              27.922104768880207,
                              54.26577944549524
                            ],
                            [
                              27.4,
                              54.3
                            ],
                            [
                              -27.4,
                              54.3
                            ],
                            [
                              -27.922104768880203,
                              54.26577944549524
                            ],
                            [
                              -28.43527618041008,
                              54.16370330515627
                            ],
                            [
                              -28.930733729460357,
                              53.99551813004514
                            ],
                            [
                              -29.4,
                              53.764101615137754
                            ],
                            [
                              -29.83504571603488,
                              53.47341336116494
                            ],
                            [
                              -30.22842712474619,
                              53.12842712474619
                            ],
                            [
                              -30.57341336116494,
                              52.735045716034875
                            ],
                            [
                              -30.864101615137752,
                              52.3
                            ],
                            [
                              -31.095518130045146,
                              51.830733729460356
                            ],
                            [
                              -31.263703305156273,
                              51.33527618041008
                            ],
                            [
                              -31.36577944549524,
                              50.8221047688802
                            ],
                            [
                              -31.4,
                              50.3
                            ],
                            [
                              -31.4,
                              -50.3
                            ],
                            [
                              -31.36577944549524,
                              -50.8221047688802
                            ],
                            [
                              -31.263703305156273,
                              -51.33527618041008
                            ],
                            [
                              -31.095518130045146,
                              -51.830733729460356
                            ],
                            [
                              -30.864101615137752,
                              -52.3
                            ],
                            [
                              -30.57341336116494,
                              -52.735045716034875
                            ],
                            [
                              -30.22842712474619,
                              -53.12842712474619
                            ],
                            [
                              -29.835045716034884,
                              -53.47341336116494
                            ],
                            [
                              -29.4,
                              -53.76410161513775
                            ],
                            [
                              -28.93073372946036,
                              -53.99551813004514
                            ],
                            [
                              -28.43527618041008,
                              -54.16370330515627
                            ],
                            [
                              -27.922104768880207,
                              -54.26577944549524
                            ],
                            [
                              -27.4,
                              -54.3
                            ],
                            [
                              27.4,
                              -54.3
                            ],
                            [
                              27.922104768880203,
                              -54.26577944549524
                            ],
                            [
                              28.435276180410078,
                              -54.16370330515627
                            ],
                            [
                              28.930733729460357,
                              -53.99551813004514
                            ],
                            [
                              29.4,
                              -53.764101615137754
                            ],
                            [
                              29.83504571603488,
                              -53.47341336116494
                            ],
                            [
                              30.228427124746187,
                              -53.12842712474619
                            ],
                            [
                              30.57341336116494,
                              -52.73504571603488
                            ],
                            [
                              30.864101615137752,
                              -52.3
                            ],
                            [
                              31.095518130045143,
                              -51.830733729460356
                            ],
                            [
                              31.263703305156273,
                              -51.33527618041008
                            ],
                            [
                              31.36577944549524,
                              -50.8221047688802
                            ],
                            [
                              31.4,
                              -50.3
                            ]
                          ]
                        }
                      }
                    },
                    {
                      "type": "translate",
                      "vector": [
                        0,
                        -7,
                        6.4
                      ],
                      "shape": {
                        "type": "extrudeLinear",
                        "options": {
                          "height": 3
                        },
                        "shape": {
                          "type": "polygon",
                          "points": [
                            [
                              30.5,
                              51
                            ],
                            [
                              30.482889722747622,
                              51.261052384440106
                            ],
                            [
                              30.431851652578136,
                              51.51763809020504
                            ],
                            [
                              30.347759065022572,
                              51.76536686473018
                            ],
                            [
                              30.23205080756888,
                              52
                            ],
                            [
                              30.08670668058247,
                              52.21752285801744
                            ],
                            [
                              29.914213562373096,
                              52.41421356237309
                            ],
                            [
                              29.717522858017443,
                              52.58670668058247
                            ],
                            [
                              29.5,
                              52.732050807568875
                            ],
                            [
                              29.26536686473018,
                              52.84775906502257
                            ],
                            [
                              29.01763809020504,
                              52.93185165257814
                            ],
                            [
                              28.761052384440102,
                              52.98288972274762
                            ],
                            [
                              28.5,
                              53
                            ],
                            [
                              -28.5,
                              53
                            ],
                            [
                              -28.761052384440102,
                              52.98288972274762
                            ],
                            [
                              -29.017638090205043,
                              52.93185165257814
                            ],
                            [
                              -29.26536686473018,
                              52.84775906502257
                            ],
                            [
                              -29.5,
                              52.732050807568875
                            ],
                            [
                              -29.717522858017443,
                              52.58670668058247
                            ],
                            [
                              -29.914213562373096,
                              52.41421356237309
                            ],
                            [
                              -30.08670668058247,
                              52.21752285801744
                            ],
                            [
                              -30.23205080756888,
                              52
                            ],
                            [
                              -30.347759065022572,
                              51.76536686473018
                            ],
                            [
                              -30.431851652578136,
                              51.51763809020504
                            ],
                            [
                              -30.482889722747622,
                              51.261052384440106
                            ],
                            [
                              -30.5,
                              51
                            ],
                            [
                              -30.5,
                              -51
                            ],
                            [
                              -30.482889722747622,
                              -51.261052384440106
                            ],
                            [
                              -30.431851652578136,
                              -51.51763809020504
                            ],
                            [
                              -30.347759065022572,
                              -51.76536686473018
                            ],
                            [
                              -30.23205080756888,
                              -52
                            ],
                            [
                              -30.08670668058247,
                              -52.21752285801744
                            ],
                            [
                              -29.914213562373096,
                              -52.41421356237309
                            ],
                            [
                              -29.717522858017443,
                              -52.586706680582466
                            ],
                            [
                              -29.5,
                              -52.732050807568875
                            ],
                            [
                              -29.26536686473018,
                              -52.84775906502257
                            ],
                            [
                              -29.01763809020504,
                              -52.93185165257814
                            ],
                            [
                              -28.761052384440102,
                              -52.98288972274762
                            ],
                            [
                              -28.5,
                              -53
                            ],
                            [
                              28.5,
                              -53
                            ],
                            [
                              28.761052384440102,
                              -52.98288972274762
                            ],
                            [
                              29.01763809020504,
                              -52.93185165257814
                            ],
                            [
                              29.26536686473018,
                              -52.84775906502257
                            ],
                            [
                              29.5,
                              -52.732050807568875
                            ],
                            [
                              29.717522858017443,
                              -52.58670668058247
                            ],
                            [
                              29.914213562373096,
                              -52.41421356237309
                            ],
                            [
                              30.08670668058247,
                              -52.21752285801744
                            ],
                            [
                              30.232050807568875,
                              -52
                            ],
                            [
                              30.347759065022572,
                              -51.76536686473018
                            ],
                            [
                              30.431851652578136,
                              -51.51763809020504
                            ],
                            [
                              30.482889722747622,
                              -51.261052384440106
                            ],
                            [
                              30.5,
                              -51
                            ]
                          ]
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "translate",
                  "vector": [
                    -22.8,
                    6.3500000000000005,
                    8.75
                  ],
                  "shape": {
                    "type": "cylinder",
                    "radius": 1.7,
                    "height": 1.3
                  }
                },
                {
                  "type": "translate",
                  "vector": [
                    -22.8,
                    28.05,
                    8.75
                  ],
                  "shape": {
                    "type": "cylinder",
                    "radius": 1.7,
                    "height": 1.3
                  }
                },
                {
                  "type": "translate",
                  "vector": [
                    22.8,
                    6.3500000000000005,
                    8.75
                  ],
                  "shape": {
                    "type": "cylinder",
                    "radius": 1.7,
                    "height": 1.3
                  }
                },
                {
                  "type": "translate",
                  "vector": [
                    22.8,
                    28.05,
                    8.75
                  ],
                  "shape": {
                    "type": "cylinder",
                    "radius": 1.7,
                    "height": 1.3
                  }
                }
              ]
            },
            {
              "type": "translate",
              "vector": [
                -22.8,
                6.3500000000000005,
                8.5
              ],
              "shape": {
                "type": "cylinder",
                "radius": 0.75,
                "height": 2.5
              }
            },
            {
              "type": "translate",
              "vector": [
                -22.8,
                28.05,
                8.5
              ],
              "shape": {
                "type": "cylinder",
                "radius": 0.75,
                "height": 2.5
              }
            },
            {
              "type": "translate",
              "vector": [
                22.8,
                6.3500000000000005,
                8.5
              ],
              "shape": {
                "type": "cylinder",
                "radius": 0.75,
                "height": 2.5
              }
            },
            {
              "type": "translate",
              "vector": [
                22.8,
                28.05,
                8.5
              ],
              "shape": {
                "type": "cylinder",
                "radius": 0.75,
                "height": 2.5
              }
            },
            {
              "type": "translate",
              "vector": [
                -28,
                -57,
                9.9
              ],
              "shape": {
                "type": "cylinder",
                "radius": 1.6,
                "height": 1.2
              }
            },
            {
              "type": "translate",
              "vector": [
                -28,
                43,
                9.9
              ],
              "shape": {
                "type": "cylinder",
                "radius": 1.6,
                "height": 1.2
              }
            },
            {
              "type": "translate",
              "vector": [
                28,
                -57,
                9.9
              ],
              "shape": {
                "type": "cylinder",
                "radius": 1.6,
                "height": 1.2
              }
            },
            {
              "type": "translate",
              "vector": [
                28,
                43,
                9.9
              ],
              "shape": {
                "type": "cylinder",
                "radius": 1.6,
                "height": 1.2
              }
            },
            {
              "type": "translate",
              "vector": [
                0,
                17.2,
                0
              ],
              "shape": {
                "type": "translate",
                "vector": [
                  0,
                  0,
                  6.9
                ],
                "shape": {
                  "type": "extrudeLinear",
                  "options": {
                    "height": 7
                  },
                  "shape": {
                    "type": "polygon",
                    "points": [
                      [
                        21.86,
                        10.35
                      ],
                      [
                        21.847167292060714,
                        10.545789288330077
                      ],
                      [
                        21.808888739433602,
                        10.738228567653781
                      ],
                      [
                        21.74581929876693,
                        10.924025148547635
                      ],
                      [
                        21.659038105676657,
                        11.1
                      ],
                      [
                        21.550030010436853,
                        11.26314214351308
                      ],
                      [
                        21.420660171779822,
                        11.41066017177982
                      ],
                      [
                        21.27314214351308,
                        11.540030010436853
                      ],
                      [
                        21.11,
                        11.649038105676658
                      ],
                      [
                        20.934025148547633,
                        11.73581929876693
                      ],
                      [
                        20.74822856765378,
                        11.798888739433602
                      ],
                      [
                        20.555789288330075,
                        11.837167292060716
                      ],
                      [
                        20.36,
                        11.85
                      ],
                      [
                        -20.36,
                        11.85
                      ],
                      [
                        -20.555789288330075,
                        11.837167292060716
                      ],
                      [
                        -20.74822856765378,
                        11.798888739433602
                      ],
                      [
                        -20.934025148547633,
                        11.73581929876693
                      ],
                      [
                        -21.11,
                        11.649038105676658
                      ],
                      [
                        -21.27314214351308,
                        11.540030010436853
                      ],
                      [
                        -21.420660171779822,
                        11.41066017177982
                      ],
                      [
                        -21.550030010436853,
                        11.26314214351308
                      ],
                      [
                        -21.659038105676657,
                        11.1
                      ],
                      [
                        -21.74581929876693,
                        10.924025148547635
                      ],
                      [
                        -21.808888739433602,
                        10.738228567653781
                      ],
                      [
                        -21.847167292060714,
                        10.545789288330077
                      ],
                      [
                        -21.86,
                        10.35
                      ],
                      [
                        -21.86,
                        -10.35
                      ],
                      [
                        -21.847167292060714,
                        -10.545789288330077
                      ],
                      [
                        -21.808888739433602,
                        -10.73822856765378
                      ],
                      [
                        -21.74581929876693,
                        -10.924025148547635
                      ],
                      [
                        -21.659038105676657,
                        -11.1
                      ],
                      [
                        -21.550030010436853,
                        -11.26314214351308
                      ],
                      [
                        -21.420660171779822,
                        -11.41066017177982
                      ],
                      [
                        -21.27314214351308,
                        -11.540030010436851
                      ],
                      [
                        -21.11,
                        -11.649038105676658
                      ],
                      [
                        -20.934025148547637,
                        -11.735819298766929
                      ],
                      [
                        -20.74822856765378,
                        -11.798888739433602
                      ],
                      [
                        -20.555789288330075,
                        -11.837167292060716
                      ],
                      [
                        -20.36,
                        -11.85
                      ],
                      [
                        20.36,
                        -11.85
                      ],
                      [
                        20.555789288330075,
                        -11.837167292060716
                      ],
                      [
                        20.74822856765378,
                        -11.798888739433602
                      ],
                      [
                        20.934025148547633,
                        -11.73581929876693
                      ],
                      [
                        21.11,
                        -11.649038105676658
                      ],
                      [
                        21.27314214351308,
                        -11.540030010436853
                      ],
                      [
                        21.420660171779822,
                        -11.41066017177982
                      ],
                      [
                        21.550030010436853,
                        -11.26314214351308
                      ],
                      [
                        21.659038105676657,
                        -11.1
                      ],
                      [
                        21.74581929876693,
                        -10.924025148547635
                      ],
                      [
                        21.808888739433602,
                        -10.738228567653781
                      ],
                      [
                        21.847167292060714,
                        -10.545789288330077
                      ],
                      [
                        21.86,
                        -10.35
                      ]
                    ]
                  }
                }
              }
            },
            {
              "type": "translate",
              "vector": [
                0,
                17.2,
                9
              ],
              "shape": {
                "type": "cuboid",
                "size": [
                  51,
                  26.6,
                  2
                ]
              }
            },
            {
              "type": "translate",
              "vector": [
                0,
                46.4,
                8.1
              ],
              "shape": {
                "type": "cuboid",
                "size": [
                  10.6,
                  3.6,
                  1.7
                ]
              }
            },
            {
              "type": "translate",
              "vector": [
                0,
                -27,
                8.8
              ],
              "shape": {
                "type": "cylinder",
                "radius": 27.35,
                "height": 8
              }
            }
          ]
        },
        {
          "type": "translate",
          "vector": [
            0,
            -27,
            0
          ],
          "shape": {
            "type": "rotate",
            "angles": [
              0,
              0,
              0.7853981633974483
            ],
            "shape": {
              "type": "translate",
              "vector": [
                24,
                0,
                10.1
              ],
              "shape": {
                "type": "cuboid",
                "size": [
                  13,
                  2.4,
                  0.8
                ]
              }
            }
          }
        },
        {
          "type": "translate",
          "vector": [
            0,
            -27,
            0
          ],
          "shape": {
            "type": "rotate",
            "angles": [
              0,
              0,
              2.356194490192345
            ],
            "shape": {
              "type": "translate",
              "vector": [
                24,
                0,
                10.1
              ],
              "shape": {
                "type": "cuboid",
                "size": [
                  13,
                  2.4,
                  0.8
                ]
              }
            }
          }
        },
        {
          "type": "translate",
          "vector": [
            0,
            -27,
            0
          ],
          "shape": {
            "type": "rotate",
            "angles": [
              0,
              0,
              3.9269908169872414
            ],
            "shape": {
              "type": "translate",
              "vector": [
                24,
                0,
                10.1
              ],
              "shape": {
                "type": "cuboid",
                "size": [
                  13,
                  2.4,
                  0.8
                ]
              }
            }
          }
        },
        {
          "type": "translate",
          "vector": [
            0,
            -27,
            0
          ],
          "shape": {
            "type": "rotate",
            "angles": [
              0,
              0,
              5.497787143782138
            ],
            "shape": {
              "type": "translate",
              "vector": [
                24,
                0,
                10.1
              ],
              "shape": {
                "type": "cuboid",
                "size": [
                  13,
                  2.4,
                  0.8
                ]
              }
            }
          }
        },
        {
          "type": "subtract",
          "shapes": [
            {
              "type": "translate",
              "vector": [
                0,
                -27,
                10.55
              ],
              "shape": {
                "type": "cylinder",
                "radius": 20.8,
                "height": 1.1
              }
            },
            {
              "type": "translate",
              "vector": [
                0,
                -27,
                10.05
              ],
              "shape": {
                "type": "cylinder",
                "radius": 7.8,
                "height": 4
              }
            }
          ]
        }
      ]
    }
  }
}