Author Archives: W.P.

From the Field: The AVC Renaissance Man

/ by

Over the next few weeks, we’ll be letting some of our customers take over the blog to talk about how they use their favorite SparkFun tools and products in their projects, businesses and everyday lives. The best part? All the SparkFun items on their wishlist will be on sale today only!

Jesse Brockmann is a senior software engineer with over 20 years of experience. Jesse works for a large corporation designing real-time simulation software. He is a long time maker, and he first purchased a gyro and other components from SparkFun in 2006 to build a rover.

alt text

I’ve used many micros for my projects through the years, from a PIC Micro using an Olimex development board from SparkFun, basic stamps, PICAXE, Arduino Uno and Mega, Maple Mini and Mbed. All of these left me wanting more, and then I encountered the Teensy. I designed several projects using the Teensy and I was hooked! My first Teensy was a 3.0. Since then I used the 3.1, 3.2 and 3.5. The majority of my new projects use the Teensy 3.5. The speed of 120mhz and 256kb of RAM, 5V compatibility, and the ability to communicate and program via USB with onboard microSD are amazing. The price is also very reasonable.

Jesse’s wishlist (on sale today only!):

alt text

The above is a project I created for a solar water pump control project. It will be exposed to the elements and needs to be very robust. This the first prototype.

alt text

If anyone is serious about electronics, eventually you will want to invest in tools beyond a soldering iron. At some point, through-hole components won’t be enough. So, how do you solder SMD components? My current choice is to use a Hot-Air Rework Station – 303D. You can tin the pads with a conventional soldering iron, or use solder paste. Then place the component using tweezers, hold the component and heat the solder until it melts. I’ve also used the rework station to remove components when they need to be replaced, or to touch up solder joints that looked questionable. You can read more at the tutorial from SparkFun. The breakout board above for the Decawave DWM1000 was designed by Wayne Holder and assembled for me by a friend using the Hot-Air Rework Station.

alt text

This board was created by my friend Alex Baer. It intercepts the tachometer and speedometer signals from a Corvette for a large project to add a push-button start to his Corvette.

alt text

I’ve tried many different sensors on my rovers over the last seven years, but it’s very difficult to find a sensor without flaws. The LiDAR Lite is an amazing sensor, with long distance sensing at a high sample rate. Being I2C-based, it is easy to interface with, and you can have multiple sensors on the same I2C network. I designed the above scanning LiDAR Lite setup years ago, but decided it was too complex. Instead I suggest using a servo to scan back and forth for a reasonable setup for detecting obstacles.

alt text

The above image is of Ted Meyers’s rover Daisy Rover. He is using a LiDAR Lite attached to a servo, and two TFMinis for side coverage. The servo has been modified to provide position feedback, and a protective visor was added to block direct sun from the sensor. You can read all about the LiDAR Lite at this tutorial.

alt text

In addition to these products, there are several I frequently use. The Raspberry Pi 3 B+ is an amazing board that I use when I need a more complex controller for projects. I’m also very pleased with the serial version of the TFMini LiDAR, and the new TFMini Qwiic version should simplify use in a project.

I’ve used SparkFun products for 12+ years, and I’m sure I’ll make many more projects that use SparkFun products.

Special one-day pricing available to customer and guest checkouts only. Prices expire at 11:59 p.m. on the day each post is published.

comments | comment feed

Original Article


Friday Product Post: Let’s Do the Qwiic Twist!

/ by / Tags:

This week we have five new and unique products! Without further delay, let’s jump in and take a closer look:

Twist and Shout!

SparkFun Qwiic Twist - RGB Rotary Encoder Breakout


SparkFun Qwiic Twist – RGB Rotary Encoder Breakout

In stock


The SparkFun Qwiic Twist is a digital RGB rotary encoder breakout that is also able to connect to our Qwiic Connect System.



