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!)

Creating a Custom Tilt Sensor

For this project we worked with a local company in Longmont, Mountain Molding. Their technicians, Todd and Warren, were kind enough to let us hang out and ask a few questions. Here’s a video we shot during our visits to their facility. The inspiration for this project came from one of my first…

Continue reading

Dunk Tank Hack

This year’s AVC was held at the Boulder Reservoir. We knew it was going to be a hot day and we’d be in the sun for a good 8-10 hours. So we thought, “What better way to cool off than a dunk tank?!” Our dunk tank idea quickly grew into a much bigger DIY hack job. We thought,…

Continue reading

Binary Blaster Assembly Guide

March 13th, 2014

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

Constant Innovation in Quality Control

December 11th, 2013

In this article, we share our recent advancements in quality control. Every new product we design and manufacture here at SparkFun gets a custom testing apparatus that is designed and built in house. Along with making our tests more thorough, we have also made them more efficient and robust.

Simon Tilts Assembly Guide

December 3rd, 2013

This tutorial will guide you through assembling your Simon Tilts PTH Kit.
  • Product KIT-12037 | about 3 weeks ago

    I added a randomSeed from A0 (during setup) and it seems to have solved the issue. I’ve played 5 rounds (each time with a power cycle) and it gave me a new unique order each time! Thanks again for catching this and commenting about it here.

    I just committed my revised code to the github repo, so if you have a 3.3V FTDI basic you can upload the latest sketch and try it yourself. We will be pre-programming all of our ICs for the kit to have the latest code, so all future kits should have the correction.

    I like your approach for the shuffle, but I have a few questions:

    1) Would you store all of this data in one long array? Or would each pairing be it’s own two-spot array?

    2) Once you’ve plugged in a new set of random sorterValues, How would you sort them?

    3) Does randomly choosing from 99 options (rather than 15) increase the randomness significantly?

  • Product KIT-12037 | last month

    Thanks for letting us know! This may have been overlooked during beta testing because there wasn’t much power cycling going on - just a whole lot of playing rounds! Either way, I wonder if a call to the randomSeed() function on an unused analog pin could help get the first game to be unique.

    The shuffle_sequence() function actually proved to be one of the more challenging parts of the code. When I first started writing that function, I looked around a bit to see if anyone else had some “shuffle code” in C++. I found this article, which proved to be quite helpful, but the solutions provided were still quite long and I wasn’t sure how well some of the lines would work within Arduino. I ended up using the built in Arduino random function to choose my index for each pull. I guess it turns out the first time you call the Arduino random(), it really isn’t that random. It’s still interesting to me that the first game sequence is exactly the same on each power cycle. Has anyone else experienced something similar when using the build in random() function?

  • Product KIT-12037 | about a month ago

    Haha, I love the three wrong answers phrase. Thanks for sharing!

    Timing out is the only way you can lose Binary Blaster, but three wrong answers is also a good way to go. We liked timeout failure because it allows the player to try many times (within the 4 second window). It also adds an element of urgency to the game. We’ve been passing it around the tech shop and there’s a bit of a competition going for the best time score. There’s talk of a double elimination bracket going down some afternoon, but we shall see. I’m definitely game, but I’d like to get at least 8 players.

    I’m interested to know more about the voice synth feature in your project. Do you need something as powerful as an FPGA to control it, or would it be possible to use something like the ATMega328? I really like the idea of using a synth voice as user feedback!

  • Product COM-11647 | about 2 months ago

    Sorry we didn’t catch this until now. We just found out that we have been actually programming these with the “LilyPad Arduino w/ATMega328” bootloader. Somehow our production files were mixed up, and this wasn’t caught during testing because we use a combined hex file that includes both the bootloader and the firmware. We are currently working on changing our production files, but for now, if you want to upload a new sketch to your board, please select “LilyPad Arduino w/ATMega328” as your board option in the Arduino IDE. Again, sorry for this confusion and please let us know if you run into any other problems. All of our future boards will ship out with the correct “Arduino Pro Mini 8MHz” bootloader.

  • News - Creating a Custom Tilt Se… | about 2 months ago

    Hey HelicopterGuy, You are welcome. If you are local, I would recommend meeting up with MM. You can learn a lot if you go take a tour and tell them about your project.

    Any chance your prototype parts are going to show up at AVC?

  • News - Creating a Custom Tilt Se… | about 2 months ago

    Hey Tech Geek, thanks for sharing. Sounds cool. And that precision ain’t that bad! This sounds like it would make for a fun classroom experiment. Did you happen to document your hookup or take any pictures?

    Also, were you able to use a square wave off of an Arduino pin to create the sound? I have found that analyzing sound with a mic and a micro can prove to be difficult. Were you processing the raw AC signal from the mic? We have recently tried to make detecting sound a bit easier with our new Sound detector. I’m not sure if our sound detector could be used in this way to detect a specific signal, but if you were in a quiet environment, then maybe it would work.

  • News - Creating a Custom Tilt Se… | about 2 months ago

    Thanks for your comment. It is always exciting to hear that the cost of design and manufacturing (of any sorts) keeps coming down. It really enables inventors to get a product up and running (even for sale) with much less investment. And with services available like Kickstarter, you can even ensure some sales before spending a large investment.

    What was your snap-together-box for? I imagine that took some careful tweaking to get the leg thickness and overhangs just right. From my experience with the tilt sensor, the snap feature was the most difficult. Lucky for us, having a 3D printer allowed us to get really close with trial and error, rather than using the difficult calculations.

  • News - Creating a Custom Tilt Se… | about 2 months ago

    Hi Scott, For a similar plastic part (in size and complexity), you can expect to pay 6-8K for tooling. The complexity is a huge factor in cost. Because our tilt part has a cavity, it required a 3-part tool: Two sides that slide outwards and a core pin.This basically doubled the cost of the tool. If you have a part that can be made with a 2-part tool, it would be more in the 3-5K range.

    About time commitment, I think you can expect that you and the tool maker will need to adjust the part a few times to get the design ready for production. So if you were really quick, and the molding company was really responsive (which was the case with MM), then you may be able to get from idea to parts in 4-6 months. I’m sure a more experienced mechanical engineer would have spent less time designing than I did, and they may have avoided any necessary revisions.

    I asked Modular Robotics to 3D print our first prototype in January of 2013, and the finished product went live on January 9th, 2014. So all in all, it took about a year. Although we did have the parts in hand by Dec 2nd, so design, tooling and manufacturing was more like 11 months total. I would also like to mention that during the past year this was not my top priority project. I am the quality control manager here at SparkFun, so quite often my immediate responsibilities would kick Simon Tilts to the back burner.

    Also, I would like to mention that it was really great working with Mountain Molding. I’m sure they would be very happy to answer any more questions you may have. You can contact them here: http://www.mountainmolding.com/contactus.php

  • Product KIT-12634 | about 3 months ago

    Thanks for bringing this up. We hadn’t thought of that yet. We do currently offer the Simon - Surface Mount Stenciling Kit.

    Having a kit that teaches both SMD and PTH soldering skills is definitely a great learning tool. Do you think having a second option for a “combo skills” kit would be really popular?

  • Product KIT-12634 | about 4 months ago

    Good catch. Thanks! I just fixed it and updated the github repo.

    When we first were developing the prototype, we simply streamed the data from the read_position_once() function. This way we didn’t really have to think about how the data was coming in. We were mostly concerned that it was outputting a unique value for each position. As it goes sometimes, we rushed to get it working properly and didn’t take the time to thoroughly comment each step of the code. Going back to comment was then much more work than it had to be. At first, the table was all mixed up and it took quite a bit of streaming data and thinking to get it all correct :)

    We sure appreciate your attention to detail. Thanks again for letting us know about the error!

Name Pieces Total
simon musical
7 101.2