Category Archives: Aggregated

Enginursday: Arduino Celebration and Hexbugs hacking with Bob Martin

via SparkFun Electronics Blog Posts

Arduino Day is just around the corner and the Atmel Tech on Tour Mobile trailer will be at SparkFun on Friday, March 27th! The Atmel crew will be showing off demos and doing giveaways! Also, they will be featuring the Arduino RF101 Wi-Fi shield using Atmel’s own WINC1500 SMART Connect module.

What Arduino project have you done that you want to show off? Share in the comments below!

Being in Arduino celebration mode, for this Engingursday post, I wanted to highlight one of the ways you can use Arduino to hack a commercial toy. Hacking and taking apart toys is a fun way to give life to forgotten toys and learn how things work. One of the toys I see a lot of makers doing cool projects with are Hexbugs. Hexbugs are small, fun robotic bugs and you can find these in pretty much every toy shop and many retail stores.


Image courtesy of

Two years ago, I met the wonderful and friendly Bob Martin at CES. He was showcasing how Arduino had the Arduino at Heart program, which allows companies and makers to show that they are a part of the Arduino community. If you are a maker who created a board/product that uses the Arduino technology, I highly recommend checking out this program! Bob was also showcasing how fun it is to hack one of the Hexbugs with an Arduino Pro Mini.

Bob Martin

Bob Martin showing off his Hexbug demo in the Atmel booth at CES!

Since there are a lot of makers who are interested in using Hexbugs as the starting point for their projects, I asked Bob Martin a couple questions to help anyone getting started. This interview is jam-packed with really great tips and ideas. Thanks Bob! Enjoy and happy hacking!

PC: Why Hack with Hexbugs?

BM: I hack Hexbugs for several reasons; cost, mostly made of plastic, and last, but not least, the type of locomotion.


I most hack the Hexbug Spider XL and the Scarab XL which are available from many on line toy stores and from directly. The smaller versions are usually sold at Radio Shack but given the recent developments, that’s probably not going to be a solution. I started working on the Strand Beast XL, but it’s turning out to be a little more difficult to work with than the other two because of the way it’s put together.

Plastic Construction

While not as durable as the steel or aluminum parts used with other robot chassis, the plastic bodies make it easy to cut holes, attach platforms and otherwise modify without needing a lot of expensive tools. Typically, a Dremel tool with some basic cutter bits, a small hacksaw and cordless drill are all that’s needed. Platforms and sensors can be added with 5 minute epoxy, double sided tape or shoe repair glue depending on the specific application.

Hex Bug Arduino Hacking close up

Having a plastic construction makes it easy modify the chassis


Since the Hexbugs use legs and feet for locomotion, the overall effect is so much more life like, even though practically the units look nothing like a real bug.

However, the lumbering gait of the Spider XL or the quick scurry of the Scarab XL demonstrate an amazing amount of realism when they move. I had people squeal a bit when one of the Spider XLs turns directly towards them and starts walking fast. It’s fascinating how much personality the human brain assigns to a few plastic parts, two electric motors and a 50 line Arduino sketch.

PC: Do you hack other commercial toys as well?

BM: Yes, I’m continually looking at new toys, mostly new kits introduced by Lego and Erector, but tend to keep my eye on anything that looks interesting. I think I may be noticing a slight trend for toy manufacturers to be making some of their products easier to hack.

Anything with a cool mechanism is always a good candidate.

PC: What parts/boards do you use when hacking?

BM: My primary controller board is the MegaAVR328P based Arduino Pro Mini in either 3V or 5V versions. I usually end up hacking the power supply to extract maximum battery life anyway by removing the on board LDO and inject raw battery voltage or a voltage from an external buck/boost regulator.

I have also developed a Pro Mini form factor board based on the Atmel SAM D21 microcontroller, which is the same base processor as the Arduino Zero for upcoming hacks that require a bit more horsepower than the 16 MHz 328P.

The Pro Mini form factor and the really small breakout modules for the DRV8835 make for a very compact core processor module that can be fitted into just about anything worth hacking. Having to design a custom PCB board just to make something fit generally kills a project.

Hex Bug Arduino Hacking

Got a friend who is afraid of bugs? You could do some fun projects!