The SparkFun Qwiic Twist is a digital RGB rotary encoder breakout that is also able to connect to our Qwiic Connect System. The Twist takes care of all the various interrupts, switches and PWM’ing of LEDs, and presents all those features over an easy-to-use I2C interface. The Qwiic Twist was designed to get rid of the large mass of wires needed to implement an RGB encoder in a breadboard, enabling you to stop messing around with interrupt debugging and get back to your project! Utilizing our handy Qwiic system, no soldering is required to connect it to the rest of your system. However, we still have broken out 0.1″-spaced pins in case you prefer to use a breadboard.

SparkFun Serial Basic Breakout - CH340C and USB-C


comments | comment feed

Original Article


Cyber Monday Deals Have Arrived

/ by / Tags:

Welcome to the yearly celebration of deals! We’ve kept it simple this year by just taking 20% off most of our catalog. Take some time, build a cart and enjoy a flash deal-free existence! We may run out of a few items if you wait too long though, so don’t wait until Monday if you’ve got your eye on a particularly shiny new board. Check out rules at the bottom, and here’s a list of top products on sale to give you some ideas!

SparkFun Favorites

Arduino Pro Mini 328 - 5V/16MHz

added to your cart!

Sale ends 11/26 at 11:59 p.m. MST. Discounts apply to customer and guest roles only. While supplies last. No rain checks or combing carts.

Please Note: We will be working hard to get as many orders out as possible, but we cannot guarantee same-day shipping for the sale days. At least you don’t have to rush a store!

Shawn getting trampled by shoppers

comments | comment feed

Original Article


From the Field: GroupGets Labs (aka GetLab)

/ by

Over the next few weeks, we’ll be letting some of our customers take over the blog to talk about how they use their favorite SparkFun tools and products in their projects, businesses and everyday lives. The best part? All the SparkFun items on their wishlist will be on sale today only!

Ron Justin, cofounder and CEO of GroupGets

Over the years, SparkFun has become our “Staples” for electronic gear at GroupGets. It’s where we find ourselves grabbing the basics, like antennas, ESPxx Thing Wi-Fi boards, FTDI breakouts and rechargeable batteries with JST connectors. These items are not the new hotness in electronics, but they certainly help enable it. Below is a go at narrowing down our three favorite go-to’s, in no particular order.

Ron’s wishlist (on sale today only!):

Number one is the Sparkfun Third Hand Kit. On top of being well… handy, it was also designed by a friend and former colleague of mine, so that’s an added bonus. “Helping hands” rigs are ubiquitous to hold your boards for soldering, but the Third Hand Kit has more flexibility and a wider range of motion than the standard options, and doesn’t have that funky magnifier to get in the way. Crafty veterans prefer to wear a magnifying visor instead anyway. High-five to Ryan Straughn for creating this super useful and clever system, just one of many in his bag of tricks.

alt text

Next on the list is the SparkFun ESP8266 Thing Dev Board. It’s dirt simple to connect up a sensor to it and stream its data to the web. What we really appreciate about it are SparkFun’s quick and easy tutorials to get up and running quickly with it, like this one. This also makes us comfortable giving them out to students and budding engineers when we moderate hack-a-thons, to make their first edge-to-cloud experience as painless as possible. There are multiple versions of the Thing for your ESP of choice, but we love how single-purpose they all are. Many hardware developers get intimidated by cloud apps but the Thing greatly reduces the angst when wanting to get your data online for a demo or proof-of-concept.

alt text

Last but not least, with just a dash of an obligatory shameless plug warning, we obviously use the GroupGets PureThermal 2 FLIR Lepton Smart I/O Board (aka “PT2”) on the daily, since we designed and produce it. The goal of PT2 was to make application development with the FLIR Lepton LWIR core simple by putting an STM32 on board to output thermal video as a USB video class (UVC) stream. With PT2, you don’t need any other board to see its video output; just plug it into a USB port on any macOS, Linux or Windows computer. You can view its video with most open source video viewers like VLC or our own open viewer, GetThermal. Whether we are putting PT2 in some strange test scenario for a customer, adding new features to its firmware or making 3D-printed cases for it, you will often see its thermal video output on some screens at our HQ.

