Arduino Code To Check For Windows Or

The arduino board used in this project is the arduino pro-mini board and the IDE version of the arduino is 1.0.3 for windows. The image of the arduino pro-mini board and the arduino IDE are shown below; Fig. 2: Typical Arduino Pro-Mini Board. 3: Arduino IDE Software Window. Since the arduino pro-mini board has no circuitary for.

  • Windows Remote Arduino and Windows Virtual Shields for Arduino are two recommended ways of establishing this connection. Check out the contest site for more details. We hope you take this opportunity to learn more about the library and submit something great for the World’s Largest Arduino Maker Challenge.
  • To install the Arduino IDE on your computer, download the appropriate version for your operating system from the Arduino website. Check the documentation for installation instructions: If you’re using Windows, then use the Windows installer to ensure you download the necessary drivers for using Arduino on Windows.
PagesFavoritedFavorite22

Introduction

The Arduino IDE (integrated development environment) is great at achieving its intended purpose: It's a simple, single-file application development environment. It has just enough integrated tools to help achieve that purpose. But for larger application development -- whether you're designing Arduino libraries or developing new Arduino cores -- it doesn't compare with a full-featured C/C++ IDE.

VS Code used to edit an Arduino sketch file while viewing a library's .h file

The Arduino IDE lacks a number of 'professional' code-assistance features, like:

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

Once you take the time to learn these tools they make programming in C/C++ (or any language, really) so much more efficient. They help produce better code faster.

We'll focus on using Microsoft's free, open-source VS Code editor in this tutorial, but a lot of the concepts should translate to other IDE's like Eclipse, Netbeans, or anything else you may prefer. We're not shilling for VS Code in this tutorial but it may be hard, at times, to hide our admiration for the well-done editing tool.

Also critical to this tutorial is Arduino's recently (pre-)released Arduino CLI. The Arduino CLI provides a command-line interface for such tasks as:

  • Building Arduino sketches
  • Uploading Arduino sketches
  • Downloading libraries
  • Downloading new board definition files.

Arduino CLI is the 'glue' we'll use to pair the VS Code IDE with common Arduino compilation and upload tools. Arduino CLI provides us a command line interface that can be passed to tools like make or a shell via the IDE.

Covered in This Tutorial

This tutorial will demonstrate how to use a VS Code to build for and program an Arduino -- all without ever opening the comfortable-yet-restricting Arduino IDE. We'll try to step through, as much as possible, how the VS Code/Arduino CLI pair can be used to develop an Arduino library, but a lot of what we'll cover can be adapted to new Arduino core development or even simple Arduino sketch-writing.

Prerequisites

This is a relatively advanced tutorial. If you're not familiar with using a terminal or invoking command-line tools like make, we'd recommend learning a bit about those first. There are tons of great resources that can help familiarize you with these tools. A few in particular we'd recommend are:

  • userland -- An eminently-approachable book on the command-line written by an old SparkFun alumnus.
  • O'Reilly's Managing Projects with GNU Make, Third Edition -- A free, exhaustive book on using Make.

Or, honestly, just grab a Raspberry Pi and dive head-first into the Headless Raspberry Pi Setup

You'll also need Arduino installed on your machine. Visit arduino.cc to download the latest version locally to your machine.

We'd also recommend you set up your Arduino sketchbook location and install all libraries and board definitions you'd like to use using the Arduino IDE. (These are features that still seem to mostly be in their infancy as Arduino CLI continues its development.)

Getting Started with VS Code

Microsoft's Visual Studio (VS) Code IDE is a versatile, free, and open-source code editor. It can be used to develop any application you have in mind -- whether the code base is C, C++, Python, Javascript, or anything else you find yourself programming in.

VS Code is available for all operating systems. You can download it here or from the button below.

After downloading, follow along with the installation prompts to install the software.

Microsoft has provided an excellent series of documents supporting VS Code, beginning with their Getting Started guide. We definitely recommend checking that out if this is your first foray into the IDE.

Installing Extensions

The power of VS Code stems from its enormous library of extensions. These addons to the IDE can do anything from providing code-navigation support for additional languages, to equipping the IDE with source-control support, simply modifying the aesthetics of the editor.

