Byron J.

Member Since: September 10, 2013

Country: United States


Apparently, the J is for JFET.

A few thoughts on prototyping and breadboarding

Continue reading

Demonstrating a Teensy Audio-based drum machine.

Continue reading

Rather than a lengthy exploration of a single subject, I'm going to touch on a couple of smaller dishes.

Continue reading

I've got a project on my workbench that I was hoping to share, but I met some unexpected difficulty along the way.

Continue reading

A different approach to the problem we solved last week

Continue reading

Embedded Micro's new IDE and the Lucid language.

Continue reading

Thoughts and ramblings about numbers, plus an interesting discovery.

Continue reading

Examining one of the categories that occupies significant space on my workbench: wire strippers.

Continue reading

Drive the Moog Werkstatt-01 with the SparkPunk sequencer, and starting in on a MIDI-to-CV converter.

Continue reading

Experimenting with optics and imagery.

Continue reading


Proto Pedal Example: Analog Equalizer Project

September 22, 2016

Building a gyrator-based analog equalizer using the Proto Pedal.

Proto Pedal Assembly and Theory Guide

September 22, 2016

Getting started with the SparkFun Proto Pedal. We'll assemble the board, then discuss some of the details of the circuit.

Proto Pedal Example: Programmable Digital Pedal

September 22, 2016

Building a pedal around the Teensy 3.2 and Teensy Audio shield. Changing the effect in the pedal is as easy as uploading a new sketch!

Proto Pedal Chassis Hookup Guide

September 22, 2016

Prepare the Proto Pedal Chassis by drilling holes for controls and painting it.

Continuous Rotation Servo Trigger Hookup Guide

May 26, 2016

How to use the SparkFun Continuous Rotation Servo Trigger with continuous rotation servos, without any programming!

Hobby Servo Tutorial

May 26, 2016

Servos are motors that allow you to accurately control the rotation of the output shaft, opening up all kinds of possibilities for robotics and other projects.

Servo Trigger Programming Guide

May 26, 2016

Looking under the hood of the Servo Trigger -- using the development environment and some finer details of the firmware.

Button Pad Hookup Guide

January 7, 2016

An introduction to matrix scanning, using the SparkFun 4x4 Button Pad.

Discrete Semiconductor Kit Identification Guide

November 19, 2015

Get to know the contents of the SparkFun Discrete Semiconductor Kit.

Raspberry Pi SPI and I2C Tutorial

October 29, 2015

How to use the serial buses on your Raspberry Pi.

Preassembled 40-pin Pi Wedge Hookup Guide

October 29, 2015

Using the Preassembled Pi Wedge to prototype with the Raspberry Pi B+.

MIDI Shield Hookup Guide

October 8, 2015

How to assemble the SparkFun MIDI Shield, plus several example projects.

MIDI Tutorial

October 8, 2015

Understanding the Musical Instrument Digital Interface.

Capacitor Kit Identification Guide

October 1, 2015

Learn how to identify and use a variety of capacitors using the SparkFun Capacitor Kit.

8-Pin SOIC to DIP Adapter Hookup Guide

August 13, 2015

Assembly and application of the 8-pin SOIC-to-DIP adapter.

Rotary Switch Potentiometer Hookup Guide

April 30, 2015

How to use the Rotary Switch Potentiometer breakout board, with some sample applications.

MP3 Player Shield Hookup Guide V15

April 6, 2015

How to get your Arduino groovin' using the MP3 Player Shield.

Servo Trigger Hookup Guide

March 26, 2015

How to use the SparkFun Servo Trigger to control a vast array of Servo Motors, without any programming!

Pi Wedge B+ Hookup Guide

December 18, 2014

How to assemble and start using the Pi Wedge to prototype with the Raspberry Pi B+.

Decade Resistance Box Hookup Guide

December 4, 2014

How to assemble the decade resistance box, then use it as a design and measurement tool.

SparkPunk Sequencer Theory and Applications Guide

August 14, 2014

Examine the inner workings of the SparkPunk Sequencer, then explore some modifications and alternate applications.

SparkPunk Sequencer Hookup Guide

August 14, 2014

How to assemble and use the SparkPunk Sequencer kit.

SparkPunk Hookup Guide