alt text

SparkFun was our first ever distributor years ago for what we called the “classic” FLIR Lepton breakout board, which we also designed and later licensed to FLIR. It’s the same board used in the FLIR Radiometric Lepton Dev Kit, and requires an external development board like a Raspberry Pi to operate. Both boards have their unique place in the evaluation and app development process with Lepton, and many professional developers use both.

So there you have it – a brief glimpse into what’s inside those red boxes on the shelf at GroupGets.

alt text

comments | comment feed

Original Article


From the Field: Electrical Engineering as a Hobby

/ by

Hello, my name is Adam Carlson and I am addicted to learning.

No really, I am, and that is the fun part! Because of my addictions to learning and creating things, engineering and design were a natural fit. If you couple this with a love of aviation, you get an aerospace engineer. Today, I work for GE Aviation designing jet engines, though because I love learning, I did not stop with aerospace engineering. In my free time, I have taken up learning other branches of engineering. I had, for many years, an interest in electronics. Back in about 2010, I was tired of people telling me that what I wanted to do in electronics was not hard, they just did not have time to help me. I asked myself, “How hard can it be?” (Yes, I know that this is a dangerous state of mind when coupled with a desire to learn.) So I set out to learn electrical engineering.

alt text

What in the world inspired this desire to learn electrical engineering, you might ask? Well in a few short
words: RC submarines. You are probably wondering if I am just trying to pull one over on
you, or if they come with working torpedoes. Yes, RC submarines are a real
thing; yes, we do have submarine races (it is not just a euphemism); and yes, some can fire torpedoes.
As I got more involved with the hobby, the more I saw the wonderful, mechanical claptrap that was
used to control many of the systems in the boats. These systems, though, were often unreliable due to
their mechanical nature and operation in hot and humid environments. I could see that these systems
could easily be simplified and improved upon with the addition of electronics.

alt text

It was at this time that I came across SparkFun. It can be hard when you are trying to learn electronics
from scratch. At the time, there were not a lot of resources that were easily available.
Arduino was really just beginning getting legs, and had not yet achieved the recognition it has today.
SparkFun, with its forum, was a great source of learning. Things like, do I use a linear or switching
regulator? Where can I get a box of assorted components without having to pay a large sum of money
and get 100 of everything?

These things may seem like simple questions to most, but to me at the time, they were not simple.
Since then, I have progressed substantially, including becoming the editor of I am currently designing a radio receiver (yes, this has been a very long project)
for RC submarines. In the process I picked up a LimeSDR. These are fantastic devices at a really great
price point. They have many advantages, including covering a very large bandwidth of signal spectrum.
The downside is that it really is just a bare board without the nice finishings of a case. For my
application, I plan to use this as a poor man’s VNA. To do this, I need to get a few u.fl to SMA cables,
and a few bare SMA connectors to make a standards set (I plan to follow this link as a reference). The
case will be 3D printed and lined with metallic tape to give the enclosure shielding properties.

alt text

Why go to all this length to get a VNA up and running? Well, for starters, I had a few hundred dollars that I could spare, but not a few thousand dollars to get a “real” VNA. Second, I am addicted to learning. Third, and this is the actual technical reason, submerged antennas not only are too long once submerged, but they go through a change in impedance. There are very few papers out there that will help calculate this. There is software that could be used, but once again, this type of software tends to be tens of thousands of dollars for a license, and that is hard to justify on a hobby budget. So instead, we will go back to old method of using basic principles to get close to a design solution, then use testing to refine that solution. I will let you know what I come up with once I am done.

comments | comment feed

Original Article


The National Robotics Challenge

/ by

Every year for the last seven years I’ve ventured to Ohio for the National Robotics Challenge. It has become one of my favorite events and I think it’s a unique and powerful example of an “open” event in American education.

