Zack Scholl

zack.scholl@gmail.com

pikocore

 / #wares 

a lo-fi rp2040-based music mangler. $62 / $89.

Sign up to receive an email about pikocore news:

pikocore is…

for more info, check out my interview with Studio Brootle and a review by DJ Iceman.

demo

original audio:

pikocore:

buy



in addition to my store, you can buy assembled devices from Perfect Circuit: click here to go to Perfect Circuit. also, if you are in the UK, diy kits are available from Thonk: click here to go to Thonk.

sign up for the mailing list to get notified about updates and new things.



cases

Pikocore cases are now available for the DIY pikocore, sold separately through Dich Studios. Features: Frosted buttons which allow the LEDs to shine through, Full access to the battery, usb and audio ports. A matching power switch cap for easy operation, Rubber feet to minimize sliding, and several slots for attaching a lanyard.

Pikocore case

usage

full instructions are available here: download pdf

bom

there is an alternative build guide developed from noise.kitchen available here: download pdf

Click here to view schematic.

pikocore schematic

Click here to view the full BOM.
item quantity
Pico w/ RGB 1
5V DC-DC step-up 1
1.8mm LED 8
Audio jack (PJ-320B straight) 3
6x6x4.5 button 8
AAA Battery holder (45 mm between pins) 1
SPDT switch 1
1x3 male header 1
10k potentiometer (RV09, 12.5 mm) 4
1x20 female header 2
1x20 male header 2
0.1 uF capacitor 2
1 uF capacitor 1
10 kohm resistor 3
1 kohm ressitor 9
100 ohm resistor 3
2N3904 NPN transistor 1

tutorial

basics

there are eight buttons and four knobs that can be used to manipulate the pikocore. there are two outputs and one input. make sure to plug in only stereo cables to any outputs or inputs.

i/o

the top left jack is for incoming trigger signal (e.g. from a pocket operator in SYN1 mode or a pikocore). the top right jack sends out audio. the bottom right jack sends out trigger signal and audio signal (for syncing to pocket operators using SYN4 mode).

buttons

The buttons on the device can be used to jump to samples and retrigger audio in real time.

jumping: Press any of the eight buttons to jump to that relative position in the sample.

retriggers: Press and hold a button and press another button to create a retrigger effect. The retrigger speed is based on the position of the second button press. Random effects add added to the retriggers, such as changes in speed, pitch, filter envelopes, or volume envelopes.

stop/play: press the two leftmost buttons and the two rightmost buttons simultaneously to stop/play.

Button mashing is encouraged.

knobs

The rightmost knob is a filter/volume knob that controls the output level. The leftmost knob is the selector knob, which can choose between eight different positions. Each position changes a different pair of parameters, which can be changed using the middle two knobs, knob A and knob B.

selector pos knob a knob b
1 sample break
2 filter stretch
3 gate gate prob.
4 jump prob. retrig prob.
5 tunnel prob. reverse prob.
6 sequencer rec. sequencer on
7 save load
8 volume/fold tempo

syncing

pikocore uses a audio click signal to sync and is fully compatible with sync signals coming from other devices, like the teenage engineering pocket operators. The pikocore syncing operates at 2 PPQN and has max input/output voltages of 3V.

The upper left audio jack takes in a PO sync signal (SYN1 on Pocket Operator) and will automatically sync the pikocore. The output sync is separate from the main audio output jack, situated below the Pico mcu. When using a pocket operator, set the receiving device to SYN4 (or SYN5 if the chain continues.

clock locking (available in version v1.2+)

you can “lock” the clock so that the beat continually stays on track and doesn’t get diverted when you jump between samples. this is super helpful if you are syncing and you don’t want to get “off” beat when jumping between audio.

you can activate/deactivate this feature by pressing the middle four buttons (yellow = on, teal = off).

more information in this video:

tempo

Set the tempo by turning the selector knob fully CW to the eighth spot and then turning knob b. The BPM available is between 50 and 305, and the current value is displayed using binary encoding. Instead of memorizing the binary encoding, you can use tool below to visualize the tempo you want to match. Change the slider and then on the pikocore move knob b so that the lights match up to get this bpm. Because of the clock in the pikocore, BPMs are only accurate to 2%.



midi

the pikocore is capable of listening to midi using a itty bitty midi device plugged into its clock input.

itty bitty midi connections

this behavior needs to be enabled at the firmware level, and the firmware tool below can be used to update the settings to listen to midi.

the pikocore automatically sets tempo and syncs to a midi clock. it also listens to midi start/stop/continue commmands to synchronize with sequencers. the firmware tool lets you change the midi clock division. you can also toggle a setting in the firmware to have the key presses of a midi keyboard work as buttons, so you can sequence your own button presses.

update

Updating the pikocore is easy. Simply press the “boot” button and plug in a USB-C cable, or press and hold “boot” while pressing “rst” when the USB-C cable is already plugged into your computer.

Example of hitting buttons

Then download the .uf2 file (either from factory reset firmware, or customized firmware, see below) and drag-and-drop it to the drive that pops up in your computer (usually named RPI-RP2). Visual instructions are available with this YouTube video that explains the process for uploading firmware.

factory reset

firmware

download these to get the pikocore back to the “stock” image or upgrade it to a newer image.

customized firmware

Use this tool to change the audio on the pikocore. This will automatically utilize the latest firmware of the pikocore.

Uploaded audio is automatically converted to the base sample rate (33 kHz) and to the base BPM (165 BPM). If you know the BPM of your sample, you can help the server detect it by including it in the filename somewhere as bpmX. For example, my_drum_bpm150.wav will automatically be registered as 150 BPM. You can also include the number of beats in the filename somewhere as beatsY. For example, my_drum_bpm150_beats4.wav will be registered as having 4 beats. If no information is included, the server will do its best to detect the BPM and then determine the number of beats to be used for beat syncing.

v1.2.1
(no more than 254 files and/or 8 minutes)

No files currently selected for upload

Select pico version:
Enable RGB led?:
Input as clock or midi?:

alternative firmware

there are some great alternative firmwares that utilize the same hardware but with a different solution!

pikobeats

a drum sequencer for the pikocore.

by @rheslip! source code: https://github.com/rheslip/PikoBeats

piko-33

a sample sequencer for the Pikocore.

also by @rheslip! source code: https://github.com/rheslip/Piko-33

remixing

watercolor of pikocore

(water color image by Sebtic Smile)

send me your remixes! they light up my day (literally!). there are some amazing ingenuity with creating enclosures for pikocore:

troubleshooting

Here are some fixes for issues that may crop up when using pikocore.

The audio is really quiet. This happens if you plug in a mono cable to the audio output. Make sure to use only 3.5mm stereo cables and make sure they are pluggined in all the way.

There is a high pitched sound. This seems to happen sometimes while powered by the AAA battery and the potentiometers are in a certain position. Try turning the potentiometers CCW to eliminate the noise. If that doesn’t work, try rotating the battery in is holder. If it is still a problem, try powering from a USB powerbank.

There is no sound, or the sound is muffled sounding. This can happen if the filter gets set fully closed, or the timestretch is at 100%, or the volume if fully down. The best thing to do is to reset these three parameters. Move the selector knob to the second position and turn knob a fully CW and turn knob b fully CCW. This will reset the filter and the timestretch. Now move the selector knob to the eight and last position and try to turn knob a until you can hear something (the volume). This should fix it 90% of the time.

If you still have issues: Please feel free to send me an email at zack@infinitedigits.co.

wares / #wares 

itty bitty midi      nyblcore