Member Since: January 28, 2009

Country: United States



I started at SparkFun in September of 2007 as an assembly technician. My experience in electronics had consisted of only running sound equipment for my band and fixing the occasional broken guitar cord. After only a few days on the production floor, my skills with a soldering iron improved dramatically, and I was building beautiful little widgets. It wasn’t too long before I started wondering how all these circuit boards actually worked. Whenever I had the chance, I would walk across the hallway to the engineers and ask for 5 minutes of their time. I learned words like micro controller, source code, op amp and many more. I was hooked.

My first project was an analog headphone amp. It was something I could use as a performing musician. This has since kept me busy on week nights (and most weekends) as I’ve grown my own business around audio products for musicians.

While perfecting my headphone amp design, I got into other DIY projects too. Before long, I was in my front lawn with my laptop and a few servos. I was hacking my sprinkler system. With some active pressure control, I was able to make my sprinkler shoot a perfect square. My neighbors thought I was a crazy :)

Little did I know that taking this position at SparkFun would open my eyes to a new favorite creative outlet, DIY Electronics. I get super stoked about a lot of things, but from the moment I felt that initial spark of interest, I knew this was something very special. I was learning tools that would allow me to truly harness my inner inventor.

In the last few years I have focused my energy at SparkFun to designing more efficient testing equipment and providing feedback to the engineers on how we can better design for manufacturing and testing. I can hardly call it a job, because I love it so much :)


QC Manager

Programming Languages

Arduino, Tera Term Scripts and Batch Files.


Rock On Audio


Incline High School (Lake Tahoe), Squaw Valley Academy, Cate High School, Golden West (Huntington Beach), Cal State Long Beach, CU Boulder, Sparkfun University




A nice fillet and clean layouts. DSP, particularly the Sigma Studio stuff from AD. Thermal updrafts and circling in them. Remote control Airplanes - Electric in the parking lot and Slope when the winds up.


http://www.rockonaudio.com, http://www.phillewisart.com (that’s my bro!)

A re-creation of our Simon Says Soldering Kit using trampolines, spot lights and a ton of new sounds!

Continue reading

Join us for an epic journey into design for manufacturing, voltage spike suppression, stress testing, hex file analysis and more!

Continue reading

While designing our new Simon Tilts Through Hole Soldering Kit, we ultimately found that the best solution for the tilt sensor involved creating a custom plastic part. Here is the story of this project - including a couple interviews with the people that helped us along the way.

Continue reading

Dunk Tank Hack

In addition to the ongoing robot competition at AVC 2013, we included some carnival-type entertainment for the attendees. We rented a dunk tank, triggered it with a swiveling mallet, and challenged people to play "Trampoline Simon Says".

Continue reading


AVR-Based Serial Enabled LCDs Hookup Guide

August 2, 2018

The AVR-based Serial Enabled LCDs are a simple and cost effective solution for including a Liquid Crystal Displays (LCDs) into your project. These screens are based on the HD44780 controller, and include an AVR ATMega328p with an Arduino compatible bootloader. They accept control commands via Serial, I2C and SPI. In this tutorial, we will show examples of a simple setup and go through each communication option.

Pi AVR Programmer HAT Hookup Guide

July 26, 2018

In this tutorial, we will use a Raspberry Pi 3 and the Pi AVR Programmer HAT to program an ATMega328P target. We are going to first program the Arduino bootloader over SPI, and then upload an Arduino sketch over a USB serial COM port.

Raspberry Pi Stand-Alone Programmer

March 8, 2018

This tutorial will show you how to use a headless Raspberry Pi to flash hex files onto AVR microcontrollers as a stand-alone programmer. It also tells the story about production programming challenges, how SparkFun came to this solution, and all the lessons learned along the way.

Binary Blaster Assembly Guide

March 13, 2014

Learn how to assemble and play the Binary Blaster Game from SparkFun Electronics.

