Member Since: August 22, 2011

Country: United States



Engineer by day, bboy by night.


Delta Chi Fraternity Inc. Worm Tank Crew


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


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

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

    “S-E” Error

    “S-E” usually means Sensor Error. It’s a common error. Sometimes it goes away after messing with the dial and the temperature will display properly again. Other times it indicates that the heat sensor is failing. The rework station might be able to be revived by removing and re-attaching the heater. Another tech support rep thinks it’s oxide building up on the connections. This results in fooling the controller into thinking the heater has failed.

    “H-E” Error

    Units displaying the “H-E” usually means there is a heating error. It might be that there is something with the heating element failing or not connected properly. Try checking the connections to see if the heating element needs to be re-seated. Last resort is getting a replacement heating element.

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

    Coin Cell

    I tested the PowerCell [ https://www.sparkfun.com/products/11231 . The coin cell was not able to power a 5V Arduino. This would probably be the same for other boost converters. The output power of the coin cell is probably be too low to be boosted for the boost converters. You would need a battery that is able to output more power. It would be better with a LiPo battery with nominal 3.7V.

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

    Coin Cell?

    I tested the step up converter – NCP1402 [ https://www.sparkfun.com/products/10968 ] with a coin cell battery. The coin cell was not able to power a 5V Arduino. This would probably be the same for other boost converters. The output power of the coin cell is probably be too low to be boosted for the boost converters. You would need a battery that is able to output more power. It would be better with a LiPo battery with nominal 3.7V.

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

    Blynk board add-on

    Try typing the word “ESP8266” instead of “Blynk” in the Arduino IDE’s board manager if you are trying to follow this section of the tutorial [ https://learn.sparkfun.com/tutorials/blynk-board-arduino-development-guide/install-the-blynk-board-arduino-addon ]. I had some issues finding the “SparkFun Blynk Board” add on when looking in the Arduino v.1.6.5’s board manager. Eventually I was able to install the board definition.

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

    Bricked Atmega32U4

    Timing Issues w/ USB Communication through CDC

    Interrupts Atmega32u4’s built in CDC driver for USB communication can have timing issues when messing with the watchdog timer, sleep modes, and timer interrupts. I am unsure of how to fix this issue if you continue to use code that interferes with the CDC. I recommend trying a different method than using the interrupt timers.

    Wrong Bootloader It’s possible to brick your LilyPad Arduino USB w/ Atmega32U4 if you used the wrong board selection with the wrong frequency. If you upload the wrong frequency, the IC will not be able to understand any new code that is being uploaded. It expects to have code that is compiled for another bootloader, instead of using the 8MHz frequency with the oscillator.

    When either of these cases happens, the device manager is not able to recognize the device and is usually seen as an “unknown device” when the microcontroller runs the sketch. There are ways to recover the an Atmega32U4 (i.e. LilyPad Arduino USB - Atmega32U4 board, FioV3 - Atmega32U4, Pro Micro 5V/16Mhz, Pro Micro - 3.3V/8Mhz, etc) if this happens. Check below for more information:

    A.) Upload when LilyPad USB with Atmega32U4/Pro Micro/FioV3 is still in Bootloader Mode

    You can try the double reset method by tapping the RST pin to GND twice (since there is no reset button on the board) as explained in the Troubleshooting sections labeled as Reset to Bootloader and How to Revive a “Bricked” Pro Micro => https://learn.sparkfun.com/tutorials/pro-micro–fio-v3-hookup-guide/troubleshooting-and-faq.

    1.) Open the Arduino IDE.

    2.) Choose a simple code to upload on the Arduino. I used the Arduino blink test code [ https://www.arduino.cc/en/Tutorial/Blink ] to upload.

    3.) Check your Tools>Port menu for the list of COM ports when the Arduino is connected. You will probably not see it in the list.

    4.) Click somewhere else to stop viewing the list of COM ports.

    5.) Hit the reset button twice.

    6.) Re-open the Tools>Port menu to view the list of COM ports again to see what the LilyPad Arduino USB enumerates to when its in its bootloader. There is an 8 second window to view the COM port when the board is in bootloader mode.

    Note: Feel free to use the device manager at this step. Opening up the device manager on your operating system will help to see when the Arduino pops up and disappears.

    7.) Select the COM port that the LilyPad Arduino USB is on before it disappears again.

    8.) Hit the Upload button to compile and upload.

    9.) Wait a few seconds for the Arduino IDE to compile code. The progress bar should be just over the halfway mark.

    Note: On Windows, this takes about 20 seconds to compile and upload. The device will show up as “Arduino LilyPad USB Bootloader (COM##)”. Trying this on a Mac seemed a little faster to compile and upload.

    10.) Hit the reset button twice again to place the LilyPad Arduino USB in bootloader mode while the Arduino IDE is uploading.

    11.) If successful, you will have no error messages the Arduino IDE will tell you that it is “Done uploading.”

    After selecting the correct board definition and timing the double reset method correctly, I was able to upload successfully. It took me a couple of tries before I could get this right because of the timing. You should not need to go through this recovery procedure for subsequent uploads unless you brick the Atmega32U4 again.


    B.) Outdated or Corrupt drivers

    If board is showing up as Arduino Micro (COM##) or Pro Micro (COM##), try the double reset method and updating the drivers while still in bootloader mode:

    1.) Use the double reset method while having the device manager open.

    2.) When the board entered the bootloader mode, I right-clicked on the Arduino board in the device manager as shown in this screen shot: [ http://puu.sh/iaYYC/d45153914c.png ]

    3.) I updated the driver for the board.

    4.) Once the update was completed, I compiled and uploaded the code. When the uploading status bar was half-way through, I did double reset again and the problem was fixed.


    C.) Reinstalling the Bootloader

    As a last result, you can always try to reinstall the bootloader. The tutorial is designed for the Arduino Uno, but it should work for Atmega32U4’s bootloaded with Arduino. The idea is the same but the specifics are different. Start by reading the tutorial => https://learn.sparkfun.com/tutorials/installing-an-arduino-bootloader. The first thing you are going to need is an AVR programmer. You can use a standard AVR programmer or any Arduino with the ISP code on it (the standard code will not work with the Leonardo). Unfortunately, the pins on the LilyPad Arduino USB are not using the standard 0.1" sized ICSP pins. You will need to solder wires to the ICSP pins or make an adapter board for access. You will then need to connect it to the target device (i.e. LilyPad Arduino USB, Pro Micro, Fio V3, Makey Makey, or Leonardo) to reflash the bootloader. Don’t worry about the fuse bits or even the avrdude commands (they’re great, if you are installing third party stuff, but this will work just fine).

    1.): Get a programmer

    This you can do by following the directions in the tutorial.

    2): Connect the programmer/Arduino as ISP to the Target Device

    You will need to connect to the same pins to your target device (i.e. LilyPad Arduino USB, Pro Micro, Fio V3, Makey Makey, or Leonardo). On the Leonardo you can connect it just like the Uno. The LilyPad Arduino - USB has small ICSP pins. I managed to solder wires directly to the pins for access. The Pro Micro does not have an ISP header and the pin numbers are different. Check the tutorial for location of the pins on the programmer. Here are the pins for the Pro Micro Board:

    ICSP Pins <=> Pro Micro Pin
       GND    <=>      GND
       RST    <=>      RST
       VCC    <=>      VCC
       MISO   <=>      D14
       SCK    <=>      D15
       MOSI   <=>      D16

    Note: There is a silkscreen error and D17 is labeled D14 on the Pro Micro.

    3.) Program

    Using Arduino v1.6+ go under Tools and select the correct programmer (if your programmer uses a COM port select that too), and the correct board (LilyPad Arduino - USB, Pro Micro, FioV3, Makey Makey, or Leonardo). Then select Burn Bootloader. For the Pro Micro, this will use the bootloader in the addon file, so make sure you have the correct addon file installed.

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

    Checking the Version Number

    To check the version number of your RN52, you can use the “v” command. Make sure that you connect the 3.3V FTDI to the RN-52 as stated in the hookup guide for CMD mode: Rx <-> UART_Tx, Tx <-> UART_Rx, 3.3V <-> PWR_EN <-> 3.3V, GND<-> GND, and GPIO9 <-> GND. Using a serial terminal connected to the FTDI’s enumerated COM port (with setting 115200, 8-none-1-none). After typing the command, the RN-52 will respond with:

    Ver 1.10 04/04/13
    (c) Microchip Technology Inc.

    Upgrading DFU Firmware over USB

    Note: Upgrade at your own discretion before proceeding!!! You might brick your module if you are not cautious!!!

    If you are interested in upgrading the firmware on the RN-52s, you will need the USBD+, USBD-, GND and GPIO3 pins. The standard default v1.10 firmware on the RN-52s requires DFU over USB. After flashing the v1.16 (file rn52-i_rm116.dfu ), the RN-52 will have the ability to use DFU over UART.

    Try looking at the “RN52 Firmware v1.16 Release Notes” [ http://ww1.microchip.com/downloads/en/DeviceDoc/RN52%20Firmware%201.16%20Release%20Notes.pdf ] for new additional features.

    1.) Head to Microchip’s RN-52’s Product Page http://www.microchip.com/wwwproducts/en/RN52 .

    2.) Download the RN52 Bluetooth DFU Utility Installer located under “Documentation > Software.” This will contain the application called MicroChip Bluetooth DFU Utility Installer.exe and a guide called RN52-EK DFU Procedure Guide.pdf . The guide was written for Microchip’s RN52-EK development board but there was no issues updating RN-52’s on our breakout board.

    3.) Download the image of your choice below the software. You have the option of using “RN52-I/RM110 DFU Image” (saved as the rn52-i_rm110.dfu file) or “RN52-I/RM116 DFU Image” (saved as the rn52-i_rm116.dfu file).

    4.) Unzip Microchip Bluetooth DFU Utility Installer.zip .

    5.) Click on the Microchip Bluetooth DFU Utility Installer.exe to install.

    6.) Follow the installation instructions in the installer. This will also install the driver for your Rn-52 audio bluetooth though USB.

    7a.) Hardware Connection Connect a DFU Over USB Pins: USBD+, USBD-, 3.3V, PWR_EN, GND, and GPIO3 pins. You could use the a USB Mini-B Breakout [ https://www.sparkfun.com/products/9966 ], mini-B cable [ https://www.sparkfun.com/products/11301 ], and jumper wires. Since I already connected the 3.3V FTDI to the RN-52, I just used 3.3V and GND from the FTDI to the RN-52 for power. Make sure to connect GND of the USB Mini-B breakout with the GND of the FTDI so the reference is the same:

    USB Mini-B Breakout <=> RN-52 Breakout
    D-                  <=>      USBD-
    D+                  <=>      USBD+
    GND                 <=>      GND
    3.3V FTDI Basic Breakout <=> RN-52 Breakout
            3.3V             <=>    GPIO3
            GND              <=>    GND

    7b.) Power Cycle Power cycle the RN-52 so that the GPIO3 is HIGH at boot time. The green LED labelled (LED0) and red LED labelled (LED1) will blink simultaneously.

    7c.) Launch the the “Microchip Bluetooth Device Firmware Upgrade Utility” software (i.e. MCHPDFUUtility.exe ).

    7d.) You will be greeted with a note from Microchip. Click on the “Next >” button to begin.

    7e.) Connection Type Selection Select “DFU over Universal Serial Bus (USB)” and click on the “Next >” button.

    7f.) The software should automatically search for the device that is connected over USB. Your computer might pop up with a new device (For Windows, there was a popup in the notifications):

    CSR BlueCore in DFU Mode

    7g.) Upgrade Action Selection Select “Download a new version of the firmware, saving a copy of the current version first. Any previous saved version will be replaced. (Recommended.)” and click “Next >”.

    7h.) Upgrade File Select the location of your file (i.e. rn52-i_rm116.dfu ). and click “Next >”.

    7i.) Ready to Upgrade Verify your selections and click “Next >”. Your window might say something like this:

    USB device:
            HUB5_PORT2(BD_ADDR = ??-??-??-??-??-??)
            Existing firmware will be saved

    Note: Since the PWR_EN is connected to 3.3V already, you do not need to “hold the power button down” as stated in the guide for Microchip’s RN52-EK development board. The upgrade automatically started as soon as I pressed on the “Next >” button.

    7j.) Upgrade in Process Make sure to not interrupt the power and connections during the firmware upgrade. There will be progress bars that indicate your progress. Depending on your upgrade selection, it will save the previous firmware, flash the new firmware, and verify the update on the RN-52.

    7k.) Successful Upgrade Once finished, the utility will provide the total time it took to save your file and flash the new firmware. It took less than 5 minutes to upgrade the firmware:

    Time Taken:
        Upload    00 minutes 24 Seconds
        Download  03 minutes 06 seconds

    There was also a verification process after flashing the new firmware. This should take about a minute to complete. Click “Finish” to complete the upgrade at the final screen.

    7l.) Cycle Power Disconnect GPIO3 from 3.3V so that it is LOW. Power cycle the RN-52 by disconnecting and reconnecting power to 3.3V.

    8.) If you are already connected to a serial terminal with a 3.3V FTDI and the RN-52 set to CMD mode, you can verify the version number by sending the “v” command. The RN-52 should respond with this output:

    RN52-I Ver 1.16 (c) Microchip Technology Inc.

    This should indicate that the firmware has been upgraded to the new firmware. Try testing out the new firmware by playing music from a smartphone. =)

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

    Design Tips

    We have used the large digit drivers before during the AVC [ upper left hand corner of this picture => https://www.flickr.com/photos/sparkfun/18877960640/in/album-72157654869278586/ ] but it was in a tent under a small arena. As long as there is some shade you will be able to see the segments light up. In direct sunlight, you will not be able to see any segments.

    Testing the display inside in the afternoon, it was obviously better. When there was sunlight shining on the segment, it was hard to see. Try using it under some shade so that sunlight is not shining directly on the 7-segment.

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

    9V Power Supply w/ 5x 3W LEDs?

    The power supply depends on how you wire the high power LEDs [ https://www.sparkfun.com/products/13105 ] to the FemtoBuck [ https://www.sparkfun.com/products/13716 ] . The tutorial will have more information on wiring the LEDs with the FemtoBuck [ https://learn.sparkfun.com/tutorials/femtobuck-constant-current-led-driver-hookup-guide-v12 ] . Assuming that you are using a 9V power supply from our catalog, it might be better to not have more than 2x high power LEDs wired in series with each FemtoBuck. The tutorial states that you would need to add the forward voltages of the LEDs together with an additional 2V of head room. Testing with a benchtop power supply, it looks like two high power LEDs wired in series using the default setting (no solder jumper on the “Current Level Set Jumper”) would pull about 0.222A w/ 9V.

    The total will be about 9.6V so this 9V power supply would work [ 9V/650mA – https://www.sparkfun.com/products/298 ] with the female barrel jack adapter [ https://www.sparkfun.com/products/10288 ] . You could wire two setups (2x high power LEDs in series with one FemtoBuck) in parallel to the power supply. The 5th high power LED and FemtoBuck can probably be powered in parallel with the same power supply. The total pull from the power supply will probably be around 0.563A. If it is too much strain on the power supply, maybe you can add an additional 9V power supply for one of the Femtobuck setups.

    Testing two Femtobucks (with no solder jumper) each with two 3W LEDs in series, there was no issue powering the setup with a 9V/650mA power supply. I was also able to power the Arduino. The system was pulling about 0.48A. The wall adapter gets warm but it’s well within the recommended rating and does not shut off. As soon as a solder jumper is added, the power supply shuts off after a few minutes because it is not able to handle the load.

    12V Power Supply w/ 3x 3W LEDs

    w/ Solder Jumper Set

    The Red 3W LEDs look like 3x LEDs (2.8V forward voltage * 3 + 2V head room => 10.4V) can be added in a series with a 12V power supply. The other 3W LEDs should require a total of 13.4V due to the 3.8V forward voltage and head room requirements. At most, I would wire 2x 3W LEDs in series with the Femtobuck. With the solder jumper, the maximum the Femtobuck would theoretically allow is around 660mA at 12V as stated in the hookup guide.

    I was actually able to get 3x 3W Cool White LEDs [ https://www.sparkfun.com/products/13105 ] to light up with both a 9V/650mA and 12V wall adapter. Solder was added to the solder jumper. The Femtobuck and 3x 3W LEDs was pulling about 0.26mA @ 9.1V and 0.58A @ 12.32V. While it is not ideal, it appears that it is possible to power 3x LEDs in series with a 12V power supply. You just might not be turning on the LEDs to the maximum using the Femtobuck. Try testing it out with a multimeter set to its current setting to see what current your system actually pulls from your power supply.

    w/out Solder Jumper

    With one Femtobuck and 3x 3W Cool White LEDs, it was pulling about 0.21mA @12V.

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

    Fabric Piano Project Tips & Troubleshooting

    I skimmed through the Fabric Piano Project in the Sew Electric book. There should be basic example code on page 122 to test. Page 145 will include the code to use more than one key. Make sure to include the Arduino Capacitive Touch library [ http://playground.arduino.cc/Code/CapacitiveSensor ] :

    #include <CapacitiveSensor.h>

    On page 115 and 116, it goes over how to include the readCapacitivePin() function definition by adding a new tab and pasting the code from this website => http://sewelectric.org/misc/capacitivesensingcode/ .

    Loose Connection & Differences in Capacitance

    After extensive testing, I noticed the buzzer would go off depending on different conditions:

    Case 1: “Shorts”

    I did notice that when the pins for the keys were touching, it would cause the LilyPad SimpleSnap to play notes even when I was not touching the pin. This would happen when the project was running on its battery or when connected to a computer. Try checking for loose connections and removing any shorts.

    Case 2: Long Wire and Difference in Capacitance

    The buzzer would also go off if there was a long piece of the alligator cable or wire attached while the FTDI was attached to the board. This is probably due to the change LilyPad SimpleSnap’s total capacitance when your computer is attached. I would avoid having long conductive thread from the LilyPad SimpleSnap’s pin.

    Case 3: Differences in Capacitance

    A third case where the buzzer would go off is when I had a very long piece of alligator cable or wire attached to a pin. The LilyPad SimpleSnap was just powered by its battery and not connected to a computer. The pin would detect a difference in capacitance when the wire was hovering over itself.

    The Sew Electric book does talk about loose connections and shorts on page 151 and 512. Try looking at those pages for more information. Using a multimeter set to the continuity setting, you can also check for shorts [ https://learn.sparkfun.com/tutorials/how-to-use-a-multimeter#continuity ].

    What can help is adding a M/F premium jumper wire to GND. There might be a weird capacitance issue depending on how the fabric piano was made and this would stabilize the sensor values. Adding a layer of conductive fabric and a non-conductive piece of fabric under the keypads and LilyPad SimpleSnap (assuming that the conductive whiskers to not touch the conductive thread) will also help in stabilizing the values.

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

    Sleep Pin

    Make sure that you hold the sleep pin labelled “OnOff” high to keep the module awake. Just connect the pin to 5V.

    Default Baud Rate

    Default baud rate is 19200 baud as stated on page 11 of the Developer’s Guide [ https://cdn.sparkfun.com/datasheets/Wireless/General/RockBLOCKDeveloperGuideMk2.pdf ].

    Logic Levels

    Looking at the Developer Guide on page 4 and 11 [ https://cdn.sparkfun.com/datasheets/Wireless/General/RockBLOCKDeveloperGuideMk2.pdf ], it is recommended to use 3.3V digital signal levels for the UART connection. For a quick connection to your computer, I recommend using a 5V Vcc and 3.3V I/O FTDI cable [ https://www.sparkfun.com/products/9717 ].

    Otherwise, try using a logic level converter [ https://www.sparkfun.com/products/12009 ] if you are connecting to a 5V Arduino’s UART.