Byron J.

Member Since: September 10, 2013

Country: United States


Apparently, the J is for JFET.

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


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 Hookup Guide

August 14, 2014

How to assemble and use the SparkPunk Sequencer kit.

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 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.
  • These are indeed make before break, knows as “shorting” in the parlance of the datasheet.

  • It sounds like something isn’t right. It should power up without issues.

    What servo motor are you using?

    Also, what power supply are you using?

    If you can provide links or part numbers for those, I can try to recreate the situation here.

    Since you encounter problems when you power everything up together, but it works OK if you power up the trigger, then add the servo, it sounds like there might be some startup interaction between the motor and the power supply. If you have an oscilloscope (or even a DC voltmeter), watch the 5V line while you power up, and see what happens - if it dips or spikes, it might be causing the servo or trigger to get confused. I’ve seen servos draw an amp or more right when they start, then settle to a much more reasonable draw, maybe 20 mA.

    There’s some more info about this in the hookup guide, in the Power Notes section.

    If you can substitute a different servo or power supply (like 3 flashlight batteries), that might help isolate what’s going wrong.

  • using a debugger to be able to “watch” key variables while “single stepping” through a program is one of, if not THE, best ways for beginners to learn programming

    I strongly agree.

    Having the option to see the source code and corresponding disassembly in the debugger is also illuminating, as well as stepping at the source-line or instruction levels.

    Sometimes just seeing the generated instructions helps you understand why code is broken (on the 68000, seeing that the compiler has generated .b [byte-wide] operations, when I knew I was handling .w [16-bit] data always helped get me back on track).

    Sometimes, seeing how the language constructs have been turned into machine-level instructions is also useful. You get a pretty clear understanding of pointers after watching addresses get loaded into index registers, offsets applied, and data read/written.

    You’re also right to warn about the flash lifecycle of software breakpoints on the AVR. The ATMega328P datasheet specifically warns:

    The Flash must be re-programmed each time a Break Point is changed. This is automatically handled by AVR Studio through the debugWIRE interface. The use of Break Points will therefore reduce the Flash Data retention. Devices used for debugging purposes should not be shipped to end customers.

    This isn’t necessarily true of all microcontrollers, though. I’ve worked with NXP ARM-7 processors that had a trap & break module. Rather than inserting break instructions into flash, the address would be set in the trap module. When the instruction was fetched, the processor would jump into a trap handler and communicate with the debugger, with no need to rewrite the instruction. It could also be configured for more general memory diagnostics, like detecting out-of-bounds memory accesses.

  • The button centers are on a 0.7" grid.

  • It is 1.7" by 0.9".

    The mounting holes are at (0.1, 0.8) and (1.6, 0.8).

    The 5-pin connector is from (1.65, 0.2) to (1.65, 0.6) on 0.1" intervals

  • I’m not entirely sure what you’re asking, but I’ll try.

    On the MP3 shield, those pins are just GPIO pins that interface with the MP3 decoder and SD card.

    • D2 is an input to the microcontroller, used by the MP3 chip to indicate that it is ready for more data. Ideally, it’s tied to a pin that can trigger interrupts, but the library can be configured to poll the line if it can’t interrupt.
    • D6 Is a GPIO output, used as the chip select for control functions within the MP3 decoder.
    • D7 Is a GPIO output, used as the chip select for the data pipeline to the MP3 decoder.
    • D8 Is a GPIO output, used as the reset line to the MP3 decoder.
    • D9 Is a GPIO output, used as is the chip select for the SD card.

    Since they’re just GPIO lines, they can be reassigned to whichever pins you have handy.

    If you’re using the Sparkfun-MP3-Player-Shield-Arduino-Library, you can adjust the pin assignments in the SFEMP3ShieldConfig.h file.

  • I seem to have confused myself with links to datasheets. Please disregard the link in my last post.

    The seven-page one linked in the product description is correct. We purchase Taiwan Alpha part # SR2512F-0110-16F2B-C9-S .

    The “-S” in the part number stands for “shorting” timing, AKA make-before-break.

  • I’m afraid I don’t see how I misused the word. I meant “one from the last,” so that’s what I said.

  • Just be sure to match them in conjugate pairs with flop-flops.

    I’m pretty sure I’ve seen some old Japanese schematics (possibly Tascam or Roland) that indicated “frip-frops.”

  • You could build one heck of a driver for the WS2812 addressable LEDs.