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

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

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. :)
  • That’s awesome! Thanks for working through this issue. If we end up doing some serial programming to 32u4 (or any other micros with USB capability), this will be really helpful to know ahead of time!

    I’m gonna add in the delay to the standard test.py (and comment it out, with a note to use for 32u4s). This seems like it might be kind of buried in the code. Is there another place you might have looked for help?

    I suppose this comment thread is good, but I’m wondering if a general troubleshooting section would be a good idea… any other issues you came across?

  • Sorry, I haven’t been able to try this out yet, but I did think of one thing. It might be that after programming the bootloader, your 32u4 has not had enough time to enumerate the serial port. Try adding in a slight delay into test.py just before it calls program_serial(). Maybe even just 1 second should do the trick. Here is the line in the code where I would add it in:

    test.py#L432

    The code for a 1 second time dleay in pythong is like this:

    time.sleep(1)

    If you wanted to really go for it, I suppose you could put in a function that looks for that com port and times out, but adding in the delay would be the first step to see if this is really the problem.

    Yet another option might be to read the entire hex from a known good board (this would include the bootloader and the sketch code). Then you could program that entire “combined hex” over SPI nice and fast. We also erase the “blanks writes” in the middle of the hex to shrink it down. That’s how we do it in production.

    More about hex file snipping here, if you like:

    HEX_FILE_SNIPPING_Instructions.pdf

  • That’s good that most things are working, but sorry to hear about the 20% successful serial uploads.

    No, we do not have any procedures currently that include serial upload to a 32u4 based board. All of our current 32u4 tests include only a verification of com port enumeration.

    We have plenty that do a serial upload to 328 based designs (usually an FTDI or CH340 bridge IC), and see great reliability, so I’m not sure what’s going on here.

    Could you post the failure message from avrdude? (It should be accessible in the “serial_upload_results.txt” file after a failure).

  • You’re welcome!

    I did just come across one more thing that is necessary (edited my comment above). It is important to use the avrdude_gpio.conf file. This includes the GPIO programmer (“pi_1”), but also the “linuxspi” programmer and defines the reset pin (which is default 26 on our design).

    See Kevin Cuzner’s tutorial for more info on setting up SPI in avrdude:

    http://kevincuzner.com/2013/05/27/raspberry-pi-as-an-avr-programmer/

  • Hi There, thanks for your interest. Sorry, we do not yet have a standard image hosted online somewhere. Is there a service for this?

    It’s fairly quick to get from the noobs image to a pi_grammer image though:

    1) copy a few files to “\home\pi” directory: test.py, pi_program.sh, avrdude_gpio.conf, your_firmware.hex.

    Note, it’s a good idea to open up permissions on all of these files to avoid access errors in debug. To do this navigate to \home\pi, then type use the command “sudo chmod 777 test.py pi_program.sh your_firmware.hex”

    2) enable SPI hardware tutorial here

    3) replace the standard RC.LOCAL file with the one from the repo. It is located here: “\etc”

    4) install avrdude. A single command will do this: “sudo apt-get install avrdude” but you can read more about it here adafruits gpio tutorial

    I’m about 99.9% sure that’s all you need to do, but I will run this from a fresh noobs and get back to ya.

    Also, is there a better way to host a pi image? I’d be happy to get that available for download, although our “master” image for production models is 8GB, and seems a little large to deal with.

  • Wow. Right on Nate. This is very impressive! I’ve always wanted to dive into the world of Eagle ULPs! We use the BOM generation one all the time, and I’ve also played around with image import a ton. https://learn.sparkfun.com/tutorials/making-custom-footprints-in-eagle But ULPs have always been a black box to me. I’m excited to take a closer look into your code on this. Thanks for sharing!

  • Nice work Joel! Those bubbled boards make me shiver :) Does your stencil open up over the vias? Not sure if it’d be enough solder paste to cause the connection, but probably worth a shot…

  • Nice one Nick! What a cool project. I’m excited to see how it progresses. I’m already wondering how this could scale to store a larger inventory. Maybe a portal on the back position that can exchange each tub from a larger storage array? Now I’m envisioning a train track around my kitchen with a ton of peanut butter jars cruising along :)

  • Not sure what you mean by “routed” and “sheared” PCBs. Could you explain more?

    Usually when we use the term “routed” around here we are talking about a standard PCB with an outer dimension that is milled on a CnC machine with a drill bit. The only other type of PCB division we deal with is when we request a V-score. Is this what you mean by sheared?

  • Hi Shadyman, Thanks for posting. I’m glad this old tutorial is still found useful! Yes, we do have some 2 pin style locking footprints with the center-pints scooted 5 mils outward. It is very rare that we have PTH parts soldered into place at SparkFun, but more and more designs are starting to now that we have a selective solder machine on the floor.

    I like your idea of not shifting the “end” holes too allow for more standard positioning on a layout - good thought. We will keep this in mind with future library work/layouts.

    Also, I just checked out the gEDA project for the first time. Looks cool! There are more and more board design tools coming out, it’s hard to keep up. We have always used eagle here, and so we are pretty darn committed at this point. There was talk of transitioning to Kicad, but our experience is that it has a rather steep initial learning curve. Have you worked with gEDA a lot? If you’re already working in the library, I assume so. What has your experience been like?