SparkFun will be closed Nov 26th and 27th for the Thanksgiving holiday. Orders placed after 2:00pm MT on the 25th will ship out Monday the 30th.



Member Since: May 8, 2009

Country: United States



Grew up in Dillon, CO. Escaped CU-Boulder with a B.S. in Electrical and Computer Engineering. Built some speakers for a while and eventually landed a sweet gig with SparkFun in ‘09.


SparkFun Engineer/Content Creator

Spoken Languages

English, Espanol

Programming Languages

In order of competency: C/C++, Java, Javascript, Python. Once upon a time: QBASIC, Flash, Matlab, Perl


Summit High School University of Colorado - Boulder (B.S. Electrical and Computer Engineering 2007)


Datasheets and schematics. Eagle PCB Design. SparkFun products!


Puppies, hiking, baseball, sci-fi,




Many SparkFun tutorials! I’ve written some pretty lengthy TS emails too.

In lieu of any cool, new project, I took on the task of updating documentation and example code for the MLX90614 IR Thermometer Evaluation Board (and shaved some yaks in the process).

Continue reading

If you want to write code for the Particle Photon, an online, "cloud" IDE isn't your only option. Check out our "Photon Development Guide" to see how you can set up a Photon development environment of your own.

Continue reading

Exploring sleep modes in two WiFi-connected development boards: the ESP8266 Thing and the Photon.

Continue reading

Meet our new product line centered around Particle's Photon WiFi development board!

Continue reading

The release of Arduino 1.6 has really improved my Arduino-programming life thanks to custom platform support, command line utilities and line numbers!

Continue reading

I've been learning a lot about IoT protocols lately. Come learn the wonders of MQTT and CoAP!

Continue reading

How will you be developing code for the Edison? Here are a few methods we're exploring!

Continue reading

How and why I use markdown everyday, for all of my documenting needs.

Continue reading

We're really excited about the MicroView -- a new Arduino compatible board with an integrated display! Check out why...

Continue reading

First impressions of the Arduino/Intel-hybrid Galileo board - an x86 Arduino! - a small example project, and our likes and dislikes.

Continue reading

Visual programming languages are a unique way to introduce tyro programmers to thinking like a programmer. Here are some of the great tools we've discovered that enable visual programming for Arduino.

Continue reading

Check out what we've been doing in the tutorials section of learn.sparkfun.com.

Continue reading

Tips and tricks to turn your drab PCB design into a snazzy work of art!

Continue reading

Ultra-cool ultrasonic sensors are a perfect and simple way to add object or distance sensing to your project!

Continue reading


SAMD21 Mini/Dev Breakout Hookup Guide

November 12, 2015

An introduction to the Atmel ATSAMD21G18 microprocessor and our Mini and Pro R3 breakout boards. Level up your Arduino-skills with the powerful ARM Cortex M0+ processor.

ESP8266 Thing Development Board Hookup Guide

November 5, 2015

An overview of SparkFun's ESP8266 Thing Development Board - a development board for the Internet of...Things. This tutorial explains the circuitry driving the board, and how to get it up and running in an Arduino environment.

MLX90614 IR Thermometer Hookup Guide

October 29, 2015

How to use the MLX90614 or our SparkFun IR Thermometer Evaluation Board to take temperatures remotely, over short distances.

Raspberry gPIo

October 29, 2015

How to use either Python or C++ to drive the I/O lines on a Raspberry Pi.

SX1509 I/O Expander Breakout Hookup Guide

September 24, 2015

Learn how you can use the SX1509 to control 16 LEDs or up to 64 buttons with just two pins.

SparkFun Inventor's Kit for Photon Experiment Guide

September 3, 2015

Dive into the world of the Internet of Things with the SparkFun Inventor's Kit for Photon.

Photon RedBoard Hookup Guide

August 27, 2015

Your guide to commissioning, tinkering, and programming the SparkFun Photon RedBoard.

Photon Development Guide

August 20, 2015

A guide to the online and offline Particle IDE's to help aid you in your Photon development.

LSM9DS1 Breakout Hookup Guide

August 13, 2015

A hookup guide for the LSM9DS1, which features a 3-axis accelerometer, 3-axis gyroscope, and 3-axis magnetometer. It's an IMU-in-a-chip!

ESP8266 WiFi Shield Hookup Guide

July 16, 2015

Interface your Arduino with an ESP8266 to give it inexpensive access to your WiFi network and the Internet!

Ardumoto Shield Kit Hookup Guide

July 2, 2015

Learn how to assemble and drive DC motors using the Ardumoto Shield.

Photon Battery Shield Hookup Guide

July 2, 2015

The Photon Battery Shield has everything your Photon needs to run off, charge, and monitor a LiPo battery. Read through this hookup guide to get started using it.

Electric Imp Breakout Hookup Guide

June 25, 2015