alt text

Heavy sumo!

The challenge started over 25 years ago as a event put on by the Society for Manufacturing Engineers. The history is best related by the NRC website:

“National Robotics Challenge began as the Society of Manufacturing Engineers Robotic Technology and Engineering Challenge in 1986, under the guidance and inspiration of Tom Meravi, Associate Professor from Northern Michigan University and the late Dr. James Hannemann. The competitions developed into one of the premier robotics and engineering events in the nation. Tragically, Dr. Hannemann passed away suddenly in July 2001, and in 2003, SME announced that the organization was unable to continue sponsorship of the event.

Most thought that this was the end, but as with all things, every end can be a new beginning. This new beginning was realized by three educators from Marion, Ohio. On the bus ride from Rochester to Marion, Ed Goodwin, Ritch Ramey, and Tad Douce discussed the possibilities and support that existed in their community for this type of event. In 2004 the name was changed from SME/RTEC to the National Robotics Challenge. From its humble beginning, with two work cells and two pick and place competitions, the competition now offers twelve robotics contests.
The best is yet to come!”

I met Tad Douce in Baltimore in 2010, and I became fascinated by what he was doing around open robotics and education. From my first visit in 2012 it became clear that this event was special. I was blown away by the range of platforms and application that was in evidence at NRC.

The first year there was a hacked datalogger from a total station survey instrument, running Windows CE next to a LEGO Robotics controller.

alt text

Like they say at Bonneville:“Run what you brung”.

Through the years, the contest has come to embrace an autonomous vehicle contest, which is based on SparkFun’s annual contest. The autonomous vehicle portion is attracting both university and high school teams and grows every year.

alt text

Also running at the event is an IoT challenge based on content SparkFun has worked on with the organizers.

alt text

There are game development and interactivity challenges for middle and high school students that SparkFun is also proud to have developed.

The NRC has seen huge growth in its combat robot contest, and this contest and the sumo robots, as well as Botball, are always a crowd favorites.

alt text

In addition, we usually offer an open wireless cryptography challenge with cool prizes and action-packed fun!

alt text

The manual for 2019’s contest, held April 11-13, is a fantastic place for educators to aim with their classes. I’m already planning for 2019 and looking forward to another great year of competition!

comments | comment feed

Original Article


Underlit Crystal Display

/ by

For longer than I’ve worked at SparkFun, there has been a holiday tradition with our marketing team – we call it Secrete Santa. Yes…secrete. Long story short, around a decade or so ago a previous employee misspelled secret, and it’s stuck every since. Anyway, Secrete Santa isn’t your normal find something you want to get rid of and pass it along gift-giving event. Secrete Santa is more of a competition of who can give the best gift. If you can make a thoughtful enough gift that the receiver sheds a tear, it’s a win. This year I ended up drawing the name of a certain coworker who’s very into collecting crystals, minerals and the like. I decided to make her a display stand where she could beautifully display and light up her specimens.

Underlit crystals lights on

Underlit crystals lights off

The build

If you have seen my previous posts (DIY Sunrise Alarm or Smart Backlit Mountain Scene), you know that I enjoy mixing woodworking with what little skills I have with electronics. As long as it looks good and functions how I intended, for me that is a complete project. I wanted to keep the display sleek and simple, so I used walnut with a small curly maple inlay. If you would like to see the dimensions of this, I’ve included this SketchUp file for those interested in building one themselves.

Let's face it, no one wants to see a bunch of electronic components as part of their home decor.

I cut three 1 ¼-inch holes with a forstner bit in the top to allow the light to come through. Let’s face it, no one wants to see a bunch of electronic components as part of their home decor, so I had to be able to hide the electronics through the holes. This involved turning the stand upside down, sealing off the holes, and pouring around a quarter-inch of epoxy with gold crafting flakes mixed in. That was enough to hide the electronics and allow the light to pass through.

