GithubHelp home page GithubHelp logo

schollz / pikocore Goto Github PK

View Code? Open in Web Editor NEW
58.0 3.0 7.0 1.23 MB

source for the pikocore drum machine

Home Page: https://pikocore.com

License: MIT License

CMake 4.52% Makefile 1.86% Go 9.40% C++ 73.74% Python 4.68% C 5.78%
pico rp2040 pikocore

pikocore's Introduction

pikocore

pikocore is a hackable, open-source, lo-fi music mangler based on the Raspberry Pi Pico.

img

read more here: https://pikocore.com

usage

prerequisites

First install Go and then install pre-reqs:

make prereqs

This will install clang-format, cmake, the pico toolchain, gcc, python, and other useful packages.

create audio

You can use the default audio by just running

make audio

The audio is taken from the audio2h/demo folder. You can edit the Makefile to choose a different folder.

build

To build just run

make

If you are using a 2mb pico, then you should do make build2 (the default is 16mb).

Then upload the build/pikocore.uf2 to your pico.

customization

If you want to turn off the LED, change WS2812_ENABLED=1 to WS2812_ENABLED=0 in the target_compile_definitions.cmake file.

If you want to use MIDI instead of clock in (requires itty bitty midi) then set MIDI_IN_ENABLED=1 in the target_compile_definitions.cmake file.

dev

You can open a minicom terminal by running make debug after switching on DEBUG_X flags in main.cpp.

Easing functions generated with: https://editor.p5js.org/schollz/sketches/l5F_ZWjZM

pikocore's People

Contributors

matthewcallis avatar schollz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

pikocore's Issues

Flash save is unreliable with a slightly-old battery.

When using pikocore with a rechargeable AAA battery I often found that trying to save my pattern causes the board to hang. And it seems to be the same kind of hang I get when the battery is finally too low to power the pico. But the hang-while-saving happens much sooner in the life cycle of the battery, when everything else still seems to be functioning well. Meanwhile, I never see this happen when piko is powered by USB.

I have been experimenting with this using my bench power supply to simulate the battery. It looks like when voltage gets below 1.4v, writes to flash become a bit flaky; they start, but don't always finish. When it gets down to 1.3v, it's pretty unreliable, and can even corrupt flash to the point that I can't boot until I re-flash the firmware. The rest of piko still operates fine at those voltages.

Saving to flash appears to raise current consumption by 5-6ma. (Although maybe more than half of that is used by the RGB LED? It seems to use roughly 1-3ma, depending on color?) The problem seems triggered by low voltage more than low current, but on an AAA one will lead to the other I think.

stop/play only half-working, depends on button order.

The docs say that you can start & stop Pikocore by pressing the four outer buttons at once. I've been wondering why this sometimes does & sometimes doesn't work.

It appears to me that the actual behavior depends on which of the four buttons is the last to be pressed. If the upper-right or lower-left button is the last of the four to be pressed, then Pikocore stops & starts. But if it's the lower-right or the upper-left button, nothing happens.

(FWIW this is with a custom (as in custom samples) v1.3.0 firmware, generated with the tool on your site.)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.