I also use other various Atmel eval boards such as the SAM4N Xplained Pro and the SAMD20 Xplained Pro, both of which are also ARM core based microcontrollers. The Arduino Pro Mini of course is programmed purely using the Arduino environment however the other boards are pure bare metal embedded C using Atmel Studio 6.

The surrounding analog drive IC’s are usually the TI DRV8835 / DRV8833 H-bridge chips, Sharp IR distance sensors and 5V buck/boost modules which allow me to extract maximum life out of the battery packs. I started with basic LiPo packs but the complications of flying with a large number of lithium batteries forced me back to a standard quad “AAA” battery pack as my standard power source of choice. I build the system boards up using strip board which allows me to quickly connect the various modules fairly quickly. I also use a lot of Molex 0.1 inch headers along with the mating female crimp connectors to make everything modular. The same Pro Mini + DRV8835 core system board can be dropped in almost any toy with two brushed motors.

PC: What are some demos have you created using the Hexbugs?

BM: I have two basic demos using the Spider XL, the Hunter and the Cat Chaser.

The Hunter demo is a combination of object detection and object avoidance. It uses an IR sensor array to determine objects around it. Objects that appear and then disappear quickly, say in a second o two are targets which it will walk towards, however a target that stays constant will be avoided. I’m still trying to find the perfect balance between making a decision between fleeing pry and a wall using only simple proximity samples from an IR detector array.

The second demo is called Cat Chaser which instead of actively walking around will sit and randomly fidget in one place until it acquires a target. It will then start chasing the target full speed for a few seconds and then stop and start fidgeting again. This particular algorithm will end up chasing a cat around the house since you relay on the cat to keep coming back to check out the robot.

There is essentially one basic demo for the Scarab XL Hex Bug. Since the Scarab looks a lot like a cockroach I decided to make it act like a cockroach. This hack uses two IR sensors, one to detect objects, like walls in front, and another to detect objects coming at it from above. The forward looking sensor essentially guides it around the perimeter of a room searching for a corner to hide. The upwards facing sensor on its back will make a decision depending on the speed of the approaching object, in this case a persons hand. A fast approach will cause the bug to quickly scurry away. If you approach it slowly enough it will stop and allow you to pick it up.

PC: Any tips or tricks for people working with the Hexbugs?

BM: There are several things I have learned over the past 5 years of doing this:

  • Make sure you have a definite plan of what the hack is supposed to do, and make sure that apart from adding additional intelligence and a few sensors that the toy will be able to fulfill that function. Having to add a whole bunch or extra servo motors and actuator arms will likely add too much weight to the main chassis and ruin the desired results. At that point it’s best to start building up the mechanical core from kits like Erector or Lego.

Hex Bug Arduino Hacking showcase event