An electric imp HUG! Provides an overview of the imp card and breakout. Both hardware and firmware subjects are covered.

How to Sell Your Widget on SparkFun

June 10, 2015

Have an awesome electronic widget that you want to get to market? We can help resell, or maybe even manufacture it! Find out how.

ESP8266 Thing Hookup Guide

May 21, 2015

An overview of SparkFun's ESP8266 Thing - a development board for the Internet of...Things. This tutorial explains the circuitry driving the board, and how to get it up and running in an Arduino environment.

MG2639 Cellular Shield Hookup Guide

May 7, 2015

Learn how to equip your Arduino with an MG2639 Cell Shield and use it to send SMS or TCP via GPRS.

MP3 Player Shield Hookup Guide V15

April 6, 2015

How to get your Arduino groovin' using the MP3 Player Shield.

Exploring XBees and XCTU

March 12, 2015

How to set up an XBee using your computer, the X-CTU software, and an XBee Explorer interface board.

SparkFun Blocks for Intel® Edison - OLED Block

February 13, 2015

A quick overview of the features of the OLED Block for the Edison.

Edison Getting Started Guide

December 5, 2014

An introduction to the Intel® Edison. Then a quick walk through on interacting with the console, connecting to WiFi, and doing...stuff.

Micro OLED Breakout Hookup Guide

October 30, 2014

Learn how to hook up the Micro OLED breakout to an Arduino. Then draw pixels, shapes, text and bitmaps all over it!

Installing a Bootloader on the MicroView

August 22, 2014

Fix your bootloader-less MicroView! This tutorial covers how to: disassemble the MicroView, wire it up to an assortment of programmers, program the bootloader, and test it out.

Digital Sandbox Arduino Companion

July 31, 2014

Let's take the same examples from the ArduBlock-based Digital Sandbox guide, and implement them using Arduino code.

Digital Sandbox Experiment Guide

July 31, 2014

Your guide to the Digital Sandbox! 16+ experiments that, using a graphical programming language, teach you to blink LEDs, monitor microphones, read temperature, and much more.

Alternative Arduino Interfaces

July 29, 2014

We admit the Arduino IDE isn't for everyone. Here are some other options for programming your Arduino boards, including web interfaces and graphical programming languages.

Pushing Data to Data.SparkFun.com

July 8, 2014

A grab bag of examples to show off the variety of routes your data can take on its way to a Data.SparkFun.com stream.

Pocket AVR Programmer Hookup Guide

July 7, 2014

Skip the bootloader and load your program directly onto an AVR with the AVR Pocket Programmer.


July 1, 2014

A crash course in bi-polar junction transistors. Learn how transistors work and in which circuits we use them.

Internet Datalogging With Arduino and XBee WiFi

June 19, 2014

How to combine an Arduino, XBee WiFi module, and handful of sensors to create a live stream of "Office Conditions". Storing light, temperature, carbon-monoxide, and methane (for science!) readings on the Internet.

MMA8452Q Accelerometer Breakout Hookup Guide

June 11, 2014

How to get started using the MMA8452Q 3-axis accelerometer -- a solid, digital, easy-to-use acceleration sensor.

XBee Shield Hookup Guide

June 5, 2014

How to get started with an XBee Shield and Explorer. Create a remote-control Arduino!

LiPo USB Charger Hookup Guide

May 1, 2014

How to charge your LiPo batteries with the USB LiPo charger. Plus how to modify your charger to set the charge current.

Arduino Wireless Communication via the Electric Imp

April 8, 2014

How to communicate between an Electric Imp and Arduino using serial.

LogicBlocks & Digital Logic Introduction

March 31, 2014

Introducing fundamental digital logic concepts and LogicBlocks

LogicBlocks Experiment Guide

March 31, 2014

Experiments guide for the LogicBlocks kit. Build oscillators, latches, multiplexers and more with the LogicBlocks.


March 20, 2014

How to interpret hex numbers, and how to convert them to/from decimal and binary.

LSM9DS0 Hookup Guide

February 27, 2014

How to assemble, connect to, and use the LSM9DS0 -- an accelerometer, gyroscope, and magnetometer all-in-one.

How to Use an Oscilloscope

February 25, 2014

How to work the dials and buttons on an oscilloscope, and a glossary of the o-scope lexicon.

MaKey MaKey Quickstart Guide

February 6, 2014

Be stoked! The world is your construction kit. How to turn everyday objects into computer inputs with the MaKey MaKey.

MaKey MaKey Advanced Guide

February 6, 2014

Use Arduino to remap keys and program the MaKey MaKey.

Galileo Unread Email Counter

January 30, 2014

How to create a simple unread-email checker with the Intel/Arduino Galileo.

Galileo Getting Started Guide

January 23, 2014

An introduction to the Arduino/Intel Galileo, and how to begin using the nifty x86, 400MHz Arduino.