If they didn't come installed by default, we recommend installing C/C++. This is an extensive C/C++ extension that adds code-formatting, auto-completion, symbol-searching, and much-much more to the IDE.

You can also use the 'Extensions' browser in the IDE (View -> Extensions, or click the square-ish icon on the left bar) to search for or browse additional extensions.

Installing the extension should be as simple as clicking install on the Visual Studio Marketplace page, or from within the IDE's extension-browser.

VS Code for Arduino Library Development

If your familiar with VS Code you'll understand that its flexibility means the IDE can be used for just about any programming language out there. This section will help you set up VS Code to develop C, C++, or other source files within an Arduino library.

Opening an Arduino Library in VS Code

To follow along, you'll need an Arduino library installed on your machine. If you'd like to follow along really closely, download our BME280 Arduino Library, which is what we'll use an example.

Download the library into your Arduino Sketchbook's 'libraries' folder. We recommend using git to download. This will especially show off VS Code's source-control capabilities. Check out our Using GitHub tutorial for help using git to download the library. Alternatively, you can us the 'Clone or Download' > 'Download ZIP' buttons in GitHub's web interface to download the library.

Open VS Code, then open your Arduino library folder by navigating to File >Open Folder.... (or tap CTRL+K then CTRL+O.)

Then select the Arduino library folder you'd like to open in the IDE. It should be the library's top-level directory, where 'src' and 'examples' directories are contained.

This will open a new VS Code window. Importantly, you should notice a file navigator on the left showing the standard Arduino library file structure ('examples', 'src', 'kewords.txt', etc.). You can click into the 'src' folder and double-click the 'cpp' and/or 'h' files to open them up. You can also split your window. I like keeping my 'h' file on the right and 'cpp' file on the left. To move a file, simply drag its tab over to the other side of the window.

Code

Modifying c_cpp_properties.json

When you first open an Arduino library folder, if you peak at the 'Problems' tab at the bottom of the window you'll be greeted with a handful of errors. Most of these will probably be due to the VS Code environment not knowing where your Arduino core files are installed. Locating these files will allow you to dig deep into the Arduino definitions to find out exactly how the String, Serial, digitalRead, etc. classes and functions are defined.

To set these locations press CTRL+SHIFT+P then type: 'C/CPP: Edit Configurations' -- or at least begin typing that, then press enter when the correct setting is highlighted.

This will create a file named 'c_cpp_properties.json', which will be stored in a '.vscode' folder. This file tells the VS Code IDE where to look for function references, definitions and more. If you tell it the location of your Arduino cores, libraries, and compiler, you should be able to back-track through using the IDE's Go to Definitions feature.

This is my c_cpp_properties.json file when using an Arduino Uno with standard libraries installed:

Feel free to copy the above into your properties file and save. Make sure you modify the directory locations if necessary. You may need to restart the IDE to get Intellisense working properly.

With that set, try navigating to a core or library Arduino function call. Right-click on it and say 'Go to Definition'.

This is an incredibly powerful tool if you're looking to take advantage of everything the Arduino core/libraries have to offer as you develop Arduino libraries.

Opening the Terminal

One of the most powerful features of VS Code is it support for a variety of integrated terminals. Even if you're on Windows, you can use this terminal as a bash shell, Cygwin interface, or, of course, a Windows command-line prompt.