If one of these Hexbugs weighs 1lb, could make for an interesting entry for the AVC robot battles!

  • Also spend extra time in the beginning developing a common hardware system board that can be used across many platforms. The ability to drive at least two small to medium sized brushed motors and connector to at least two basic analog or digital sensors would be a minimum. Even the Pro Mini has enough IO to easily meet this requirement. Make it easy to allow for additional connections over and above the core ones and try to use connectors instead of hard wiring whenever possible. My Pro Mini/DRV8835 board has saved me a lot of time since I can replicate them by hand very quickly because it’s almost muscle memory now in wiring them up.

  • Stick with the simple brushed DC motors that are already provided with the toy. Transplanting brushless DC into the mechanism may seem like a good idea but you can’t beat the simplicity and torque of a cheap brushless DC motor to get the job done quickly. Before you start ripping the toy apart measure the voltage being presented to the motors with a fresh set of batteries and shoot for powering them with at least 500 mV lower. These motors are not designed to last very long and generally are run at the top of the voltage range to get the best (read fastest) performance but the life of these motors is almost exponentially related to the operating voltage. I found out that running the Hexbug XL motors at 5V would basically burn up the main walking motor in about a day at the Make Faires. I ended up making the demos even more modular so I could swap out new bottom chassis with two screws and unplugging one connector. I modified all my demo code stop after about 10 minutes of continuous running which of course dramatically increased the life of the motors (and the amount of battery changes)

  • Standardize on one basic sensor first be it IR, Sonar or something else and learn how to use it well until you run out of sensitivity or range. Remember that sensors can consume a lot of power so either take that in account in the power budget or power switch the sensors. The more optical sensors look like eyes the better.

  • It’s always easier to make a hole bigger. Creep up on making holes slowly with the Dremel. You can do some phenomenal things with the multipurpose cutting bit (#561) with a slow and steady hand.

  • It’s always easier to cut a wire shorter.

  • 5 Minute Epoxy actually takes more than 5 minutes which gives you a lot of time to change your mind. Be patient its worth the wait but remember after about an hour that glue joint is committed.

  • Using standard color groups for signal classes helps not to blow things up when making connectors or wiring modules together. Apart from the obvious red / black combo for power I always use yellow and purple for motor drive, white and blue for sensor signals. Orange typically is reserved for the logic voltage on the micro controller board. It’s usually easier to generate smaller voltages from larger ones, although there are a lot of buck/boost modules out there now.

  • I generally always use the existing battery in the toy for anything but holding batteries. Battery packs with built in switches are always a good idea because sometime you just need to shut off power in a hurry.

  • Blinking LEDs or even better, NeoPixels are always welcome.

  • Always buy at least two of the toys to be hacked and preferably three. The first one will usually end up being so hacked and patched that it will not serve as a good functional unit. You can then start fresh with the second. The third one then can serve as a reference.

  • Take lots of pictures during teardown and build up. It’s faster than writing things down. Take some time to hand draw the controller board schematic or enter in Eagle or the schematic editor of choice.

Why Bob Martin is a rockstar maker:

Bob Martin, Wizard of Make, brings over 25 years of experience in embedded systems and microcontroller environment to Atmel’s microcontroller applications team. He graduated from the University of Saskatchewan in 1987 with a B.S.E.E in Electrical Engineering and has designed, debugged and commissioned embedded systems in the medical, atmospheric research, military, consumer electronics and industrial instrumentation areas. He applies this knowledge along with a variety of robotic platforms and to teach and encourage new Makers young and old as often as he can. He lives in Sunnyvale, California with his wife, two daughters, a cat with no teeth and a garage full of hacked toys and miles of surplus wire and resistors he’ll get around to using some day.

comments | comment feed

PiJuice: portable power for your Pi projects

via Raspberry Pi

Helen: some Kickstarter campaigns just jump out at you. When I took a look at PiJuice it was obvious it was the real deal – they’ve only gone and sorted out portable power for the Raspberry Pi, with bells on. Their Kickstarter runs until Tuesday, so you’ve got the weekend to jump on board. Here’s Aaron Shaw to tell you more.

I started playing with the Raspberry Pi since the very beginning and after being involved in The MagPi and various other activities I am now fortunate enough to call Raspberry Pi tinkering my “work”. The thing that got me hooked back in 2012 was the hardware and physical computing capability – writing code to do things in real life (probably because of my background in Automotive Engineering) and I still spend a considerable amount of my time just learning new things and playing around with everything the Raspberry Pi has to offer. It has been a fantastic opportunity and I want to share it with as many people as possible.


Around a year ago I met Harry Gee from PiBot and we started by just throwing around our ideas for how we could help to make the Raspberry Pi even better. One of the things that we had both found difficult was creating portable or remote projects – it was of course possible, but it was just a lot harder than it needed to be. This ultimately led us to the idea of making a neat, safe, portable power solution for the Raspberry Pi to allow people to do even more exciting things with their Pi, whilst saving a lot of time and effort in the process.

PiJuice module

We’ve called this the PiJuice and it’s the ultimate product for portable and remote Raspberry Pi projects. The idea with PiJuice was to remove a barrier to entry from portable Pi projects so that beginners and professionals alike could focus on building, making and learning rather than worrying about the complexities of lithium battery charging and other electronics issues, whilst reducing the costs in the process.


Maker Kits – Made for Makers

PiJuice is more than just an add-on board. We are passionate about education and are keen to turn PiJuice into a modular project platform – a way to allow people to build their awesome ideas much more quickly and easily.

To kick things off and provide some inspiration we have developed a number of exciting tutorials and projects including a Raspberry Pi games console, a compact camera, a Pocket Pi and more.

Make cool stuff

We are calling these Maker Kits and they are already available to purchase in kit form from our Kickstarter page and are being uploaded as free guides on Instructables.

These guides will soon be turned into high quality step-by-step guides that you can either use with our Maker Kits or to build and make your own.

Free Off-Grid Power To the Pi

Off-grid power

When creating Raspberry Pi projects outdoors we’ve also been interested in using solar power as it is free and renewable. We’ve worked hard to create an efficient and low cost solution that will open up new off-grid and sustainable applications for the Raspberry Pi.

The PiJuice Solar has additional circuitry which adds functionality to enable truly autonomous, self-monitoring operation of the Raspberry Pi – perfect for weather stations, remote camera systems for nature watching and more.

Additionally, we are actively investigating possibilities for affordable wind and thermoelectric power generation with PiJuice Solar for added flexibility.

What would you do with yours?

What would you do with yours?

We are really interested in what you want to do with your own PiJuice. We want to create the projects that appeal to you the most, so please suggest us your ideas in the comments, or on Twitter (@ThePiJuice) using the hashtag #ProjectPiJuice to get our attention. We will turn the best of these into free projects for everyone to enjoy!

We really hope to help as many people as possible create awesome portable Raspberry Pi projects as well as continuing to create beautiful guides for cool projects! We’re currently coming to the closing stages of our Kickstarter and would appreciate any support to help make PiJuice even better –

– Aaron & The PiJuice Team

Raspberry Pi 2 – Speech Recognition on device

via Wolf Paulus » Embedded | Wolf Paulus

This is a lengthy post and very try, but it provides detailed instructions for how to build and install SphinxBase and PocketSphinx and how to generate a pronunciation dictionary and a language model, all so that speech recognition can be run directly on the Raspberry Pi, without network access. Don’t expect it to be as fast as Google’s recognizer, tho …

Creating the RASPBIAN boot MicroSD

Starting with the current RASPBIAN (Debian Wheezy) image, the creation of a bootable MicroSD Card is a well understood and well documented process.

Uncompressing the zip (again, there is no better tool than The Unarchiver, if you are on a Mac) reveals the 2015-02-16-raspbian-wheezy.img

With the MicroSD (inside an SD-Card adapter – no less than 8GB) inserted into the Mac, I run the df -h command in Terminal, to find out how to address the card. Today, it showed up as /dev/disk4s1 56Mi 14Mi 42Mi 26% 512 0 100% /Volumes/boot, which means, I run something like this, to put the boot image onto the MicroSD:

sudo diskutil unmount /dev/disk4s1
sudo dd bs=1m if=/Users/wolf/Downloads/2015-02-16-raspbian-wheezy.img of=/dev/rdisk4

… after a few minutes, once the 3.28 GB have been written onto the card, I execute:

sudo diskutil eject /dev/rdisk4

Customizing the OS

Once booted, using the sudo raspi-config allow the customization of the OS, which means that time-zone, keyboard, and other settings are adjusted, to closely match its environment.
I usually start (PI is already connected to the internet via Ethernet Cable) with

  • updating the raspi-config
  • expanding the filesystem
  • internationalization: un-check en-GB, check en-US.UTF-8 UTF-8
  • internationalization: timezone ..
  • internationalization: keyboard: change to English US
  • setting the hostname to translator, there are too many Raspberry Pis on my home network, to leave it at the default
  • make sure SSH is enabled
  • force audio out on the 3.5mm headphone jack


Given the sparse analog-to-digital support provided by the Raspberry Pi, the probably best and easiest way to connect a decent Mic to the device, is using a USB microphone. I happen to have an older Logitech USB Mic, which works perfectly fine with the Pi.

After a reboot and now with the microphone connected, let’s get started ..
ssh pi@translator with the default password ‘raspberry’ gets me in from everywhere on my local network
cat /proc/asound/cards

0 [ALSA ]: bcm2835 - bcm2835 ALSA
bcm2835 ALSA
1 [AK5370 ]: USB-Audio - AK5370
AKM AK5370 at usb-bcm2708_usb-1.2, full speed

showing that the microphone is visible and its usb extension.
Next, I edit alsa-base.conf to load snd-usb-audio like so:
sudo nano /etc/modprobe.d/alsa-base.conf
options snd-usb-audio index=-2
options snd-usb-audio index=0
and after a sudo reboot, cat /proc/asound/cards
looks like this

0 [AK5370 ]: USB-Audio - AK5370
AKM AK5370 at usb-bcm2708_usb-1.2, full speed
1 [ALSA ]: bcm2835 - bcm2835 ALSA
bcm2835 ALSA

Recording – Playback – Test

Before worrying about Speech Recognition and Speech Synthesis, let’s make sure that the basic recording and audio playback works.
Again, I have an USB Microphone connected to the Pi, as well as a speaker, using the 3.5mm audio plug.

Installing build tools and required libraries

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install bison
sudo apt-get install libasound2-dev
sudo apt-get install swig
sudo apt-get install python-dev
sudo apt-get install mplayer
sudo reboot


sudo nano etc/asound.conf and enter something like this:

    type hw
    card AK5370

    type hw
    card ALSA

    type asym
        type plug
        slave.pcm "internal"
        type plug
        slave.pcm "usb"

    type asym
        type plug
        slave.pcm "internal"
        type plug
        slave.pcm "usb"


The current recording settings can be looked at with:
amixer -c 0 sget 'Mic',0
and for me that looks something like this:

  Simple mixer control 'Mic',0
  Capabilities: cvolume cvolume-joined cswitch cswitch-joined penum
  Capture channels: Mono
  Limits: Capture 0 - 78
  Mono: Capture 68 [87%] [10.00dB] [on]

alsamixer -c 0 can be used to increase the capture levels. After an increase, it looks like this:

  Mono: Capture 68 [87%] [10.00dB] [on]


The current playback settings can be looked at with:
amixer -c 1
alsamixer -c 0 can be used to increase the volume. After an increase,
amixer -c 1
it looks like this:

  Simple mixer control 'PCM',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined penum
  Playback channels: Mono
  Limits: Playback -10239 - 400
  Mono: Playback -685 [90%] [-6.85dB] [on]

Test Recording and Playback

With the mic switched on ..
arecord -D plughw:0,0 -f cd ./test.wav .. use Control-C to stop the recording.
aplay ./test.wav

With recording and playback working, let’s get into the really cool stuff, on-device speech recognition.

Speech Recognition Toolkit

CMU Sphinx a.k.a. PocketSphinx
Currently pocket sphinx 5 pre-alpha (2015-02-15) is the most recent version. However, there are a few prerequisites that need to be installed first ..

Installing build tools and required libraries

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install bison
sudo apt-get install libasound2-dev
sudo apt-get install swig
sudo apt-get install python-dev
sudo apt-get install mplayer

Building Sphinxbase

cd ~/
tar -zxvf ./sphinxbase-5prealpha.tar.gz
cd ./sphinxbase-5prealpha
./configure --enable-fixed
make clean all
make check
sudo make install

Building PocketSphinx

cd ~/
tar -zxvf pocketsphinx-5prealpha.tar.gz
cd ./pocketsphinx-5prealpha
make clean all
make check
sudo make install

Creating a Language Model

Create a text file, containing a list of words/sentences we want to be recognized

For instance ..

Okay Pi
Open Garage
Start Translator
What is the weather in Ramona
What is the time

Upload the text file here:
and then download the generated Pronunciation Dictionary and Language Model

For the the text file mentioned above, this is what the tool generates:

Pronunciation Dictionary


Language Model

Language model created by QuickLM on Thu Mar 26 00:23:34 EDT 2015
Copyright (c) 1996-2010 Carnegie Mellon University and Alexander I. Rudnicky

The model is in standard ARPA format, designed by Doug Paul while he was at MITRE.

The code that was used to produce this language model is available in Open Source.
Please visit for more information

The (fixed) discount mass is 0.5. The backoffs are computed using the ratio method.
This model based on a corpus of 6 sentences and 16 words

ngram 1=16
ngram 2=20
ngram 3=15

-0.9853 </s> -0.3010
-0.9853 <s> -0.2536
-1.7634 GARAGE -0.2536
-1.7634 IN -0.2935
-1.4624 IS -0.2858
-1.7634 OKAY -0.2935
-1.7634 OPEN -0.2935
-1.7634 PI -0.2536
-1.7634 RAMONA -0.2536
-1.7634 SHUTDOWN -0.2536
-1.7634 START -0.2935
-1.4624 THE -0.2858
-1.7634 TIME -0.2536
-1.7634 TRANSLATOR -0.2536
-1.7634 WEATHER -0.2935
-1.4624 WHAT -0.2858

-1.0792 <s> OKAY 0.0000
-1.0792 <s> OPEN 0.0000
-1.0792 <s> SHUTDOWN 0.0000
-1.0792 <s> START 0.0000
-0.7782 <s> WHAT 0.0000
-0.3010 GARAGE </s> -0.3010
-0.3010 IN RAMONA 0.0000
-0.3010 IS THE 0.0000
-0.3010 OKAY PI 0.0000
-0.3010 OPEN GARAGE 0.0000
-0.3010 PI </s> -0.3010
-0.3010 RAMONA </s> -0.3010
-0.3010 SHUTDOWN </s> -0.3010
-0.3010 START TRANSLATOR 0.0000
-0.6021 THE TIME 0.0000
-0.6021 THE WEATHER 0.0000
-0.3010 TIME </s> -0.3010
-0.3010 TRANSLATOR </s> -0.3010
-0.3010 WEATHER IN 0.0000
-0.3010 WHAT IS 0.0000

-0.3010 <s> OKAY PI
-0.3010 <s> OPEN GARAGE
-0.3010 <s> SHUTDOWN </s>
-0.3010 <s> WHAT IS
-0.3010 IN RAMONA </s>
-0.6021 IS THE TIME
-0.3010 OKAY PI </s>
-0.3010 OPEN GARAGE </s>
-0.3010 THE TIME </s>
-0.3010 WHAT IS THE


Looking carefully, the Sphinx knowledge base generator provides links to the just generated files, which make sit super convenient to pull them down to the Pi. For me it generated a base set with the name 3199:


Running Speech-recognition locally on the Raspberry Pi

Finally everything is in place, SphinxBase and PocketSphinx have been building installed, a pronunciation dictionary and a language model has been created and locally stored.
During the build process, acoustic model files for the english language, were deployed here: /usr/local/share/pocketsphinx/model/en-us/en-us

.. time to try out the the recognizer:

cd ~/
export LD_LIBRARY_PATH=/usr/local/lib
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

pocketsphinx_continuous -hmm /usr/local/share/pocketsphinx/model/en-us/en-us -lm 3199.lm -dict 3199.dic -samprate 16000/8000/48000 -inmic yes



INFO: ps_lattice.c(1380): Bestpath score: -7682
INFO: ps_lattice.c(1384): Normalizer P(O) = alpha(:285:334) = -403763
INFO: ps_lattice.c(1441): Joint P(O,S) = -426231 P(S|O) = -22468
INFO: ngram_search.c(874): bestpath 0.01 CPU 0.003 xRT
INFO: ngram_search.c(877): bestpath 0.01 wall 0.002 xRT

Play with the Basketball Robot running on Intel Edison

via Arduino Blog


After you had an introduction to Intel Edison  following the Getting Started guide, and our previous tutorial, the Intel Edison mini-breakout Getting Started Guide, it’s now time to work on something a bit more complex. You’ll be also able to play a bit with Node.js,  a programming platform that runs on javascript and a good choice for building a web-based application. It is supported by the Intel® Edison standard system image so you can run node.js scripts directly on it.

He shoots! He scores! The crowd goes wild! Let’s build a robot that plays basketball with you. This tutorial is a step-by-step guide for a simple and small differential-drive robot that uses the Intel Edison. You’ll get to know a few more tricks on how to use Mini Breakout Kit and set up a node.js server for the communication.

Go and follow the steps to build it


‘Twas a St. Paddy’s Miracle, It Was!

via SparkFun Electronics Blog Posts

St. Patrick’s Day 2015 (Tuesday, March 17th) will forever be known henceforth as the day that SparkFun built its 5 millionth widget. And yes…the world celebrated SparkFun’s momentous occasion in great style that day!

alt text

We are forever grateful and humbled by the world’s response to this significant milestone in our ongoing story.

If I were a gambler and had been encouraged to place a bet on what SparkFun widget would be the 5 millionth to cross the finish line, I almost certainly would have put my money on either RedBoards, Pro Minis, Inventor’s Kits, Logic Level Converters, LilyPads, or Edison Blocks. Heck…I would’ve bet the farm that the 5 millionth would be anything BUT the one that eventually ended up pushing us past that arbitrarily important threshold. Behold, the majestic Five Millionth SparkFun Widget…

5 millionth widget - the crimp pin

Yes…that is a widget.

You: “I didn’t know SparkFun manufactures crimp pins!”

Us: “Well…technically…we don’t.”

You: “But you just implied that you built those crimp pins.”

Us: “Yes, we did say that. And, yes, we did build them…sort of.”

You: “Sounds like some funny math is going on here. You better share your definition of ‘built’ with me.”

A widget is a term that is ubiquitous in the world of business operations textbooks and typically refers to an abstract unit of production. Side note: how many times have you heard all about the successes and failures of the Acme Widget Corp. in a business class or operations workshop you’ve attended? The vague nature of this not-so-scientific idiom is certainly intentional. Businesses vary in the products and services they offer their customers. It probably goes without saying that SparkFun’s widgets are likely going to be quite different than those of Chipotle, New Belgium Brewing Company or OtterBox. Though we at SparkFun are, no doubt, huge fans of burritos, beer, and phone/tablet case widgets!

So what constitutes a widget for us? In most cases, it’s anywhere that we feel we can add value for folks (i.e. you) in need of a variety of bits & pieces to make their electronics projects come to life. With crimp pins, we purchase 20,000 of them at a time and they are delivered to us on a big reel that spans 22” in diameter. However, most projects don’t require that many crimp pins and, in general, most hobbyists don’t want to keep that many in their garages or workshops. So we chop that continuous spool of 20,000 crimp pins into 20-unit strips that are sized down to a number that we hope makes a lot more sense for any project you may be working on. It’s true: disassembly can sometimes add value in the same way that assembly does.

It’s still important, though, for us to delineate between the widgets that exist because of our applied creative design and those that simply get re-packaged in a more logical way for SparkFun’s customers. That is why we segment out all of our SparkFun Originals for your browsing enjoyment. Though even that curated list includes some widgets that were not assembled or manufactured here in lovely Niwot, CO. We clearly have more work to do so that our catalog can be further sliced and diced to enhance your perusing experience.

But, alas, before we get too lost in the debate over what is and is not a widget, we should take a moment to celebrate the – albeit arbitrary – significant milestone of 5 million abstract units of production being built at SparkFun! Believe it or not, it takes a village to get 20 crimp pins delivered to your doorstep (alas crimpin' ain’t easy). The SparkFun village is presently made up of 157 creative, hard-working, & passionate individuals who each play a unique role in making all of our widgets available for you and your upcoming project(s).

Casey at SparkFun

Casey, SparkFun Engineer, hard at work

alt text

Canon - always keeping it real.

We do our darndest to make sure that every item in our catalog, the ones we personally assemble (or disassemble, as the case may be) and those we do not and even those in the skinniest section of our long tail, are delivered to you in a uniquely SparkFun way. And we hope that that way is one that fully expresses our desire to help you succeed in moving forward in your own personal electronics journey.

And in the name of that mission, we will continue building as many widgets as are needed to support everyone’s respective journeys, trying to find the best products to help people create their projects, and provide the best customer service and tech support we possible can.

This week, specifically, we are building up as many Arduino widgets as we possibly can before they go on sale this Saturday in celebration of Arduino Day. Be sure to check back in then to pick up a few freshly built SparkFun widgets for your next project!

For now - thank you and sláinte!

comments | comment feed

Free Elektor magazine January/February 2015

via Pololu - New Products

Get a FREE copy of Elektor magazine’s January/February issue with your order while supplies last. To get your free issue, enter the coupon code ELEKTOR0115 into your shopping cart. The magazine will add 8 ounces to the package weight when calculating your shipping options.

Did you miss NSTA? Worry not!

via SparkFun Electronics Blog Posts

Earlier this month, some representatives from SparkFun’s Department of Education went out to Chicago for the NSTA National Conference on Science and Education. This conference is a great event centered around building STEM education in our schools and representatives from across the globe gathered to share ideas, learn from each other and get inspired.

alt text

Unlike on other educational tours, we didn’t take SparkFun One

However, we understand not everyone is lucky enough to attend NSTA, so today we wanted to share all the materials for the workshops we hosted! Our workshops included the following:

  • Program or Be Programmed: Integrating Electronics and Code in the Science Classroom

  • Scratch for the Science Classroom: Introducing Coding as a Tool Earlier in Learning

  • Breaking the Rules: Hacking the Science Classroom with Arduino and Open-source Electronics

  • Bringing Science Home: Integrating the Science Classroom with the Internet of Things

  • Physics and Open-Source Robotics: The Opera of Math and Science

  • Seeing the Sky with High Altitude Weather Balloons and Data Collection

  • Circuit Scribe: Joining Art and Science with Conductive Gel Pens

We’ve created a page with all the information on these workshops including teaching materials, parts lists, example code and more.

Feel free to use these materials to inspire your kids, teach in your classroom or just learn something new for yourself! Enjoy!

comments | comment feed

Our 1000th blog post!

via Raspberry Pi

We recently noticed that we were soon to be approaching our 1000th post since our blog began in July 2011, and thought we ought to curate some stats and share some of our proudest moments from this incredible journey with you!

Eben set up the blog to let people know about developments of the Raspberry Pi and its use in education. This is what the website looked like back then:


We’ve come a long way since that first post: the blog has seen two (2013, 2014) major redesigns (as well as that joke one), and it’s brought you eight product launches (Model B, Model B rev2, Model A, Camera module, Pi NoIR camera, Compute module, Model B+, Model A+ and Pi 2 Model B); we’ve announced Picademy, free learning resources, our million pound education fund, we announced we’re sending Pis to the International Space Station, we’ve run several competitions and many more education initiatives as well as featuring countless amazing Raspberry Pi projects.

Some stats

In the 1000 posts to date, there have been:

  • 1691 images
  • 51,974 comments in total
  • 1702 tags
  • 5370 links

These 1000 posts have all come from just 15 authors (though some are guest articles posted by one of the team). Liz has written (by far) the most:


Pi chart

The most common tag is education (57).

Dave tends to write the longest posts with a 9313-character average, and the longest post was Ben’s Mega USA Tour.

Our first post was on 24th July 2011. Here’s what we posted on 24th July in subsequent years:

Top 10 commented posts:

  1. Raspberry Pi 2 on sale now at $35 (837)
  2. And breathe… (706)
  3. We’ve started manufacture! (635)
  4. Model B now ships with 512MB of RAM (586)
  5. Ladies and gentlemen, set your alarms! (554)
  6. New product launch! Introducing Raspberry Pi Model B+ (552)
  7. Raspberry Pi Compute Module: new product! (509)
  8. Competition: name our bear! (492)
  9. The Raspberry Pi User Guide is here! Win a signed copy (543)
  10. Pricing updates (good news!) from Element 14/Premier Farnell and RS Components (449)

You can browse the entire history of the blog in our Archive page.

And this is what the homepage looks like today:

website-1000th-post – 25 March 2014

I look forward to seeing what it looks like on the day of our 2000th post, expected Wednesday 23 January 2019.

Having fun with music in a science class

via Arduino Blog


A science teacher at Bundang management high school 20 kilometers southeast of downtown Seoul, South Korea, involved his students in an Arduino Music project running Arduino Uno, Sparkfun Music Instrument Shield and Makey Makey.

Students started studying the principles of sensors and then built their own music instruments using recycled materials. Finally they played them as you can see from the video he shared with us:

See more pictures and videos at this link.

Build Your Own Bristlebot on today’s SparkFun Live!

via SparkFun Electronics Blog Posts

Today at 3 p.m. MDT, we’re hosting another episode of “SparkFun Live!” In today’s episode, our Mechanical Engineer Evan will be teaching you how to build a Bristlebot - the erratic desktop companion you all want and need!

We hope you can join us for what should be another fun and educational episode of “SparkFun Live!” See you at 3!

comments | comment feed