Member Since: June 26, 2012

Country: United States


CEO and Founder of Zackees Wearable Electronics.

Former software engineer at Google Earth.

  • I really wish this electronic had an under voltage lockout between the battery and the mainboard. This would prevent the device from running the lipo down to destruction when the user accidentally leaves the device on.

    A suitable component would be the MIC841.

    Sparkfun, it would be awesome if you could integrate the MIC841 into your LIPO chargers!!!!!

  • Lithium Battery Charge Current:

    In case anyone is interested in the charger current that this Arduino provides, according to the data sheet this Arduino uses a 10k resistor on the MCP charging component. According to the MCP data sheet, this results in a 100mA maximum charge rate.

  • Our experience with the mBed platform has been quite positive. I know that many of the reviews here are quite bad because of the offline access issues of the IDE.

    However, I want to note that the strengths of this platform are incredibly POSITIVE and should be emulated by the Arduino community as an example of how to do cloud compiling right.

    The good?

    • The IDE is in the cloud so setup involves registration with the website.
    • Demos on the website have a one button install feature that puts the code directly into your online IDE.
    • Code version management is done with mandatory mercurially SVC, built into the product. It works SEEMLESSLY! Multiple people can work on the same project and commit their changes incrementally.
    • The low level API is real C++ environment and doesn’t have any of the idiosynchriocies of Arduino’s IDE messed up C++ environment involving header inclusion, object file linking issues, and global library issues.
    • The API includes THREADING support out of the box and so far has a nice and clean object oriented approach.

    My experience with this platform was to make a quality assurance machine that would test the assembly of panels of electronics for our product, Zackees Turn Signal Gloves, and report which PCBA were failing. We have been extremely happy with the environment and we recommend that anyone who is looking for a really well functioning and integrated environment to get the job done give this platform a try.

    In closing, I’d like to say that the learning curve for the mBed platform was on par with the Arduino setup, but has better developer scalability as the project grows.

  • // Copyleft Zach Vorhies 2014
    // No rights reserved.
    // Tested on an ArduinoMega. Connect pins to RX and TX.
    // Usage:
    //  ColorDetector<HardwareSerial> cd(Serial3);
    //  void setup() { cd.begin(); }
    //  void loop() {
    //    if (cd.Update()) {  // True when new readings have occured.
    //      cd.PrintValues(Serial);  // print values.
    //    }
    //  }
    template<class StreamT>  // StreamT == HardwareSerial or SoftSerial.
    class ColorDetector {
      ColorDetector(StreamT& s)
         : input_(""), stream_(s),
           r(0), b(b), g(0),
           r_lx(0), b_lx(0), g_lx(0), total_lx(0),
           saturated(false) {
        input_.reserve(kStrLen);  // Upto 36 characters for the rgb+lx data.     
      void begin() {
        stream_.write("M3\r");  // Sets mode0 of the sensor.
      // Returns true if new values were parsed.
      bool Update() {
        while (stream_.available() > 0) {
          //if the hardware serial port_3 receives a char 
          //get the char we just received
          char inchar = (char);
          //add it to the inputString
          input_ += inchar; 
          if(inchar == '\r') {
            saturated = input_.indexOf('*') != -1;
            // Time to parse out the string into values.
            int* values[] = {&r, &g, &b, &r_lx, &g_lx, &b_lx, &total_lx};
            const int values_size = sizeof(values)/sizeof(values[0]);
            int i = 0;
            char cpy_str[kStrLen];
            input_.toCharArray(cpy_str, kStrLen);
            input_ = "";  // resets the input.
            char* p = cpy_str;
            char *str;
             // delimiter is the comma
            while (i < values_size && (str = strtok_r(p, ",", &p)) != NULL) {
              String cpy = str;
              *values[i] = cpy.toInt();
            return true;
          // No update yet.
          return false;
      void PrintValues(Stream& output) {
        int* values[] = {&r, &b, &g, &r_lx, &b_lx, &g_lx, &total_lx};
        const int array_size = sizeof(values) / sizeof(values[0]);
        for (int i = 0; i < array_size; ++i) {
          if (i < array_size - 1) {
        if (saturated) {
      int r, b, g;
      int r_lx, b_lx, g_lx, total_lx;
      bool saturated;
      static const int kStrLen = 38;
      String input_;
      StreamT& stream_;
    ColorDetector<HardwareSerial> color_detector(Serial3);
    void setup() 
    void loop() {
      if (color_detector.Update()) {
  • This mic is very heat sensitive! You can easily kill it with a heat gun!!

    I was making some voice-reactive jewelry with this little mic. My jewelry uses U-mold plastic; I use a heat gun to mold the plastic and add layers to the jewelry. Heating the plastic to make it playable resulted in the mems mic board not working. I did this twice before realizing what was happening. Please be aware!!!

  • Does anyone know the charge rate on for the on-board MCP73831?

  • Reading the data sheet it appears that this sensor has a illuminance response rate of 400ms, is that right?

  • I had the same problem even with the Adafruit Mic Amp. However I was able to solve the problem on the Adafruit Mic by putting 4.7uf decoupling capacitor on the batteries terminals.

  • I’m having an issue with this board with relation to noisy electret mic (op-amp) readings? and wondering if anyone else is experiencing this and knows what a solution is.

    I attach the mic to any of the analog inputs in the Lilypad Arduino USB. I get almost near constant 1024 readings f it. Funny thing, it does this also with a brand new arduino lilypad as well.

  • The downside to these lights is that they push all of their light in a 20 degree band. They are also not as efficient as the top-notch stuff on the internet.

    For these lights here the data sheet says 10,000 mcd at a 20 deg viewing angle. Calculating the total light output of 0.95 lumens.

    However, we found these automotive ones that have 2100 - 3100 mcd at a 120 degree viewing angle, which is ~8 lumens.

    So if you want a wider angle or want to pump light into a fibre optic cable then I suggest checking out

    Just as a disclaimer, I don’t have any vested interest in the above company. I just need really bright lights :)

No public wish lists :(