Dot/Bar Display Driver Hookup Guide

January 16, 2014

How to hook up the LM3914 or LM3916 to drive a 10-LED display with a lone analog signal.

RedBoard Hookup Guide

January 7, 2014

How to get your RedBoard up-and-blinking!

Setting up Raspbian (and DOOM!)

December 19, 2013

How to load a Raspberry Pi up with Raspbian -- the most popular Pi Linux distribution. Then download, compile, install and run the classic: Doom.

RGB Panel Hookup Guide

December 12, 2013

Make bright, colorful displays using the 32x32 and 32x16 RGB LED panels. This hookup guide shows how to hook up these panels and control them with an Arduino.

XBee WiFi Hookup Guide

November 21, 2013

An overview of Digi's WiFi XBees, and a quick how-to on getting them connected and interfacing with the cloud.

Graphic LCD Hookup Guide

November 18, 2013

How to add some flashy graphics to your project with a 84x48 monochrome graphic LCD.

Arduino Comparison Guide

November 11, 2013

Examining the diverse world of Arduino boards.

Pro Micro & Fio v3 Hookup Guide

November 8, 2013

An overview of the Pro Micro, how to install it, and how to use it with Arduino.

Tiny AVR Programmer Hookup Guide

October 28, 2013

A how-to on the Tiny AVR Programmer. How to install drivers, hook it up, and program your favorite Tiny AVRs using AVRDUDE!

Bi-Directional Logic Level Converter Hookup Guide

October 25, 2013

An overview of the Bi-Directional Logic Level Converter, and some example circuits to show how it works.

IR Control Kit Hookup Guide

October 2, 2013

How to get the most out of the IR receivers and transmitters included in the IR Control Kit.

LED Light Bar Hookup

September 24, 2013

A quick overview of SparkFun's LED light bars, and some examples to show how to hook them up.

Using the BlueSMiRF

September 16, 2013

How to get started using the BlueSMiRF and Bluetooth Mate Silvers.

Serial Terminal Basics

September 9, 2013

This tutorial will show you how to communicate with your serial devices using a variety of terminal emulator applications.

ProtoSnap LilyPad Development Simple Hookup Guide

September 5, 2013

Interested in getting into LilyPad? Or maybe it's Arduino that tickles your fancy? Just want to add a little white-blinky-LED zest to your vest? All of the above? The ProtoSnap LilyPad Simple is a great tool to explore any of these subjects.

Using the Arduino Pro Mini 3.3V

September 5, 2013

This tutorial is your guide to all things Arduino Pro Mini. It explains what it is, what it's not, and how to get started using it.

Using EAGLE: Board Layout

September 5, 2013

Part 2 of the Using Eagle tutorials, this one covers how to lay out a board after designing a schematic.

How to Install and Setup EAGLE

September 5, 2013

Not just how to download and install EAGLE, but how to install the SparkFun EAGLE Libraries and scripts.

Using the Logic Level Converter

September 5, 2013

What the Logic Level Converter is, how it works, and how to use it!

Using EAGLE: Schematic

September 5, 2013

How to design a PCB in EAGLE using through-hole parts.

Bluetooth Basics

August 26, 2013

An overview of the Bluetooth wireless technology.

MetaWatch Teardown and Arduino Hookup

August 13, 2013

Tearing down the nifty bluetooth-enabled MetaWatch. Then building an Arduino sketch to control it.

Using the Serial 7-Segment Display

August 13, 2013

How to quickly and easily set up the Serial 7-Segment Display and the Serial 7-Segment Display Shield.

ATmega128RFA1 Dev Board Hookup Guide

August 8, 2013

A hookup example guide for SparkFun's ATmega128RFA1 Development Board. Includes a schematic/board overview and explanation, and example code.

RedBoard vs. Uno

August 6, 2013

In this tutorial we discuss the differences and similarities between the RedBoard and the Arduino Uno (SMD and PTH). The development platforms

Arduino Shields

August 6, 2013

All things Arduino Shields. What they are and how to assemble them.

WS2812 Breakout Hookup Guide

July 24, 2013

How to create a pixel string with the WS2812!

Analog vs. Digital

July 18, 2013

This tutorial covers the concept of analog and digital signals, as they relate to electronics. We'll talk about what each signal looks like on a voltage-vs-time graph. Where analog and digital signals are prevalent. And some examples of analog and digital electronic components.

Integrated Circuits

July 15, 2013

An introduction to integrated circuits (ICs). Electronics' ubiquitous black chips. Includes a focus on the variety of IC packages.

How to Read a Schematic

July 12, 2013

An overview of component circuit symbols, and tips and tricks for better schematic reading. Click here, and become schematic-literate today!

Electric Power

June 26, 2013

An overview of electric power, the rate of energy transfer. We'll talk definition of power, watts, equations, and power ratings. 1.21 gigawatts of tutorial fun!


