avatar

QCPete

Member Since: January 28, 2009

Country: United States

Profile

Bio

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

Role

QC Manager

Programming Languages

Arduino, Tera Term Scripts and Batch Files.

Associations

Rock On Audio

Universities

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

Expertise

Rocking

Interests

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.

Websites

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

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

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. 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 3, 2013

This tutorial will guide you through assembling your Simon Tilts PTH Kit.
  • Hi there! We now call the top layer the “frame layer” cause that’s a little more clear when designing waffle-top testbeds. When we draw the frame layer, we follow these steps:

    1) copy the outline dimensions of the board-under-test into your testbed design(frame layer). 2) move the board-under-test outline to the reference layer. 3) draw the frame lines on the dimension layer directly on top of the board-under-test reference lines. At this point you can either draw in the “corner cutouts” as squares or circles. Or you can wait to do it later. 4) make sure all lines (both the reference and dimension) are 0.008 inch wide 5) set your alt to 0.016 inch 6) move the frame dimension lines out one alt click (0.016 inch). We have found with our fab house, this is the correct size gap between board-under-test dimension line and frame dimension line.

    Most fab houses don’t have a problem with strangely shaped cutouts. One tip though - if you want a space milled out, it’s a good idea to include a text object on the dimension layer with the words “ROUTE OUT” in the space you want removed. Otherwise, it can sometimes just come back as a line in the top copper.

    Yes, we use pointed for vias, and round for pads. This can help avoid scratching up the test point too much.

    Hope this helps, and good luck with your project!

  • Sure can! Use the 3.3V logic version, and supply power with batteries. Although, if you have a 5V version, you can change the logic level by changing the solder jumper on the bottom side of the board. Also, we wrote a tutorial on how to reprogram the Simon Says that may be helpful. The hardware is pretty similar, and it has the same bootloader. Good luck!

  • Let the countdown begin! I’m looking forward to setting up our simon says trampoline project! Although, it’s a little too chilly these days for a dunk tank, so I guess the reward for winning will only be more glorious blinking LEDs. Or maybe… candy!

  • Hi NatL, Sorry we do not carry that inductor alone on our website, but you can pick one up from digikey here

    Hope it goes well!

  • Also, because some of the ISP lines are used to control the screen, it made more sense to put “free to use” IO on the headers. Although it will be time consuming no matter what we do, we have already found one solution that makes reprogramming a little easier for us. We were able to modify our current programming pogopin adapter to contact the ISP lines while still keeping the PCB inside the bottom piece of the enclosure. This enables us to reprogram without entirely disassembling the product. Every little thing helps!

  • Thanks for the kind words Tim. We were planning to revise this design to include proper 0603 footprints for a while. When I read your comment I thought, “hmmm… There might not be space, but I’ll give it a try.” I’m always up for a challenging layout :) Hope your low-power projects are going well!

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

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

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

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