avatar

bboyho

Member Since: August 22, 2011

Country: United States

Profile

Bio

Engineer by day, bboy by night.

Organizations

Delta Chi Fraternity Inc. Worm Tank Crew

Universities

Electrical & Computer Engineering, Dec. 2011 College of Engineering and Applied Science University of Colorado at Boulder

Websites

https://sites.google.com/site/bcelement/home https://www.facebook.com/bboyho

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

    LED’s Not Lighting Up?

    If you are using more than 32 LEDs, try checking line 11 and adjusting the amount of LEDs to match the number that you have in your setup. If you have LEDs that are not lighting up after 32, this might be the reason.

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

    Maximum Heat from Soldering Iron Tip

    It’s a common misconception that the very tip of the iron does not provide the most heat. In fact, the side of the tip of the iron (aka the sweet spot) of any soldering iron is where it will provide the maximum amount of heat. Here’s a good illustration [ https://dlnmh9ip6v2uc.cloudfront.net/tutorialimages/LearnToSolderSimonSays/01.jpg .

    Applications and Tutorial

    This soldering iron is used with our Simon Says kit. For tips on using this soldering iron, try looking at our online tutorial => https://www.sparkfun.com/tutorials/249 .

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

    Maximum Heat from Soldering Iron Tip

    It’s a common misconception that the very tip of the iron does not provide the most heat. In fact, the side of the tip of the iron (aka the sweet spot) of any soldering iron is where it will provide the maximum amount of heat. Here’s a good illustration [ https://dlnmh9ip6v2uc.cloudfront.net/tutorialimages/LearnToSolderSimonSays/01.jpg .

    Applications and Tutorial

    This soldering iron is used with our Simon Says kit. For tips on using this soldering iron, try looking at our online tutorial => https://www.sparkfun.com/tutorials/249 .

  • I’m sorry but tech support does not usually monitor the comments. I just noticed this comment.

    To configure a BC127, you would need 1x FTDI basic breakout [5V FTDI – https://www.sparkfun.com/products/9716 or right angle https://www.sparkfun.com/products/553 ], and mini-B cable [ https://www.sparkfun.com/products/11301 ] . This is only one way to connect to the device. You can always use M/F premium jumper wire to extend the connection. As long as there is a connection with the metal plated through holes, you can configure the BC127.

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

    Reading 9DOF Block via I2C w/ the Arduino IDE

    The mraa library and Eclipse is an alternative as opposed using the Arduino IDE. The are a few other ways (like Node.js in the Intel XDK) to program the Intel Edison. You can use the LSM9DS0 Arduino library to view the sensor data. You will need to modify board definition in order to get it working. “Basically the Arduino expander board is hard-coded to I2C6, while the Sparkfun board on I2C1. However, both I2C6 and I2C1 are present on the breakout board.” This issue is discussed in the Intel Edison Forums [ https://communities.intel.com/message/253549#253549 ]. You will have an output will be constant and not change. Here are some examples of the output that you might see that are not changing:

    G: -122.63, -87.84, 15.34
    A: -1.00, -1.66, 0.13
    M: -1.00, -1.65, 0.13
    Heading: -31.21
    Pitch, Roll: -30.80, -58.57
    
    G: -122.63, -87.84, 15.34
    A: -1.00, -1.66, 0.13
    M: -1.00, -1.65, 0.13
    Heading: -31.21
    Pitch, Roll: -30.80, -58.57
    

    or

    G: -123.29, -87.84, 15.34
    A: -1.01, -1.66, 0.13
    M: -1.01, -1.65, 0.13
    Heading: -31.34
    Pitch, Roll: -30.93, -58.43
    
    G: -123.29, -87.84, 15.34
    A: -1.01, -1.66, 0.13
    M: -1.01, -1.65, 0.13
    Heading: -31.34
    Pitch, Roll: -30.93, -58.43
    

    The output will vary depending on the each upload, state of the Edison, and the floating I2C pins. Regardless, the output values willremain constant.

    Here are two solutions and steps to get the Intel Edison and the 9DOF block working on an Arduino IDE:

    A.) Intel’s custom Arduino IDE v1.5.3 and v1.6.0

    It’s pretty simple if you are using Intel’s Arduino IDE v1.6.0, Intel Edison, the 9DOF block, and a Base block/Arduino breakout for Intel Edison . The customers that I have helped since the release of the 9DOF block have gotten theirs to work without an issue.

    You just need to follow these steps (assuming that you are using a Windows OS):

    1.) Download Intel’s Arduino IDE v.1.6.0 [ https://software.intel.com/en-us/articles/arduino-ide-v160-for-intel-galileo-and-intel-edison-boards ].

    2.) Unzip the files.

    3.) Go to the folder edison_fab_c in the Arduino program folder to open the variants.h file in a text editor. Your directory should look like:

    …arduino-1.6.0+Intel\hardware\intel\i686\variants\edison_fab_c
    

    You must modify the line as explained in the Intel Edison forum on line 49 of the variants.h file by changing:

    #define LINUX_I2C_ADAPTER                    6
    

    to

    #define LINUX_I2C_ADAPTER                    1
    

    4.) Install the LSM9DS0 Arduino library [ https://github.com/sparkfun/SparkFun_LSM9DS0_Arduino_Library/tree/V_1.0.1 ] for the LSM9DS0 breakout in your Arduino libraries folder located in your documents (it will probably look like C:\Users\…\Documents\Arduino\libraries ). You can also use your “libraries manager” located in “Sketch>Include Library>Manage Libraries…” .

    5.) To test, you can use the LSM9DS0_Simple.ino Arduino example code [ https://github.com/sparkfun/LSM9DS0_Breakout/blob/master/Libraries/Arduino/examples/SparkFun_LSM9DS0_Simple/SparkFun_LSM9DS0_Simple.ino ] on the Intel Edison. Open the Arduino example code in Intel’s modified Arduino IDE v.1.6.0.

    6.) Select the “Intel Edison” board definition in Tools>Board . For Intel’s version of the Arduino IDE, it should be already installed in the custom Arduino IDE for the Intel Edison.

    7.) Select the COM port in Tools>Port that the Intel Edison enumerated on. In your device manager, it should say “ Intel Edison Virtual Com Port (COM#) ”.

    8.) Hit the “Upload” button.

    9.) Open the Arduino serial monitor.

    10.) Select a baud rate of 115200 to view the output data from the LSM9DS0 .

    B.) Arduino.cc’s Arduino IDE v1.6.10 and .1.6.11

    I was able to find the location Intel Edison Board definition in the Arduino program folder and get it working with the latest Arduino IDE v.1.6.11. You will still need to modify the variants.h file. There really is no way around this. I compared and contrasted the files using a tool online to verify between Intel’s custom IDE and Arduino.cc’s IDE. There was no difference between the variants.h file. Just follow these steps:

    1.) Open your Arduino IDE v1.6.11.

    2.) Open the “Board Manager” in the Tools/Board: menu.

    3.) Make sure that you have the “ Intel i686 Boards by Intel version 1.6.7+1.0 ” board definition installed. If it is not, just update the board definition.

    4.) Then head to your Arduino preferences by going to File>Preferences .

    5.) Click on the link “C:\Users\…\AppData\Local\Arduino15” to modify the program files where it says:

    More preferences can be edited directly in the file:
    C:\Users\…\AppData\Local\Arduino15
    

    Keep in mind the “…” will vary depending on the user’s name that is logged in to your Windows OS.

    6.) Open the “ packages ” folder.

    7.) Open the “ Intel ” folder.

    8.) Open the “ hardware ” folder.

    9.) Open the “ i686 ” folder.

    10.) If you have the correct board definition installed for the Intel Edison, you should see a folder called “1.6.7+1.0” Open the “1.6.7+1.0” folder.

    11.) Open the “ variants ” folder.

    12.) Open the “ edison_fab_c ” folder. Your directory should be similar to this:

    C:\Users\…\AppData\Local\Arduino15\packages\Intel\hardware\i686\1.6.7+1.0\variants\edison_fab_c
    

    13.) You must modify the line as explained in the forum on line 49 of the variants.h file by changing:

    #define LINUX_I2C_ADAPTER                    6
    

    to

    #define LINUX_I2C_ADAPTER                    1
    

    14.) Select the “ Intel Edison ” board definition in Tools>Board .

    15.) Select the COM port in Tools>Port that the Intel Edison enumerated to. In your device manager, it should say “ Intel Edison Virtual Com Port (COM#) ”.

    16.) Hit the “Upload” button.

    17.) Open the Arduino serial monitor.

    18.) Select a baud rate of 115200 to view the output data from the LSM9DS0 .

    ——————————————————————————————

    Reading the 9DOF Block via SPI

    It’s not supported with SPI. Go back to using I2C. For more information, check out this forum post => https://communities.intel.com/message/297870#297870

    ——————————————————————————————

    Issues Stacking Intel Edison Blocks

    I had a case where was an issue stacking the blocks a certain way with the Intel Edison. Apparently if you stack the boards like so:

    Intel Edison->Base Block->9DoF
    

    , you might not be able to access the sensor data. Try rearranging the blocks like so to get it to output the sensor data:

    Intel Edison->9DoF->BaseBlock
    

    ——————————————————————————————

    Additional Resources and Project Applications

    Example of the 9DOF block used in a balance bot example => hackaday.com/2015/02/24/eddieplus-the-edison-based-balancing-robot/. There is example code in the GitHub repository to use the data output from the 9DOF => https://github.com/r3n33/EddieBalance/blob/master/src/imu/imu.c.

    Another example project => http://stephaniemoyerman.com/?p=81 .

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

    Load Cell Project: IoT and Bees

    The Internet of Bees: Adding Sensors to Monitor Hive Health [ http://makezine.com/projects/bees-sensors-monitor-hive-health/ ]

    Internet of Bees GitHub Repository [ https://github.com/sparkfun/OpenScale ]

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

    Connecting the BC127 Breakout Board to a Serial Terminal

    Don’t expect to directly connect the 5V FTDI breakout board to the bottom FTDI header pins on the BC127 breakout board. The Eagle board layout & schematic files show that the Tx pin would connect to your Tx on the FTDI and the Rx to the Rx pin on the FTDI. This was due to the design of the BC127 Breakout board so that you can connect it directly to an Arduino Pro, Pro Mini, and LilyPad. If you place it on a breadboard or wired the pins appropriately from Tx to Rx and vice versa, you are able to go into command mode with the BC127 through the serial terminal (with settings 9600 8-none-1-none) after entering “$$$$”.

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

    Lower Voltage

    We tried converting RS232 voltage down to 1.8V but it was not able to work. The lowest seemed to be around 2.1V with the RS232 Shifter. We recommend using the RS232 Shifter running at 5V (or anything higher than 2.8V) for the TTL side and further convert the signal down to 1.8V with the TXB0104 [ https://www.sparkfun.com/products/11771 ]. The TXB0104 can translate down to 1.2V. Make sure that you have 5V and 1.8V to set the logic levels with each respective TTL side.

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

    Lower Voltage

    We tried converting RS232 voltage down to 1.8V but it was not able to work. The lowest seemed to be around 2.1V with the RS232 Shifter. We recommend using the RS232 Shifter running at 5V (or anything higher than 2.8V) for the TTL side and further convert the signal down to 1.8V with the TXB0104 [ https://www.sparkfun.com/products/11771 ]. The TXB0104 can translate down to 1.2V. Make sure that you have 5V and 1.8V to set the logic levels with each respective TTL side.

    Dimensions

    The overall dimensions are about 31.10mm x 27.4mm x 15.7mm => https://drive.google.com/file/d/0B0jwgLkjMWzDWjQ1bURvb1RibmM/view?usp=sharing

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

    Software Serial and SPI on the Arduino Mega 2560

    Not all the pins for the Arduino Mega 2560 are in the same location as the Arduino Uno. The software serial [ https://www.arduino.cc/en/Reference/SoftwareSerial ] and SPI [ https://www.arduino.cc/en/Reference/SPI ] are in different pin locations for the Arduino Mega 2560. You will need to reroute pins and redefine the pin definitions in order to use any of the examples.

    A quick, temporary fix for the software serial pins is to bend the software serial header pins out of place and reroute them using jumper wires similar to this tutorial => [ http://mcukits.com/2009/04/06/arduino-ethernet-shield-mega-hack/ ]. You do not need to modify the core Arduino library as explained in the NKC Electronics tutorial.

    Try to change these lines where it says:

    #define ARDUINO_GPS_RX 9 // GPS TX, Arduino RX pin
    #define ARDUINO_GPS_TX 8 // GPS RX, Arduino TX pin
    

    to these software serial pins:

    #define ARDUINO_GPS_RX A9 // GPS TX, Arduino RX pin
    #define ARDUINO_GPS_TX A8 // GPS RX, Arduino TX pin
    

    For the SPI pins, there are traces that you can cut on the back of the GPS Logger Shield [ https://learn.sparkfun.com/tutorials/gps-logger-shield-hookup-guide/hardware-setup ] so that you do not have to bend the shield’s SPI pins out of place. You can then solder a female header pin to the GPS Logger Shield’s 2x3 ICSP pins to the Arduino Mega’s ICSP. Otherwise, you would need to bend the pins out of place and use jumper wires like the software serial pins.

    I recommend rerouting the software serial pins to a different location so that the SPI and software serial pins are not conflicting if you are trying to follow the µSD Card GPS Logging example [ https://learn.sparkfun.com/tutorials/gps-logger-shield-hookup-guide/example-sketch-sd-card-gps-logging ]. There was one case where the MISO (pin 50) and MOSI (pin 51) pins were conflicting with a customer’s software serial defined pins on pins 50 and 51. This caused the Arduino Mega 2560 to not receive data from the GPS receiver through software serial due to the Arduino writing data to the microSD card via SPI. Since the Arduino is not receiving data, it believes that it is not seeing any satellites.

    Redefine CS on the Arduino Mega 2560

    If you rerouted the SPI CS pin to pin 53 on the Arduino Mega, make sure that you also redefine the CS pin too where it says:

    #define ARDUINO_USD_CS 10 // uSD card CS pin (pin 10 on SparkFun GPS Logger Shield)
    

    to

    #define ARDUINO_USD_CS 53 // uSD card CS pin (pin 53 on SparkFun GPS Logger Shield)
    

    Low Power Standby Mode

    A customer was able to place the GPS into Low Power Standby Mode to conserve power. Try looking below for more information:

    Standby Mode: In this Mode the receiver stops navigation and internal processor enters standby state current drain at main supply VDD is reduced to 200 μA typ. Standby Mode is entered by sending NMEA command: $PMTK161,0*28. Host can wake up the module from Standby Mode to full Power Mode by sending any byte via host port.
    

    A tech support representative tested this mode out to verify that it works. The shield only draws about 7mA after the command is issued.