June 19, 2013

Learn about all things capacitors. How they're made. How they work. How they look. Types of capacitors. Series/parallel capacitors. Capacitor applications.


June 14, 2013

An introduction to polarity in electronic components. Discover what polarity is, which parts have it, and how to identify it.

What is Electricity?

June 13, 2013

We can see electricity in action on our computers, lighting our houses, as lighting strikes in thunderstorms, but what is it? This is not an easy question, but in this tutorial we will shed some light on what is electricity!

Si4707 Hookup Guide

May 29, 2013

Instructions on hooking up to and communicating with the Si4707 Weather Band Radio Breakout using an Arduino.

Where Do I Start?

May 23, 2013

New to the world of electronics? Start here! Find the best tutorials that teach the basics and check out the very best kits and projects for beginners.


May 9, 2013

A diode primer! Diode properties, types of diodes, and diode applications.

Switch Basics

May 7, 2013

A tutorial on electronics most over-looked and under-appreciated component. The switch! Explaining the difference between momentary and maintained switches. And what all those acronyms (NO, NC, SPDT, SPST, ...) stand for.


April 1, 2013

A tutorial on all things resistors. What is a resistor, how do they behave in parallel/series, decoding the resistor color codes, and resistor applications.

Voltage Dividers

February 8, 2013

Turn a large voltage into a smaller one with voltage dividers.


February 7, 2013

Binary is the numeral system of electronics, and widely used in programming...so it must be important to learn. But, what is binary? How does it translate to other numeral systems like the decimal we're used to?

Serial Communication

December 18, 2012

Asynchronous serial communication concepts: packets, signal levels, baud rates, UARTs and more!
  • Correct on all fronts. This board doesn’t break out the default Arduino SPI pins (those on what would be the ICSP header of an Arduino Uno). Instead the SPI port is mapped to pins 10-13 (SS, MOSI, MISO, and SCK, respectively).

    PB22 and PB23 are also not available, and the pin 0/1 RX and TX are assigned to the Serial1 object.

  • Our Arduino board definition for the Mini Breakout assigns SPI to pins 10-13 – similar to the signal pinout on ATmega328-based Arduinos (10=SS, 11=MOSI, 12=MISO, 13=SCK).

  • Good catches. Looks like I missed D6 (PA20) and D7 (PA21) on SERCOM5 as well. Table should be fixed now…too much abstraction.


  • The SPI port doesn’t default to pins 10-13 on the SAMD Mini like it does on the Arduino Pro Mini – that’s probably what’s causing the issues. Luckily there is an unused SERCOM port on those pins, so we should be able to make it work.

    We’ve released an updated Arduino board package which adds an additional board definition for the Mini boards, equipping them with SPI on pins 10-13. If you go to your Arduino Board Manager, and click “Update” on the “SparkFun SAMD Boards” package (you may have to open and close the Board Manager twice), that should add the extra “SparkFun SAMD21 Mini Breakout” option on the boards menu. Try uploading with that board selected – seems to be working for me with an SD card.

  • You should be able to use this shield with the pubsubclient MQTT Arduino library. There aren’t any examples of using the library with an ESP8266 shield, but the basic example should be a straightforward port from the Ethernet library to the ESP8266 AT library.

  • The debug header is 0.05"-pitch. This section of the Hookup Guide has a bit more info on the connector and recommends a header.

  • I’ve added the bootloader source and our compiled binary to the GitHub repo.

    It’s a slightly modified version of the Arduino Zero bootloader (added some code to blink RX and TX LEDs, swapped in our VID/PID), which is based on Atmel’s SAM-BA bootloader. That should be port-able to the SAMD21J parts.

  • We could probably find a better home for it. For now it’s in our Arduino_Boards repo. I’ll see about getting it in the individual boards' repo’s.

  • We program a bootloader on it here, when we build the board. All you need to program it is a USB cable!

  • It does sound like your ESP8266 isn’t being put into bootloader mode before the code begins to upload. GPIO0 and the ESP8266’s reset pin should be automatically controlled, though – you shouldn’t have to do any manual finagling with them.

    The reset circuit on this board differs a bit from that of WRL-13711 – both DTR and RTS signals from the FTDI chip are used to separately control the ESP8266’s reset and GPIO0 pins. For GPIO0 to go low, for example, the FTDI’s DTR must be low and RTS must be high.

    esptool has a board definition that controls those FTDI pins. If you’re using esptool manually, make sure to add the -cd ck option, to select the proper board. (There are all sorts of esptool’s out there, this one works well for me.)

    As for Arduino, make sure you’ve got the latest stable release of esp8266 Arduino and “SparkFun ESP8266 Thing” is checked. That should be selecting the correct board during upload. If that still doesn’t help, check in with our tech support team, and we can help get everything sorted out.