Nav apraksta
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
Thomas Buck 125e2b4763 print bat percent 6 mēnešus atpakaļ
.github/workflows add 3d model to prototype pcb 7 mēnešus atpakaļ
3dprint auto center objects in 3d viewer 7 mēnešus atpakaļ
docs implement button matrix reading 6 mēnešus atpakaļ
include print bat percent 6 mēnešus atpakaļ
pcb add 3d model to prototype pcb 7 mēnešus atpakaļ
pcb2 add BOMs, better lighting for 3d.js vrml 7 mēnešus atpakaļ
pico-sdk @ 6a7db34ff6 initial commit 7 mēnešus atpakaļ
pico-ssd1306 @ 8467f5b06e initial commit 7 mēnešus atpakaļ
src print bat percent 6 mēnešus atpakaļ
.clangd more untested code 7 mēnešus atpakaļ
.gitignore add project for new pcb 7 mēnešus atpakaļ
.gitmodules add project for new pcb 7 mēnešus atpakaļ
CMakeLists.txt add logo 6 mēnešus atpakaļ
COPYING more untested code 7 mēnešus atpakaļ
LICENSE pcb under CERN license, in readme also. 7 mēnešus atpakaļ
README.md add power switch and finish output routing 7 mēnešus atpakaļ
debug.sh more firmware 7 mēnešus atpakaļ
flash.sh small tweaks 6 mēnešus atpakaļ

README.md

LARS - Looping Automated Rhythm Station

PCB Docs STLs

This is a simple drum machine / loopstation. It’s made for three hand-wound solenoids mounted to a tambourine. It is controlled by a Raspberry Pi Pico on a custom PCB.

Please take a look at the auto-generated documentation.

Also see this blog post for some more context.

Quick Start

Initialize your local repo and prepare the build:

git clone https://git.xythobuz.de/thomas/drumkit.git
cd drumkit
git submodule update --init
cd pico-sdk
git submodule update --init
cd ..
mkdir build
cd build
cmake ..
cd ..

Then you can build new binaries like this:

make -Cbuild -j4

For the first time, flash as usual using the mass storage bootloader (hold BOOTSEL while pluggin in the Pico). After the firmware has been flashed once you can just use the included flash.sh to avoid having to hold the button. Use debug.sh to open a serial console via USB.

Documentation

You can find the documentation here on GitHub pages.

The docs are built using mdbook, licensed as MPL-2.0. Get the latest release from GitHub for a pre-built binary if you want to test changes to the docs locally.

./pcb/generate_plot.sh
./pcb2/generate_plot.sh
./3dprint/generate_stls.sh

./docs/generate_docs.sh serve

This will open your browser to a local development instance of the docs.

Hardware Connections

These are the used pins on the first prototype. Follow these if you want to build your own version without the included PCB design.

Pin 1    GP0    I2C0 SDA
Pin 2    GP1    I2C0 SCL

Pin 29   GP22   Output Channel A
Pin 31   GP26   Output Channel B
Pin 32   GP27   Output Channel C

Pin 34   GP28   Vbat (ADC2)

Pin 11   GP8    Button 1
Pin 12   GP9    Button 2
Pin 16   GP12   Button 3
Pin 19   GP14   Button 4

Pin 22   GP17   Encoder A
Pin 24   GP18   Encoder B
Pin 21   GP16   Encoder Click

Pin 14   GP10   LED 1
Pin 15   GP11   LED 2
Pin 17   GP13   LED 3
Pin 20   GP15   LED 4

License

The firmware of this project is licensed as GPLv3. A copy of the license can be found in COPYING.

It uses the Pi Pico SDK, licensed as BSD 3-clause, and therefore also TinyUSB, licensed under the MIT license.

The code in src/encoder.c is derived from mathertel/RotaryEncoder and therefore licensed as BSD 3-clause.

The docs are built using mdbook, licensed as MPL-2.0.

The PCB SVG files in the documentation are displayed using svg-pan-zoom, licensed as BSD-2-Clause.

The 3D PCB files in the documentation are displayed using three.js, licensed as MIT.

Some code in docs/src/js/3d.js is derived from a blog post of Michal Jirků.

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 <http://www.gnu.org/licenses/>.

The schematic and PCB design of this project is licensed under the CERN Open Hardware Licence Version 2 - Strongly Reciprocal (CERN-OHL-S-2.0+) or any later version. A copy of the license can be found in LICENSE.

The PCB designs use a KiCad-RP-Pico based symbol and footprint library, licensed as CC-BY-SA 4.0.

The pcb2/extern/EC12E-200.STEP 3D model for the rotary encoder comes directly from the manufacturer, ALPS.

The pcb2/extern/OLED_128x64.stp 3D model for the SSD1306 OLED display is made by Adrián San José Torices.

The SSD1306 footprint for pcb2 is from KiCAD Rookie.

The pcb2/extern/5236AB/5236ab-41x408.stp 3D model for the power switch comes directly from the manufacturer, APEM.

 ------------------------------------------------------------------------------
| This source describes Open Hardware and is licensed under the CERN-OHL-S v2  |
| or any later version.                                                        |
|                                                                              |
| You may redistribute and modify this source and make products using it under |
| the terms of the CERN-OHL-S v2 (https://ohwr.org/cern_ohl_s_v2.txt)          |
| or any later version.                                                        |
|                                                                              |
| This source is distributed WITHOUT ANY EXPRESS OR IMPLIED WARRANTY,          |
| INCLUDING OF MERCHANTABILITY, SATISFACTORY QUALITY AND FITNESS FOR A         |
| PARTICULAR PURPOSE. Please see the CERN-OHL-S v2 (or any later version)      |
| for applicable conditions.                                                   |
|                                                                              |
| Source location: https://git.xythobuz.de/thomas/drumkit                      |
|                                                                              |
| As per CERN-OHL-S v2 section 4, should You produce hardware based on this    |
| source, You must where practicable maintain the Source Location visible      |
| on the external case of the Gizmo or other products you make using this      |
| source.                                                                      |
 ------------------------------------------------------------------------------