Infinite Digits

More from the shop

Instrument manual

Nyblcore Guide

Nyblcore is a tiny, open-source sample player built around an ATtiny85. It turns a little audio into jumping, retriggering, stuttering, and stretching patterns. This guide covers playing it, building the kit, and loading your own sounds.

Nyblcore with its four knobs, audio jacks, and ATtiny85 chip
Nyblcore. Select any photograph, diagram, or screenshot in this guide to enlarge it.

Specifications

  • Powered by a single AAA battery, with approximately 5–8 hours of battery life.
  • 8 kB of storage for up to 1.2 seconds of 8-bit audio sampled at approximately 4.2 kHz.
  • Three multifunction controls for volume, distortion, tempo, and effect probabilities, plus a separate filter knob.
  • Load custom audio by programming the ATtiny85 with an Arduino or a USB AVR programmer.
  • Open-source firmware, schematics, and board files.

The small memory limits how much audio and how many effects fit on the device. Tempo may not be entirely stable, and there is no external sync. The unpredictability is part of playing Nyblcore.

Quick start

Connect the audio output, insert a AAA battery, and switch Nyblcore on. The selector is the second knob from the left; knobs A and B sit on either side of it.

Nyblcore layout: knob A, selector, knob B, and filter across the front; audio input, ATtiny85, audio output, and power switch above
Hardware layout from the Nyblcore v1.2.0 manual.
  1. Turn the selector fully clockwise. Turn both A and B fully counterclockwise to set stretch and stutter probabilities to zero.
  2. Turn the selector to 12 o’clock. Turn both A and B fully counterclockwise to set jump and retrigger probabilities to zero.
  3. Turn the selector fully counterclockwise. Turn A up until you hear audio; turning it further adds wavefolding distortion. Adjust B to find a tempo you like.

Return to either effects position and turn A or B up to introduce variations.

Controls and effects

The selector changes what knobs A and B control. The far-right knob controls the filter.

Selector positionKnob AKnob B
Fully counterclockwiseVolume / distortionTempo
Middle (12 o’clock)Jump probabilityRetrigger probability
Fully clockwiseStretch probabilityStutter probability
Jump
Skips between slices, creating new segments from the original audio.
Retrigger
Repeats the same sample.
Stutter
Repeats the same sample with an added volume ramp.
Stretch
Randomly slows down playback.

The v1.2.0 PDF’s “at a glance” text labels the fully-clockwise B control as jump. It controls stutter, as shown in the PDF’s quick start and the firmware.

Demos

Watch the Nyblcore demo on YouTube.

Example 1: Drum hits

Example 2: Breakbeat

Example 3: Arp

Original audio
Processed by Nyblcore

Example 4: Just a sine wave

DIY build

The following inventory and assembly illustrations come from the v1.2.0 manual. Use them alongside the soldering tutorial.

Parts

PartQuantity
Nyblcore PCB1
ATtiny851
Potentiometers4
DC-DC converter1
1 × 3 header1
AAA battery holder1
AAA battery1
Illustrated inventory of the PCB, ATtiny85, four potentiometers, converter, battery, holder, and header
Parts illustrated in the Nyblcore v1.2.0 manual.

Assembly

1. DC-DC converter

Solder the 1 × 3 header into the PCB with its long legs pointing up. Fit the converter onto the header and solder it. Match the Vi and Vo markings on the converter to those on the board. The manual notes that the converter may sit on the components underneath it.

Long header pins point up from the PCB; the converter sits over them with Vi and Vo aligned, followed by a view of the installed converter
Converter placement and pin alignment, v1.2.0 manual.

2. Potentiometers

Fit and solder the four potentiometers into the four positions along the front of the board.

Arrows from a potentiometer to each of the four knob positions on the PCB
Potentiometer positions, v1.2.0 manual.

3. Battery holder

Attach the holder to the back of the board, then solder it from the front. With the board oriented as pictured, the + terminal is on the left. Bend the pins outward to fit; trimming them before insertion makes assembly easier.

Battery holder and front of the PCB, with the positive terminal marked on the left and negative on the right
Battery holder polarity, v1.2.0 manual.

4. ATtiny85

Insert the ATtiny85 with its small notch facing up, toward the top edge of the board in the diagram.

ATtiny85 fitted to the board with an arrow pointing to the notch at the top of the chip
ATtiny85 orientation, v1.2.0 manual.

