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 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: Analog Equalizer Project

September 22, 2016

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

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.
  • If the debug messages are printing, then you can be reasonably confident that the MIDI parsing is working.

    From the sounds of it, you might not have good communication to the DACs.

    I don’t recall anything out of the ordinary in getting them working, but it’s been quite a while.

    To test the DACs without any dependency on MIDI, there is the DAC Test Sketch.

    If you want to try it without an oscilloscope, slow the loop down by adding a delay() to it, maybe 5000 milliseconds (5 seconds). Then you can use a volt meter to check the DAC outputs. The one should gradually ramp up, and the other should ramp down.

    I’ve also improved the circuit a tiny bit since then, using a TL431 voltage reference to make a precise adjustable power supply for the Pitch CV DAC (those DACs use their VCC pin as the reference supply). I describe it in the last comment over here.

  • I’ve got some recommendations.

    At the entry level, Forrest Mims' books are one of the places I got my start. Many are smallish circuits that use only a handful of components. From the perspective of this blog post, the Op-Amp book is probably the most relevant.

    A step above that, the Art Of Electronics Student Manual is a pretty good guided tour through circuit design. This isn’t the 1000 page tome, but the companion volume, printed as a comb-bound lab manual. Each chapter breaks down an area of circuit design, and guides you through the solutions.

    I’m also a big fan of old National Semiconductor (now owned by TI) app notes. Lots of useful stuff in there. AN31 covers op amp circuits, and AN-32 covers discrete FETs.

    Eventually, you build up a mental catalog of circuits that you’re familiar with, and can combine into more sophisticated systems.

    Depending on your interests, you might be able to find literature that addresses it specifically. If you’re into guitar pedals, GeoFex and AMZ have some great analyses of FX circuits. If you’re into synthesizers, I’d recommend Electronotes.

    If you live near a university or community college, you might see if you can get into a class on introductory circuits.

    In tandem with any of these ideas, Bob Pease’s Troubleshooting Analog Circuits contains wisdom about how to approach things when the circuit on your bench isn’t working as intnded. Bob is a very engaging author – this one is a lot more engaging and relatable than the title makes it sound.

  • It is a bit of a chicken and egg problem.

    How do you draw a schematic if you don’t know the circuit works? How do you build a working circuit if you don’t have a schematic?

    The answer might look like: Start with something you know, and iterate from there. Reinforce the iteration by working orthogonally in different disciplines. Simulate a little, breadboard a little more, take notes as I progress.

    (Going through this process, I tried to use Fritzing for that placement diagram, and it felt like I walked off the end of its capabilities. Too many dense components. The graph paper was a fallback.)

  • 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.