Constant Innovation in Quality Control

December 11, 2013

In this article, we share our recent advancements in quality control. Along with making our tests more thorough, we have also made them more efficient and robust.

Simon Tilts Assembly Guide

December 3, 2013

This tutorial will guide you through assembling your Simon Tilts PTH Kit.

Simon Says Assembly Guide

January 20, 2011

No matter what flavor of the Simon Says Through-hole Soldering Kit you've purchased, this tutorial is here to guide you through the entire build process.

Simon Says Experiments

October 21, 2010

So you've built up a Simon Says kit? What next? This tutorial will get you up and running with Arduino software, guide you through a few example sketches, and send you on your way to create your own. Careful, this stuff is highly addictive. :)
  • Dude, so rad! Can you make one for me??!! First thing I’d want to do is link the light effects to each of my effects pedals. And get it to react to what I was playing with one of these. How is power gonna make it’s way up to the guitar?

  • Thanks tonyvr! I appreciate the positive feedback!

  • Haha, 773, you got me :)

    Qwiic would be great. And a 3x2 ISP header would be great.

    It’s funny, I was joking while we were filming the examples about how I’d prefer to be flashing my example code with the new Pi AVR Programmer, but I opted not to, in order to follow along more like the hookup guide.

    These screens have been in the works for far too long (many rounds of protos, plus de-prioritized for other new shinier project), that we just couldn’t delay the launch any more. The qwiic connector would be perfect for this, and for any future revision. I also would love to cram some logic level conversion in there (and a standard 3x2 ISP header), but the timeline for a revision is uncertain at this point.

    For now, if you’re willing to do a little soldering, the qwiic adapter could be a good way to enter a qwiic system. At least it has the 4 pins (GND/VCC/SDA/SCL) in our standard order :)

    I do also want to mention that RESET is broken out to a header on these, so you could access all the lines for ISP, it’s just not in a more convenient and standard 3x2 form factor.

    Thanks again and we’ll keep all these thoughts in mind for sure!

  • Hey M-Short, Thanks for chiming in here, but just to be clear, these can be powered safely from 3.3V up to 9V on the “RAW” power input pin. The data lines (RX, TX, SDA, SCL, etc.) should all be talking 3.3V logic.

    It is important to note that the “+” pin on the FTDI header, is actually the VCC for the chip, and is supplied downstream from a 3.3V voltage regulator, so that pin should definitely never see above 3.3V. The hardware overview has more info, and the pinout graphic is a nice reference. Thanks!

  • Haha. Thanks for RTFM. Ya know, you can only make a warning so large, bold or highlighted, but ultimately, your reader has to want to read it :) I’m sure it will be overlooked by some, but I hope that they don’t break too much. It will survive for a little bit before the I/O are unhappy. I, confess… I actually damaged a prototype by talking to it from a 5V test jig (I was so excited about the protos, I didn’t double-check my settings, durp). So it happens to the best of us. In fact, that’s how SparkFun was started. Nate burned up his olimex programmer back in 2004 - having fun with sparks.

  • Indeed, 5V tolerant screens would be sweet. That did come up a little late in prototyping (after the 2nd or 3rd round). Unfortunately, there just wasn’t enough space on the back of these screens to add logic level conversion. Maybe we could pursue smaller package sizes for everything, but that would be a beast of a revision. Good point about the raspi, and we are lucky that there are a fair amount of 3.3V controllers these days. Thanks for your comment!

  • Hey Jeffery, Thanks for reaching out. Unfortunately, we do not have a schematic for this design. But I can tell you that the pins broken out on the long header along the side are the same I/O pins that you would find on a standard Arduino. For example, RX/TX = D0/D1, SDA/SCL = A4/A5, and the SPI pins are standard (D10, D11, D12, D13). If you’re looking for a good control interface, maybe the qwiic joystick and an adapter might be a good way to go - and you could use the I2C interface to communicate. Hope this helps!

  • Hey 773, Thank you for your comment! I appreciate your kind words, constructive criticisms, and ideas for solutions! I do not perceive them as “attacks” in any way.

    I agree that data logging is very important, and I look forward to pursuing this further. We’ve always relied on a more manual recording of problems (in our own internal data system), but it is far from perfect, and it only records the problems that a technician or test developer actually records. I have integrated some data logging systems in the past for a different product that required calibration and we needed a very large sample set (the capacitive touch potentiometer). But that system actually just logged to an uSD card using an openlog on the test fixture and required manually pulling the card to retrieve the data. Not ideal, I know, but it got us through those initial builds and we were ultimately able to fine tuned the default settings.

    Putting a serial number into the bootloader hex of every Redboard (and other AVR products) would, indeed, be pretty awesome. We’ve struggled with adding some sort of unique data to products in the past. Ultimately, we now have the “batch ID” printed on a sticker, so if there is an issue, we can at least track down the other customers that may have received a bad product. But honestly, that is a pretty rare thing around here, and the functional test fixtures do a pretty darn good job of catching issues before it leaves production. But as we grow, and see larger and larger orders, those strange little errors can lead to very big problems.

    That reminds me, one time we did a huge run of the microviews and during a firmware update, the bootloader was actually not included in the “combined hex”, and then it still passed testing. That was a tough lesson. I can’t remember the exact number of units that went out bad, but I think it was in the thousands. It was a flaw in our process at the time that led to that disaster, and now we require third party double-checking on any firmware updates.

    So thanks again, and I will definitely keep you posted. Automated data logging would be an amazing next step for our testing tools! And, as always, please don’t hesitate to comment your thoughts about products and especially testing - we love it!

  • Thanks for your feedback 773!

    Solid State Relays are a smarter option, for sure. I should have looked into those before committing to our beefcake relays. I suppose these SSRs would do the trick: Solid State Relay - 40A 3-32V DC Input. They seem a little overkill, but I was switching the mains power to the spot lights.

    For the LEDs, I definitely agree that using some sort of addressable is the better option. I do like the look of the old fashioned 10mm gum drop LED, though. I wonder if there is an addressable 10mm diffused PTH out there?

    Either way, I’m planning on doing some experimenting, and giving a few suggested resistor values for 3.3V and 5V on our LED product descriptions. Even just knowing “barely on”, “pretty bright, and "partially blinding” would be helpful as a starting point.

    The large 7-Segments are indeed fun. We have one right near my workstation actually that inspired me to use it in this project. Nate installed a “speed trap” that’s always popular on the tours. You can read his tutorial on that here.

    About your thought on tying the trampolines together. Hose clamps are a brilliant idea! We did use some metal brackets to mount them to the wall studs, but I think we just used zip ties to connect them to each other.

    Thanks again and I appreciate your input! -Pete

  • Thanks for this awesome post Mike. It reminded me of many good memories searching through boxes at Saunders for the perfect potentiometer, and checking out all of the enclosure options - oh so inspirational. It was pretty satisfying when you found the reel of the part you needed - score!! Sad to see Saunders close.

    Sometimes when I walk through SparkFun’s inventory I will take a closer look at some switch or button, and then find myself 5 minutes later gazing into other bins nearby with completely different parts. Then 10 minutes pass and I find myself wondering “What was I doing here again?” Something very special about seeing electronic parts in front of you.

    I give tours most Fridays, and I see this attraction happen to a lot of our guests. They’re always curious to look inside the inventory boxes. And the work-in-progress shelves are usually a hit. It’s fun to see thousands of boards - all ready for programming and testing. Unfortunately, we can’t linger too much near the inventory or production, and we need to get on with the tour! This gives me an idea, we need to host the “grab as much as you can in 2 minutes” style gameshow that Toys-r-us used to have… Let’s get our PR people on that. I’d probably go for the bins of RFM69s and Pro minis.