June 12, 2014

How to assemble and modify the SparkPunk Sound Generator kit.

Pi Wedge Hookup Guide

May 29, 2014

How to assemble and start using the Pi Wedge to prototype with a Raspberry Pi.

Sound Detector Hookup Guide

February 27, 2014

The Sound Detector is a microphone with a binary output. This guide explains how it works and how you can use it in your projects.

Large Solderable Breadboard Hookup Guide

February 27, 2014

This breadboard has a couple of tricks up it's sleeve!

VKey Voltage Keypad Hookup Guide

February 13, 2014

A quick hookup for the VKey analog voltage keypad.
  • My colleagues and I have spitballed the idea of adding an extra degree of control by putting an accelerometer in the chassis, maybe something like the ADXL345, which offers tap detection. You could just tape the box with your toe, rather than requiring another switch.

  • They should be there now!

  • I’ve played so much guitar in the last few days that I can no longer control my fingers. I think I’ve fixed all those.

  • I just looked over the code a bit. It’s not exactly easy to do a software based portamento.

    A back of the envelope recipe might look something like:

    • Move the Wire transaction from updateCV to loop.
    • updateCV sets a global variable target
    • Add a second global variable currentCV
    • In loop, when currentCV isn’t at target, add/subtract some value ( that relates to the porta time pot) to currentCV and write it to the DAC. Each time around, repeat until current reaches loop.

    My gut feeling is that this won’t sound super great. The DAC output will stairstep, and the I2C update rate might be too low.

    In the end, it might be easier to do portamento in the analog domain: a varialbe series resistor and a cap to ground on the pitch CV output would do it (See VR14 & C62 in the Werkstatt schematic for an example).

  • Take a look at the rotary switch pot hookup guide.

    To have the sound detector behave reasonably, it requires a reverse-log taper potentiometer, which can be hard to come by. The above tutorial walks through building one with a rotary switch.

  • It can, depending on how clever your are at interfacing it. Nick discusses one way to do it in the demo video, driving the tap tempo input on a pedal from the sequencer clock.

    There’s also some discussion of adding more hardware in the applications guide.

    More sophisticated applications will probably involve a microcontroller, and there are more direct ways to have a microcontroller read a bunch of sliders. This rabbit hole goes as deep as you care to explore.

  • The buttons & LEDs are tied to the SPI port of the microprocessor using shift registers. A daisy-chain of three parallel-to serial for the buttons, three serial-to-parallel for the LEDs. They’re read using an three-byte SPI transaction. It reads the switches, and as a side effect, updates the LEDs.

    The switches are on a PCB I designed for the purpose - there are three of the PCB in the system.

    Once it’s read the three bytes from the registers, it compares the new values to the previous values. If they’re different, it sends button pressed messages to the editor routines. The editor routines translate button presses into actions.

    If you want more specific details, check the source files – everything is in the repository. The PCB is under /hardware/, and the software is under /TeensyBoom/. Panel-scanner.h/cpp, editor.h/cpp, and editor-modes.h/cpp are the foundation of the button interface.

  • Yes, it does. The 40-pin connector on the Pi 3 is the same as on the 2.

  • Are you using the CC3000 shield?

    That error message contains a nugget of truth: the SD card chip select lines are different between the boards.

    The MP3 shield uses D9 as SD_CS. The Wifi shield uses D8 as SD_CS.

    If we follow D8 and D9 around both boards, there are other conflicts. D8 is the reset pin on the VLSI chip on the MP3 shield! If you use the SD socket on the wifi shield, every time you select the card, you’re also resetting the MP3 player.

    My recommendation would be to use the card slot on the MP3 shield.

  • I don’t know if the 47 Effects library is up to date with the latest automatic Arduino library manager format. You might have to install it manually. I installed it by copying the contents of the /src/ directory into my Arduino library directory: C:\Users\byron.j\Documents\Arduino\libraries\MIDI

    After that, when I start Arduino, MIDI simply shows up in the ‘sketch->include library’ menu. You don’t need to ‘add…’ or ‘manage…’ the library.

    It’s building in Arduino 1.6.5, running under Windows 7.

    Perusing my libraries directory, I see a number of other libraries with underscores in the directory and file names, so I’m not sure that’s the problem.