Schematic and board files

Nyblcore circuit schematic, including the ATtiny85, controls, audio connections, and power supply
Nyblcore schematic. Select the image to read the component labels at full size.

Download the board files from GitHub.

Soldering tutorial

Watch the soldering tutorial on YouTube.

Documentation and source code

Download the original Nyblcore v1.2.0 manual (PDF). The PDF is preserved unchanged, including its printable assembly illustrations.

Source code

Nyblcore is open-source. Find the firmware source, schematics, and Gerber files in the Nyblcore repository.

If you use the public repository to build a Nyblcore, consider sponsoring Zack on GitHub to support more open-source devices and software.

This guide brings together Zackary Scholl’s original Nyblcore page and the v1.2.0 manual. Send questions or feedback to zack@infinitedigits.co, or find @infinitedigits on Instagram.

Original firmware and custom audio

Download the original firmware (.ino) to restore the original sounds, or generate a new sketch from your audio.

Generate firmware from your audio
Opens the audio-to-firmware generator on schollz.com.

The generator accepts WAV, AIF, OGG, and FLAC files. Choose up to 1.2 seconds of audio, set the slice count for a single file, and optionally add a crossfade. It returns Arduino code containing your samples.

Copy the generated sketch and follow Uploading firmware below. Changing audio means reprogramming the ATtiny85 with an Arduino or USB AVR programmer.

Alternative firmware: Bytebeat

Download the Bytebeat firmware (.ino) from GitHub and upload it using the same programmer workflow. It turns Nyblcore into a synthesizer with approximately 40 formulas.

  • Selector fully counterclockwise: knob A changes volume and distortion; knob B selects a Bytebeat formula.
  • Selector fully clockwise: knob A selects a parameter in the current formula; knob B changes that parameter’s value.

Bytebeat parameter changes reset when you power-cycle the device.

Uploading firmware

If this is your first upload, complete the programmer setup first.

  1. Download an original or Bytebeat sketch, or copy the code returned by the audio-to-firmware generator on schollz.com.
  2. Open the sketch in the Arduino IDE, or paste the generated code into a new sketch.
  3. With Nyblcore switched off, remove its ATtiny85 and place it in your programmer. Connect the programmer to your computer.
  4. Check the board, clock, and programmer settings below, then upload the sketch.
  5. Disconnect the programmer and return the ATtiny85 to Nyblcore, observing the chip’s notch orientation. Switch on to hear the new sounds.
Audio generator output with the generated Arduino sketch ready to copy
Generated audio sketch, from the original 2023 web guide.
Generated Nyblcore sketch opened in the Arduino IDE
Arduino IDE screenshot from the original 2023 web guide; the interface may differ in newer versions.

Programmer setup and tools

You need an ATtiny85-compatible USB AVR programmer, such as a USBtinyISP programmer, to change Nyblcore’s firmware or samples.

USB AVR programmer with an eight-pin socket for an ATtiny85
An ATtiny85 USB programmer, pictured in the original web guide.

You can also use an Arduino Uno as a programmer. Follow that method’s programmer setup, but select Internal 16 MHz for Nyblcore rather than 8 MHz.

  1. Install the Arduino IDE. Windows users may also need the USBtinyISP drivers.
  2. Open the IDE’s Preferences and add the following URL to Additional Boards Manager URLs:

https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json

  1. Install the ATtiny package through Boards Manager, then select Tools → Board → ATtiny Microcontrollers → ATtiny25/45/85 and choose the ATtiny85 processor.
  2. Select Tools → Clock → Internal 16 MHz.
  3. For a USBtinyISP programmer, select Tools → Programmer → USBtinyISP.
Arduino Tools menu selecting the ATtiny25/45/85 board
Board selection, original 2023 web guide.
Arduino Tools menu selecting the Internal 16 MHz clock
Internal 16 MHz clock selection, original 2023 web guide.
Arduino Tools menu selecting USBtinyISP as the programmer
USBtinyISP programmer selection, original 2023 web guide.

Return to Uploading firmware to program the chip. If you get stuck, send a message to zack@infinitedigits.co.

Trial download

Choose a compatible installer

Installer compatibility

Firmware

Choose firmware for

Normal latency works best for most people. Lower-latency builds respond faster but leave less CPU bandwidth for effects.

Clock mode
Response latency