Crystal Display Electronics

When it came to incorporating the electronics, I chose our SparkFun Lumenati 3×3 boards, a SparkFun RedStick, a barrel jack connector and a 5V wall adapter. The Lumenati boards are pretty straight forward to chain together, and the nine LEDs on each of them provided plenty of light. I simply hot glued the edges of the boards to the edges of the holes to hold them in place. The small form factor of the RedStick was perfect for this project, and the fact that it loads as an Arduino Uno was perfect for me as that’s pretty much the only board I’ve had experience with (it’s probably time to get outside my comfort zone).

The code

What I originally intended to do was to have the LEDs randomly and subtly fade up and down in brightness level. I found a few sketches out there that were close to what I was looking for, but frankly after I tested the different effects with a crystal of my own, I thought that my gift recipient would prefer a steady white. If I were to make another display for myself I might add a button to toggle through different colors and effects. That said, even having a microcontroller at all for this project might be overkill, but hey, I work for SparkFun, so it’s cool.

#include "FastLED.h"

//Number of LEDs
#define NUM_LEDS 27

//Define our clock and data lines
#define DATA_PIN 2
#define CLOCK_PIN 4

//Create the LED array

void setup() { 

      //Tell FastLED what we're using. Note "BGR" where you might normally find "RGB".
      //This is just to rearrange the order to make all the colors work right.
      FastLED.addLeds(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);


void loop()
   for(int i = 0; i 

That gift giving moment

Our 2018 Secrete Santa gift giving extravaganza has come and gone and just may have been the best one yet. While I’m not sure if a tear was actually shed, I would still consider this gift a win as it is proudly illuminating minerals atop her collection. If memory serves me correctly, I believe she said, “I think I might cry.” Dang, so close.

Mineral Display at window - bright

Mineral Display at window - dark

comments | comment feed

Original Article


Enginursday: Innovative Testbed Design (Part 1 of 2)

/ by

It’s fun to be on the quality control side of things. Not only do we get to play with all the new widgets ahead of release, we are constantly faced with new challenges and pushed to innovate testbed design. Sometimes new products require new features on a testbed, and that pushes us to innovate. Sometimes we discover a reliability issue in production, and that pushes us to revise hardware to make something more robust. We’ve progressed a lot over the years. Let’s look back and highlight some of the innovations that allow us to design, build and code new testbeds really quickly.

Back in the day

We used to have some fairly finicky test fixtures back in the day. As a production tech in 2007, I remember very carefully handling the fixtures to make sure I didn’t break any of the many, many green wires (and I was lucky if it worked 50 percent of the time).

A very old testbed from 2008 showing a product being tested using male headers held at an angle as a connection

Test fixture from 2008 using bare male headers to connect to the product…eeek!

As you can see above, this early testbed uses male headers facing up to make a temporary connection to the product. The technician would have to slide the headers into the products PTH headers on the side of the product, and then apply pressure to either side to attempt to make a connection during testing. It took a very steady hand to get this sucker to work every time. If you’d like to check out more info about our older test fixtures and general quality control progress, check out these tutorials:

Custom layouts

Testbed design with all of the components designed into one single PCB layout

Testbed made with custom PCB layout using mostly SMD commponents

In 2009 (ish), we started laying out custom PCBs for every new testbed. This was nice because it kept the designs small and self contained. Another advancement here was using pogopins to make a nice temporary connection to the product. This style of testbed design actually proved to be the “norm” for quite a while. At the time, and still to this day, we build all of our test fixtures by hand with an iron (even all the SMD parts). We just couldn’t justify ordering a stencil when we could get by with an iron and a steady hand. Even if it did have some more difficult parts that require hot air to place, we wanted to keep our rework chops up to snuff!

Modular Designs

Testbed with pro mini as controller and more modular design approach

Testbed designed around an Arduino Pro Mini and a custom base layer PCB

Here we have a stepper motor driver testbed. This is a good example of how we were able to use an Arduino Pro Mini as the main “brain” of the testbed, and then add the additional components needed to a custom PCB layout. This approach to testbed design became known as the “modular” approach, and cut down on the SMD work needed to assemble a testbed. It was also nice to know that production had tested the Pro Mini on your testbed, cutting down on any troubleshooting when you first power up.

Very large testbed using a arduino mega pro as the brain

Testbed using a Arduino Mega Pro and a custom base layer PCB

Here is a second example of a “modular” designed testbed, except this time we needed more GPIOs. This required using a Arduino Mega Pro instead of the Pro Mini. This again helps cut down on assembly time, although soldering up all of the PTH headers on the Mega Pro Board, and its mating female headers on the testbed, still does take some time. You may notice that this has quite a mix of color in the PCBs. I seem to remember having to rush order this from OSH Park in order to keep up with the Free SoC2 product launch schedule. Thanks OSH Park!!

Stand-alone programming

It had always been a dream of ours to move testing and programming away from using the production techs' Windows computers. This is because each time Windows would auto-update, we would be bombarded with driver issues. We ended up going with a Raspberry Pi-based solution and designing our own custom HAT, the SparkFun Pi AVR Programmer HAT. Read all about it in the following tutorial:

Pi AVR Programmer HAT Hookup Guide

July 26, 2018

In this tutorial, we will use a Raspberry Pi 3 and the Pi AVR Programmer HAT to program an ATMega328P target. We are going to first program the Arduino bootloader over SPI, and then upload an Arduino sketch over a USB serial COM port.




Custom Generic Hardware

As we designed more and more testbeds, we found that they needed similar things. This is why it made sense to make a single design that included most of the features we needed, and then make custom “daughter” boards that are specific to each product.

Custom designed production testing tool also showing bare headers and mounting brackets

The Flying Jalapeno testing tool in all its glory!

Above, is our in-house designed Flying Jalapeno. We use this on most new test fixtures, and it dramatically decreases testbed design and assembly time. Stay tuned for a more in-depth look at the hardware design of this tool, and the accompanying Arduino code library.

Testbed based off of the flying jalapeno the bottom portion daughter board is quite small

Testbed for an IR Array sensor using the Flying Jalapeno

As you can see above, this testbed is made up of two parts. The top section (the red PCB) is the Flying Jalapeno, and the bottom section (the green PCB) is the custom daughter board for the product. This particular testbed is designed to test the SparkFun IR Array Breakout. Because we receive the Flying Jalapeno assembled (and tested) from production, the assembly time for this test fixture is reduced to simply building up the smaller bottom section. That’s just a 2×30 header, five LEDs and four pogopins. Piece of cake!

Laser-cut Acrylic parts

Lumenati Testbed based off of the flying jalapeno design with lots of lazer cut acrylic

Testbed using the Flying Jalapeno and lazer-cut acrylic parts

Here is a fairly recent testbed design for testing the Lumenati 3×3. Occasionally, we will cut certain layers on our laser cutter using clear acrylic. Not only does this look slick, but it saves us money, because previously we would have been ordering those layers from a PCB fab house and that can get pretty costly for large testbeds. Also, this allows us to fine tune the laser-cut layers in house. We can tweak the design as necessary and have a new part cut in just minutes!

A few more beauties

example testbed using flying jalapeno and acrylic waffle top design

GatorBit testbed

testbed for openlog with unique waffle top that includes precise pusher higher to mate with product and light sensor

OpenLog testbed with unique “waffle top”

very large testbed with mostly acrylic and smallish amount of PCB layout for redboard edge product

RedBoard Edge testbed

Stay tuned for Part 2

Join us next week in a couple weeks as we give a more in-depth look at all of the hardware choices inside the Flying Jalapeno, and dive into the accompanying Arduino code library. For a sneak peak, take a close look at the following picture, and see if you can spot any design flaws. There are actually a few things that we plan to change on a future revision to this design, but I challenge you to find as many as you can. The first commenter to spot the flaw I am thinking of will get extreme street cred and I will personally mail you a Flying Jalapeno!

top down image of the flying jalapeno design with no daughter board attached

Detailed pic of the Flying Jalapeno

Also, if you have any testbed design stories to share (I’m looking at you, #773), or any questions about SparkFun testbeds, please feel free to post a comment below. Thanks for reading and we’ll see ya next week in a couple weeks!

Note: Sorry for the schedule change, but the Part 2 of this post is actually going to be postponed to early in the new year. We have a couple other great Enginursday posts near completion that are holiday themed, and so we'd like to release those in the next couple weeks. Originally, this testbed-focused post was gonna be a single article, but I just couldn't stop typing and had to split it up :) Thanks for understanding and happy holidays!

comments | comment feed

Original Article


Enginursday: Efficient Arduino Programming with Arduino CLI and VS Code

/ by

I’m always looking for the most productive way to get my work done. When I’m in software-engineer mode, my familiarity with the features of my development environment play a huge role in that efficiency. My favorite integrated development environment (IDE) varies by programming language, but, increasingly – whether I’m programming in C/C++, Javascript or Python – I try to find any excuse I can to use Visual Studio Code.

VS Code (not to be confused with Visual Studio) is a free, open source code editor supported by Microsoft. It has a long list of features including powerful key-bind-ability, file navigation, extensions to support just about any language and a pleasantly modern UI.

VS Code editing an Arduino lib/example

I’ve used VS Code as my IDE for platforms ranging from the nRF52840 and the C-based nRF5 SDK to a Raspberry Pi running Python scripts. However, a big chunk of the software development we do here at SparkFun revolves around Arduino, which usually means utilization of the Arduino IDE. Compared to VS Code, the Arduino IDE’s feature-set is limited – there’s basic syntax highlighting, auto formatting, and line numbering, but not much more. It’s missing modern IDE features like:

  • Quick code navigation – Whether it’s find-by-reference (instantly navigating to the definition of the function you’re using), search-by-symbol (quick navigation to function or symbol definitions within a file), or a quick link to a compilation error, code navigation is critical to managing large code bases.
  • Auto-complete – This feature can, of course, help complete long constant names, but it can also provide insight into the parameters that a function may be expecting.
  • Version control integration – Whether you’re using git or SVN, many modern IDE’s provide source-control integration that can show, line-by-line, the changes you’ve made since your last commit.
  • Refactoring – Need to overhaul a function’s naming scheme? Or convert a common block of code into a function that can be more widely used throughout your application? Sounds like a refactoring job! A modern IDE can help with that.
  • Integrated Terminal – Whether you use bash or the Windows CMD, an integrated terminal can save you loads of time. This tool allows you to run “make,” “grep,” or any of your favorite terminal commands without ever swapping windows.

Until recently, beyond exploring Arduino’s “Use External Editor” preference, there wasn’t much to be done to add more functionality to the Arduino development workflow. That all changed with the release of Arduino CLI.

Arduino CLI is a command-line software tool that features board and file management functionality plus compilation and programming tools. Whether you want to download a new Arduino library or upload a compiled Arduino sketch to a RedBoard, the Arduino CLI is there for all of your scripting and command-lining needs. Taking it a step further – combined with an IDE or editor (like VS Code) – Arduino CLI can become an integral part of a powerful, DIY Arduino sketch, library, and core development environment.

To document this pairing, I wrote up a quick tutorial:


Efficient Arduino Programming with Arduino CLI and Visual Studio Code

December 6, 2018

How to eschew the Arduino IDE for a combination of and Arduino command-line tool (Arduino CLI) and a professional code editor (Visual Studio Code).




The tutorial explains how to pair VS Code with Arduino CLI to get the best of both development worlds: a modern IDE and the simplicity of Arduino’s API and board support.

comments | comment feed

Original Article