The Blynk nomenclature is a little confusing. Blynk itself is the name of an iOS / Android app, as well as a library platform for Arduino IDE that makes it easy to visually program all kinds of different hardware devices. This is done by flashing a common firmware once to whichever device you're controlling, and from then on you can visually program and control them via over-the-air updates using drag and drop widgets on your phone.
The Sparkfun Blynk Board (SBB) is a physical hardware board based on ESP8266, aka NodeMCU, which is compatible with the Blynk platform and apps. From this point forward I will refer to this as the SBB to avoid confusion.
Most of the information below has been summarized from the links in the Resources section at the bottom. If anything seems incomplete or you have trouble, check the links in Resources for more detailed guides.
Before you can use the Blynk platform, you need to have an iOS / Android device available to you, and install the Blynk app from the app store. You may be able to get by with an emulator instead (such as Andy on Windows.)
After installing, you'll need to sign up, and create a new project in Blynk. This will generate an Auth Code which you can email to yourself. You may need this code later while connecting to the internet.
If you have an iOS / Android device, the easiest way to get the SBB going out of the box is via the setup method on the Blynk app we mentioned. On screen instructions are pretty straightforward and will help you get your SBB connected to your home network. If this works for you, great! You can skip to the After Connecting section below. The app's wifi connection method isn't perfect and this doesn't always work, so if the board fails to configure this way, see Connecting via a Computer below and try the serial method instead.
There are 3 methods for wifi configuration. Skip to the one you want to use.
- Using the Blynk iOS / Android app (try this first, self explanatory)
- Using serial (9600 baud), or
- Using the built-in wifi AP and built-in DHCP/HTTP servers.
- If connected, unplug the SBB.
- Install the SBB FTDI driver.
- After install is complete, plug in the SBB via USB.
- Use a program like Putty on Windows or CoolTerm on Mac to connect to the serial port on your computer. You may have to find the corresponding port within each application's settings. On Windows, this will be a COM number. On Mac, this is often something similar to usbserial-XXXXXXXX (or whatever isn't Bluetooth / Modem). Set the Baud rate to 9600.
- After connecting if you don't see a menu appear in the terminal, make sure Baud is set to 9600 and press H a few times. You will get a configuration menu where you can scan for and set up your home wifi network to connect to. Set up the board for the same network your computer or phone is connected to. Skip the HTTP section below and see the LED Meanings section.
- Power up the SBB via USB
- Via a computer, find and connect to the BlynkMe-XXXX network, where XXXX is the color code flashing on the SBB.
- The flashing should turn Magenta. At this point, your computer's IP should be either 192.168.4.100 or 192.168.4.2.
- Navigate to http://192.168.4.1 . You should get a setup page. Use this page to enter the settings for your home wifi network. This should be the same network your computer or phone normally connects to. Check the LED Meanings section for status when done.
After saving your settings via Serial or HTTP setup, press the gold reset button on the SBB. Your SBB should blink blue, and eventually stay green.
4-Color Pattern = Connecting failed. Retry one of the setup methods above.
Blinking Blue = Trying to connect to the internet using settings specified.
Green = Connected to the internet, good work!
Once you're connected, you're good to go! Use the Blynk app on iOS/Android to control your SBB and create / edit projects. There are additional guides below, as well as help on blynk.cc . If you don't want to use the Blynk platform and instead would like to use the hardware manually, you can try Programming Manually below.
If you don't have iOS or Android, or are an advanced user who wants to use the "bare metal" SBB hardware, you can use the board by programming it manually using a computer and Arduino's IDE. SparkFun has a driver and board library specific to some of its' products, including its' SparkFun Blynk Board.
Before continuing, note that flashing a new project to the SBB will likely prevent it from working with the Blynk App until a factory reset is performed. Instructions for this are below.
The first thing to install is the FTDI Driver. It can be found here: https://learn.sparkfun.com/tutorials/how-to-install-ftdi-drivers
After installing the driver, the library can be installed by adding the JSON URL below into the Arduino Boards Manager repo list inside your Arduino preferences:
After the JSON has been added, go to Tools > Board > Boards Manager. Search for "blynk" and install the Sparkfun ESP8266 Boards package.
Note that searching for "sparkfun" or "esp8266" will produce no or bad results that you DO NOT WANT. The board package you install MUST look like this:
If installed correctly, you should have this entry available in your Tools > Boards menu. Select it as shown below:
Optional: To get examples working properly (or have all of them appear), you may also need to install the Blynk Platform libraries. This can be done by going to Sketch > Include Library > Manage Libraries and again searching for Blynk. Note that this repository is maintained by the Blynk platform and not Sparkfun, and thus examples may or may not work with the SBB.
Factory Reset the SBB (also a good base project):
If you have gone through troubleshooting trying to get your SBB connected and are still having problems, it's possible it's on an old version of firmware or is having some other firmware-related issue. Below is Sparkfun's Github for the SBB:
In the Blynk_Board_ESP8266/Firmware/BlynkBoard_Core_Firmware folder you will find flashable firmware that should be similar to the SBB's out of the box experience. To factory reset, open those files in the Arduino IDE (they should open together as pictured below), and flash them all to the board. Afterward, retry one of the connection methods above again.
Note: The SBB has on-board NVRAM storage which is likely NOT wiped even when you flash the board. This storage will hold things like the wifi settings, which may or may not be compatible with other ESP8266-based projects. If you continue to have strange issues after a factory reset, look into ways to wipe the erase the NVRAM on the SBB. (This may require writing custom firmware.)
If you have issues, such as missing files, there is a high likelihood the project is having collisions with other libraries. Check the output for messages mentioning multiple copies of the same file or library. Find your <Sketchbook>\libraries directory (in Preferences) and clear out any libraries that may be causing issues. They should be listed in the failed compile output. If necessary, repeat the installation process for the Sparkfun Boards package. Below are some libraries I had to disable to get things working right. One or more of these are guaranteed to have collisions:
The SBB is cool and all, but did you know you can use Blynk on tons of other hardware too? Since Blynk is a standalone project outside of SparkFun, it has a github and library set of its' own with firmware for a multitude of platforms. Note: This might cause issues with the SBB so we recommend sticking with the Sparkfun repo for right now if that is the hardware you're using. If you'd like to experiment with other platforms, check out the other Blynk firmware here:
Can't connect to wifi reliably, even when manually specified.
- Tried two different networks in my case, one with a long name, spaces and a ! symbol, and another,
ReanimationXPGuest. No dice on either one.
- It's possible that there is a minimum password length of 8 characters for the wifi network, though this is unconfirmed. My network above had a 9 character all-lowercase password and still would not connect.
Several people are having issues with the provided QR code and/or provisioning.
Some are having issues with the initial ZeRGBra (zebra) tutorial.
The DHCP server (192.168.4.1) only provides one IP address (192.168.4.100) before stopping, which is curious, and could result in participants at a gathering having issues connecting to their own board if someone else does first.
For anyone curious, the QR code isn't a url or anything. mine translated to (close to) this: 0554b6bfb2234f669cead848d34c3f9a
I assume it's simply an energy code to enter, or an identifier for the blynk, but when setting up a new device you can generate a new device code just by "asking", so I doubt it's that unless there are "reserved" device ID's which also provide your account with additional energy.
Blynk Presentation Slides
Blynk Librar(ies) for Arduino IDE:
Manual Arduino IDE Programming Guide