Member Since: August 22, 2011

Country: United States



Engineer by day, bboy by night.


Worm Tank Crew

Blowup Kingz


Delta Chi Fraternity Inc.


Electrical & Computer Engineering, Dec. 2011

College of Engineering and Applied Science

University of Colorado at Boulder





  • ——————– Tech Support Tips/Troubleshooting/Common Issues ——————–

    “Intel Curie Boards by Intel” Board Version

    For those trying to use the BLE on Arduino 101, make sure to use the Intel Curie Boards by Intel with v1.0.7 . The latest version does not work as expected. The Arduino forums even say that the board version is broken. Code will compile in the Arduino IDE but the experiments will not work as expected.

    Rolling Back to a Previous Board Definition

    If you have already uploaded to the board, you can roll back to the previous version by following the instructions listed in the upload error:

    Starting download script...
    !! BLE firmware version is not in sync with CurieBLE library !!
    * Set Programmer to "Arduino/Genuino 101 Firmware Updater"
    * Update it using "Burn Bootloader" menu
    An error occurred while uploading the sketch

    You can use Arduino IDE v1.8.2 or v1.8.3 and selecting Tools>Programmer:Arduino/Genuino 101 Firmware Updater“. You will then need to click on Tools>Burn Bootloader . And yes, you do not need a programmer when rolling back to the previous board definition. Just have the Arduino 101 connected to their computer via USB and the correct board definition/COM port selected.

    After uploading with the correct board definition, the experiments with the BLE should work as expected.

    Arduino Roll Back Error

    If you are trying to roll back the Arduino 101 to a previous board version and see this error

    Reset the board before proceeding...
    find: sensor: No such file or directory
    find: sensor: No such file or directory
    find: sensor: No such file or directory
    Error while burning bootloader

    The computer is not able to find a certain file on your computer due to the way that the Arduino 101 board definitions were installed. You can try re-installing, deleting temporary files, and reinstalling the Arduino IDE version. However, I still was not able to get it working on my Windows by trying the methods listed above. I had to go to our tech support known good Mac [ OSX Lion v10.7.5 ] to roll back. One thing to note is that the Mac was not able to upload to the Arduino 101 but I can upload on my Windows computer with the previous board version.

  • ——————– Tech Support Tips/Troubleshooting/Common Issues ——————–

    Processing IDE Version

    The example Processing sketch works with the Processing IDE v2.2.1. Later versions may not work with the example code so makes sure to download the stable release for v2.2.1 from the Processing IDE Download page . The example Processing sketch was not able to work on v3.0.2 .

  • Resources and Going Further

    Sonic Control Using Filters

    For sensing certain frequencies, you you could use the MEMS microphone with a filter circuit. Here’s a good tutorial on filtering out a certain frequency with a bandpass filter => http://www.instructables.com/id/Sonic-Control/?ALLSTEPS.

  • ——————– Tech Support Tips/Troubleshooting/Common Issues ——————–

    Using and Creating Fritzing Parts

    For more information about using and creating Fritzing, try looking at this link => http://fritzing.org/learning/ .

  • ——————– Tech Support Tips/Troubleshooting/Common Issues ——————–

    Using Multiple MCP4725s

    To use more than one MCP4725, you will need to modify the solder jumper on the ADDR pin to change address and disable a few pull-up resistors as explained in the tutorial. By writing a few more lines of code, you should be able to talk to multiple MCP4725s. There is also a note in the datasheet on page 1 and 27 [ https://cdn.sparkfun.com/datasheets/BreakoutBoards/MCP4725_2009.pdf ]. It looks like you can only change the MCP4725 to one of two I2C address since two bits are set by the factory. Therefore, it appears that you can only have 2x MCP4725s on the same I2C bus:

    I2C Address    
    GND = 1100 00 0 (0x60) (DEFAULT)
    VCC = 1100 00 1 (0x61) 

    If you require more than two MCP4725, you could try to use the software I2C [ http://playground.arduino.cc/Main/SoftwareI2CLibrary ] or use a dedicated I2C mux like the PCA9548A [Qwiic Mux - PCA9548A - https://www.sparkfun.com/products/14293 or Qwiic Mux Shield for Arduino - PCA9548A - https://www.sparkfun.com/products/14257 ]. Please be aware of the note for the SparkX product.

  • ——————– Tech Support Tips/Troubleshooting/Common Issues ——————–

    “RS232” Output and Inverting Signal w/ Hardware

    If the ultrasonic range finder is outputting an inverting signal with the voltage level based on Vcc, you could just use an inverting circuit using a transistor to invert the signal. This is not a standard RS232 that uses +/-12V. Try looking at this section under Applications I: Switches – Digital Logic | Inverter [ https://learn.sparkfun.com/tutorials/transistors#applications-i-switches ] or article about the Logic NOT Gate [ http://www.electronics-tutorials.ws/logic/logic_4.html ]. The example used a NPN transistor. We have a few NPN transistors in our catalog => [ https://www.sparkfun.com/search/results?term=npn+transistor ]. 2N3904 should do the job.

    Doing a quick test using a retired NPN transistor from our storefront, I was able to get it working based on the circuit using a RedBoard Programmed with Arduino. I was using an Arduino so Vcc in my circuit was 5V. Since it’s basically two diodes within the transistor, you will want to use resistors to limit the current. I just used two 330Ohm resistors just like I was turning on an LED. You probably do not need to do this but the values might need to be adjusted when using it at higher speeds or if the transistor is not fully turning ON/OFF. Testing with a multimeter, it worked as expected. An input of 5V would result in 0V (logic LOW) on the output since the transistor was turning on. With an input of 0V, the transistor would not be conducting so the output would be held HIGH at 5V. Using an Arduino serial passthrough for further testing, I was able to view the ultrasonic sensor’s output data without any problems.

    “RS232” Output and Inverting w/ Software

    Otherwise, you could be clever in writing your code to store the value and possibly apply some sort of logical NOT operation. In Arduino, there is a special feature using software serial that inverts the signal by setting a parameter to TRUE. [ “Signal Inversion” – http://arduiniana.org/libraries/newsoftserial/ and “Software Serial Constructor” – https://www.arduino.cc/en/Reference/SoftwareSerialConstructor ]. There was someone in the Arduino forums that provided example code to invert the output, parse the data, and output it through the serial monitor here [ User “Goldthing” - http://forum.arduino.cc/index.php?topic=114808.msg864009#msg864009 ].

    Connecting Ultrasonic Sensor to Raspberry Pi

    There is a tutorial from MaxBotix that shows you how to connect ultrasonic sensors to Raspberry Pis => [ http://www.maxbotix.com/Raspberry-Pi-with-Ultrasonic-Sensors-144/ ]. If the ultrasonic range finder’s output serial output is “ RS232 ” like the sensors listed under “Ultrasonic Sensors that Require an Inverter” , this indicates that the signal is basically an inverted output with the voltage level based on Vcc.

    Therefore, you would need to follow the tutorial and use a serial inverter in order to use it with the Raspberry Pi. If you are using a Raspberry Pi an NPN transistor, Vcc should be 3.3V since the Pi uses a 3.3V system. Here’s another example using a PNP transistor [ https://github.com/simonmonk/raspirobotboard/wiki/Rangefinder-Adapter ] for the Raspberry Pi.

  • ——————– Tech Support Tips/Troubleshooting/Common Issues ——————–

    States.h File

    Make sure that the “States.h” file in the same folder as the CloudCloud.ino [ https://github.com/sparkfun/IoT_CloudCloud/tree/570fda603d4ebe0294ab029a0ca8a9a0341f6045/Thing/CloudCloud ]. Otherwise, the code will not recognize certain variables and functions that are defined when the code compiles.

  • ——————– Tech Support Tips/Troubleshooting/Common Issues ——————–

    Orientation of the Header

    This is a type A connector as indicated in the datasheet.

  • ——————– Tech Support Tips/Troubleshooting/Common Issues ——————–

    Common Anode LED

    The board is populated with a common anode LED. You would want to attach the voltage input to the “+” pin. To light the LED, the R, G, and B pins need to be each grounded individually to work.

  • ——————– Tech Support Tips/Troubleshooting/Common Issues ——————–

    Needle Sizes

    The bigger needles are easier and faster to thread than the smaller ones. Depend on the how many layers of material you are using and the part you are attaching, it might be better to use the smaller needle. For example, if you are trying to secure the snap assortment pack [ https://www.sparkfun.com/products/11347 ] to a piece of fabric, it would be better to use the smaller needle because of the diameter of the mounting holes.