You can open the terminal by going to View > Terminal (or CTRL+`).

Using the terminal to search for text. Notice the CTRL+Click feature! So powerful.

Defining Your Terminal

You can modify the terminal executable by going to the Settings window, then Features >Terminal >** External**. The executable here should match that of the terminal you want to use.

I often find myself switching between terminals, depending on my project. But my most common settings here are either:

  • Windows CMD: C:WindowsSystem32cmd.exe -- A lot of Windows specific executables still require the Windows CMD. This should be your default if you're using a Windows install of VS Code.
  • Git Bash: C:Program FilesGitbinbash.exe -- I love git's Windows install. Mostly because I love the Unix-ish bash it installs on my Windows machine. I can use this to 'grep', 'find', 'rm', 'cp', or perform all sorts of other Unix commands on my nominally Windows system.
    • Note this option does require you install Git for Windows.

For more information on using and modifying VS Code's integrated terminal check out their documentation.

Introduction to the Arduino CLI

Now that you've had a crash-course in pairing VS Code with an Arduino library, it's time to dive into the second featured tool of this tutorial: the Arduino CLI.

The Arduino CLI is a command-line interface that packages everything you'd expect from the Arduino IDE into a simple text-based tool. With the Arduino CLI you can build sketches, upload programs, download libraries or board definitions, and do much, much more. Most importantly, the Arduino CLI gives us a command-line interface that can be triggered from VS Code to build and upload Arduino sketches.

Download Arduino CLI

Arduino

Arduino CLI is still in its infancy of development. You can download the latest 'alpha' release from the GitHub repository here: https://github.com/arduino/arduino-cli#download-the-latest-unstable-alpha-preview.

This download is packaged as a simple executable, which you'll need to extract and call directly from a command prompt. I found it handy to copy and place directly in my Arduino project folder. (Hopefully some day, after it's out of alpha, the Arduino CLI will be packaged with a full installer!)

Generate an Arduino CLI Configuration File

It may just be an alpha bug, but the Arduino CLI on my machine has a hard time finding my Arduino sketchbook and board manager installations. To help Arduino CLI find your previous Arduino installation it helps to create an Arduino CLI configuration file. This config file is defined in a YAML format.

To create a base config file, you can use the Arduino CLI. Open up a command prompt and type:

(Note that arduino-cli.exe may need to be renamed to something like arduino-cli-0.2.2-alpha.preview-windows.exe, or whatever version you may have downloaded.)

This command will create a new file named .cli-config.yml. Among the most important parameters to modify in this config file are:

  • sketchbook_path -- should match the directory of your Arduino sketchbook. This is where all of your manual libraries and hardware definitions are installed.
  • arduino_data -- should match the installation location of your Arduino board and library manager. In most cases this should not need to change.

The other options can usually remain at their defaults.

Using the Arduino CLI

The README in the Arduino CLI GitHub repository includes a great rundown of the features and capabilities of the tool. We highly recommend scanning through the README before continuing on. Give the Arduino CLI a try! Check out its capabilities.

Here are a few critical options you can provide the tool as you begin using it:

Create a New Sketch

As a simple introduction, the Arduino CLI can create a new, blank sketch using the sketch option:

This should create a new folder and file in your Arduino sketchbook named 'cli_test.'

Compile a Sketch

arduino-cli's compile function can be used to compile a sketch for any supported board. The critical option this function requires is a board type, which can be provided with an --fqbn (fully-qualified board name) option.

Supported fqbn's depend on the boards you have installed, but here are a few common options:

  • Arduino Uno: arduino:avr:uno
  • Arduino Mega: arduino:avr:mega
  • SparkFun RedBoard or SparkFun BlackBoard: SparkFun:avr:RedBoard
    • (Requires that the SparkFun avr board definitions be installed.)
  • SparkFun SAMD21 Mini: SparkFun:samd:samd21_mini
    • (Requires that the SparkFun samd board definitions be installed.)

As you'll note, the fqbn value takes the format of manufacturer:architecture:board.

Arduino Code To Check For Windows Or 32

This example command compiles the sketch we just created for an Arduino Uno:

(Note: you'll need to swap your Arduino sketchbook directory in for 'C:/Users/user.name/Documents/Arduino/' in the example above.)

You can add all sorts of interesting flags to this command, including:

  • verbose: -v-- Useful if you like to see all of the options and files that are being compiled into your sketch.
  • Build Path: --build-path [string] -- Useful if you'd like to store the compiled object and hex files.
    • Note: On my Windows machine, at least, the value of this parameter needs to be a full path (no relatives).

Upload a Sketch

Once you've compiled a sketch, you're ready to upload it. As with the compile command, the upload command requires an FQBN. It also on a serial port to upload to, set using the -p option.

Here's a command building on the last example, uploading to a Windows COM port on COM18:

If all goes well your Arduino should begin blinking its RX/TX LEDs and it should shortly begin running a blank sketch.

Equipping VS Code with Arduino CLI

Now that you're armed with VS Code and the Arduino CLI, it's time to combine them into a single, Arduino-less Arduino IDE! We'll use the Arduino library example from the VS Code section to build up an interface with Arduino if you want to tag along.

There are a couple ways to tackle this integration and both have their pro's and con's. The first relies on VS Code's Task integration, which provides a simple, key-bound interface to trigger any command line tool. The second uses Makefiles to call the Arduino CLI; this example is a bit more complex, but provides for more flexibility.

Option 1: Modifying tasks.json

In your open VS Code window navigate to Terminal >Run Build Task. This will prompt you to create a new file -- 'tasks.json' -- by pressing Enter a couple times in the focus window up top.

Overwrite the contents of this file with something like this:

The example task file above creates two new tasks: one to build and one to test (program). Key to both tasks are their 'label', 'group', and 'command' parameters.

You'll see some familiar arduino-cli command-line structures in the 'command' parameters for both options. One -- 'Example1' -- compiles code while the other, 'Example1-program', uploads it.

You'll probably need to edit some values in these command parameters: the upload port and arduino-cli location most importantly. You may also need to modify the FQBN values to select the board you're using.

With the tasks.json file set, try going back to Terminal >Run Build Task -- you should see an option for 'Example1.' Click that and Arduino CLI should be invoked and begin compiling. You'll see a terminal window pop open in the bottom section of the editor, and hopefully you don't encounter any errors.

You can also upload the code by going to Terminal >Run Task >Example1-program. This will call the second task we have defined in the tasks file above.

Option 2: Makefile Customization

If your system has GNU make installed on it (Windows users: check out Make for Windows) creating a custom makefile provides for a more flexible development solution.

To give it a try, create a file named Makefile in the top directory of your Arduino library. In that file, paste something like this:

This makefile provides a handful of options for invoking Arduino CLI and building/uploading the various examples in this library. It's super-bare-bones, but accomplishes what we're setting out to do.

As the most simple example, try executing:

This should build the first example in this library. You can also add triggers like V=1 for verbose compile/upload or BOARD_TYPE to specify which Arduino board you're compiling for.

Arduino Code To Check For Windows Orange

Likewise, there's a make target for uploading the built Arduino sketch. Try something like:

That will take the same example we just compiled and upload it to an Arduino on COM18.

Task-ing the Makefile

Building off the first option, you can use VS Code's task's to quickly invoke Makefile commands. In place of the 'command' string, try adding a make call or make program to run a 'test.'

This example uses VS Code's variable references to tell the task to build your currently open example sketch. (Note: you'll need your cursor to be open in an example sketch, or this build task will fail.)

What's especially powerful about VS Code's tasks utility is its quick access via keybinds. You can hit CTRL+SHIFT+B then enter (or type in a task you want to run), and instantly begin building an example. Test tasks are not bound by default, but you can foray into VS Code's Keyboard Shortcuts (CTRL+K CTRL+S) and modify 'Run Test Task' to change that.

Key-binds are the true power behind VS Code -- you can do so much without ever touching your mouse!

Resources & Going Further

Thanks for taking a trip with us through the world of VS Code and Arduino CLI. We hope this pairing, or one like it, will help take your Arduino development to another level.

For more resources on VS Code and Arduino CLI, here are some links to check out:

  • C/C++ Programming with Visual Studio
    • Highly recommend reading up on Navigating Code using the IDE. This is such a powerful part of the software.

If you'd like to leave any feedback, please don't hesitate to provide a comment on this tutorial.

Looking for the right Arduino?

Check out our Arduino Comparison Guide! We've compiled every Arduino development board we carry, so you can quickly compare them to find the perfect one for your needs.

Pages

Arduino Code To Check For Windows Or Linux

FavoritedFavorite23

Overviewing the Options

Arduino is awesome! It's our go-to electronics education platform, and it's our top choice for rapid prototyping, but it isn't for everyone. Maybe it's the cryptic language, or the Java-based IDE, or maybe it's just the teal window border -- regardless of your reasoning, if you're trying to escape the Arduino IDE, here are a few alternatives we'd like to share.

The Arduino alternatives covered in this tutorial range from simple, introductory graphical programming to web-based Arduino interfaces for your web browser. Here's a quick overview of each interface covered, we'll go into further detail later on:

ArduBlock -- A Visual Programming Arduino Extension

ArduBlock is a graphical programming add-on to the default Arduino IDE. Instead of memorizing cryptic functions, forgetting semicolons, and debugging code, ArduBlock allows you to build your Arduino program by dragging and dropping interlocking blocks.

ArduBlock is a perfect interface if you're just getting into programming, electronics, or Arduino. Check out the ArduBlock section of this tutorial for an introduction and quick getting started guide.

Minibloq -- Visual Programming Standalone Software

In the same vein as ArduBlock, Minibloq is a graphical programming environment where groups of blocks are stacked on top of each other to create your program. Unlike ArduBlock, however, Minibloq is a stand-alone program -- no Arduino install required.

One of Minibloq's most powerful features is its real-time code generation -- as you drag blocks into your program, the equivalent code is generated concurrently. This makes Minibloq an excellent tool for beginners to intermediate programmers.

Check out the Minibloq section of this tutorial for an introduction to the interface.

...and Beyond

Those are the alternatives we'll be discussing in this tutorial, but there are many others worth checking out, including:

  • Scratch for Arduino -- More visual programming! Scratch for Arduino (S4A) is a riff on the popular Scratch programming environment. If you're an experienced Scratch user, this is most definitely worth checking out!
  • Modkit -- After a successful Kickstarter campaign, Modkit is well on it's way to producing another great visual alternative to Arduino. Check out their website and get a feel for their browser-based visual environment.
  • Arduino IDE for Atmel Studio -- Atmel Studio is an incredibly powerful tool for programming and debugging AVR chips like those on the Arduino. If you're looking for a more advanced approach to Arduino, or Atmel chips in general, check out this extension to Atmel Studio.

This extension can be an extremely powerful tool -- complete with breakpoint implementation and a host of features you may be used to from more advanced IDE's.

ArduBlock

ArduBlock is a programming environment designed to make “physical computing with Arduino as easy as drag-and-drop.” Instead of writing code, worrying about syntax, and (mis)placing semicolons, ArduBlock allows you to visually program with an snapped-together list of code blocks.

ArduBlock builds on the simplicity of Arduino, and creates a perfect beginner gateway to physical computing. Instead of tearing your hair out debugging, you can spend your time creating!

Installing ArduBlock

ArduBlock is something of an 'add-on' to Arduino, so it requires that you have the Arduino IDE installed. The benefit of that, though, is -- because Arduino is multi-platform -- ArduBlock works on Windows, Mac, or Linux. Plus, having Arduino already present makes the transition from visual programming to text programming easier, when the inevitability approaches.

Installing ArduBlock can be a little tricky -- there's no installer, just a Java file that needs to be stored in a very specific location. Follow the steps below to install it:

  1. Download and Install Arduino (if you haven't already) -- Ardublock is an extension of the default Arduino IDE, so you'll need to have Arduino installed on your computer to run it. Check out our Installing Arduino IDE tutorial for help with that.
  2. Download ArduBlock -- Click the link to the left, or head over to the ArduBlock Sourceforge page to find the latest and greatest version.
  3. Identify your Arduino Sketchbook location -- This is a folder on your computer where your sketches and libraries are saved by default. To find your sketchbook location, run Arduino, and open Preferences by going to File > Preferences. The contents of the top text box defines your sketchbook location. Memorize that location and close Arduino.
  4. Create [sketchbook]/tools/ArduBlockTool/tool/ -- The Ardublock file you downloaded earlier needs to live in a very specific location within your Arduino sketchbook. Navigate to your sketchbook, then create a nest of three directories: tools >ArduBlockTool >tool (watch out, each folder is case sensitive).
  5. Paste 'ardublock-xxxxxxxx.jar' Into /tool/ -- Paste the Ardublock file you downloaded -- a JAR (Java ARchive) file -- into the last folder in the nest you created.
  6. Start Arduino -- Or restart it if it was open.
  7. Select the Board and Serial Port -- Just as you would if you were using Arduino, make your board and serial port selections from the 'Tools' menu.
  8. Open ArduBlock -- Run ArduBlock by clicking Tools >ArduBlock. If you don't see an entry for ArduBlock here, double-check to make sure your directories are all correctly typed and cased.

ArduBlock works hand-in-hand with the Arduino IDE -- it relies on the IDE being open in the background, so don't close the Arduino window!

Using ArduBlock

The ArduBlock window is split into two halves. On the left there are 'bins', which store every possible block you can add to your sketch. The blank, gray slate to the right of that is where you 'draw' your sketch. To add a block to your sketch, simply drag it from the bin into the blank, gray area.

To begin, every ArduBlock sketch requires a Program block, which you can find in the 'Control' bin. The Program block defines the setup and loop functions that every Arduino program requires.

From there, you can drag more Blocks over, snapping them into either the loop or setup sections. Here, try making a blink program. The set digital pin blocks, which effect a digital output (analogous to Arduino's digitalWrite function), are found under the 'Pins' bin. The delay milliseconds block, found under 'Control', is analogous to a delay Arduino function.

Then click Upload to Arduino to send your drawing off to your Arduino board. You can ALT+TAB back over to the Arduino window to check your code upload status.

After you've successfully uploaded your first sketch, continue to play around and explore the contents of the other bins!

ArduBlock Tips & Tricks

You can clone blocks, or groups of blocks, by right clicking and selecting 'Clone'. Everything from the block you right-clicked to the bottom of that 'group' will be copied and pasted into the top-left corner of the window. This is a huge timesaver for bigger drawings.

You can temporarily remove code from your sketch by dragging it out of the entirety of the 'Program' block. Anything not connected to the main Program block will be ignored when your code is compiled. This is a great debugging tool -- you can remove a block of code from program execution, while not actually deleting it, much like commenting out code.

Finally, if you peek back over at the Arduino window, after you've uploaded an ArduBlock drawing, you may notice something different. To create your code, the ArduBlock program simply parses your blocks and spits the equivalent Arduino code over into the Arduino window.

This becomes a great learning tool if you're interested in transitioning from graphical programming to text.

ArduBlock Resources

  • ArduBlock GitHub Repository (Open Source!)
  • SparkFun Digital SandBox Experiment Guide -- A series of Arduino experiments all based around ArduBlock.
Code

SparkFun Digital Sandbox

DEV-12651
12
FavoritedFavorite32

Minibloq

Minibloq is a visually-driven programming environment for Arduino and other physical computing devices. Instead of tearing your hair out over syntax, variable types, compilation errors, and the other annoyances of code, Minibloq allows you to construct your program using a series of graphic blocks.

Beyond the gentle, visual introduction to programming, one of Minibloq's coolest features is its real-time code generator. As you add blocks to the Minibloq drawing, an equivalent line of code will be generated in the next window over. This is an excellent tool if you're looking to make the leap from graphic programming languages to text.

Minibloq has a major focus on robotics. It includes support for popular robotics platforms, like Multiplo and our RedBot Kit.

Getting Started with Minibloq

Head over to the Minibloq download page to grab the latest version. Be aware that, for now at least, Minibloq is (mostly) only Windows compatible.

By default the interface is split into three columns -- hardware view, Minibloq editor, and code editor. On the main toolbar up top, you can choose which columns you want to display or hide.

The hardware section allows you to pick your Arduino-compatible board among options including RedBoard, Arduino Uno, Arduino Leonardo, RedBot Kit, and others.

The middle, Minibloq editor window is where you'll spend most of your program-building time. This view works hand-in-hand with the detatched 'Actions' window, where you click buttons to add blocks to your program.

Finally, there's the 'Generated code' view on the right, which is the most powerful learning feature of Minibloq. It's a huge aide in easing the transition from visual programming to 'coding' programing.

Creating a Minibloq drawing takes some time to get used to. Try creating a blink program to get a feel for it:

Then check out some of the included examples by going to File >Examples. Among the many example sketches are a collection of SparkFun Inventor's Kit and RedBot Kit specific programs. Check 'em out!

Minibloq Resources

  • Minibloq GitHub Repository (Minibloq is open source!)
  • Julián da Silva Gillig, one of the creators of Minibloq, was a SparkFun Hacker in Residence -- check out our interview with him and learn more about Minibloq.

Looking for the right Arduino?

Check out our Arduino Comparison Guide! We've compiled every Arduino development board we carry, so you can quickly compare them to find the perfect one for your needs.