×

Our Technical Support team will be out of the office on Wednesday, April 23 starting at 12pm. Tech Support will reopen with normal hours on Thursday, April 24 at 9am. Thank you

According to Pete


After the success of our (relatively) new product post videos, we have been brainstorming new ways to create useful videos for the SparkFun community. So here's what we've come up with - a video segment called "According to Pete."

Pete Dokter is the Director of Engineering here at SparkFun and during this video segment, he will attempt to answer some questions we've either had posed to us, or just some basic engineering questions that might help you along the path of embedded electronics bliss. We hope these videos are helpful and feel free to pose additional questions in the comments for the next "According to Pete."


Comments 38 comments

  • Yet another Sparkfun star is born! Great first video, I’m really looking forward to this addition. Thanks Pete!

  • I’m surprised Pete had time to make this video instead of tracking down whoever trashed his office.
    Someone needs to run an Archeological dig on that workbench. Who knows what lost scientific marvels are buried in there!

    • What kind of geek would have spare room on his or her desk? In fact, a desk so tidy should be grounds for termination as it indicates slacking.

    • haha! he actually has 2 other desks in the office that are arguably worse.

      • I swear I wanted to clean it, but I got shot down. Mongo only pawn in game of life…
        But seriously, to say that I clean as I go would be a boldfaced lie. When I go, I just go, and I leave wreckage. To thine ownself be true.

  • THE DOKTER IS IN!!!!

  • Can’t wait for the 1st episode.

  • I just started a job rewinding solenoids coils, and all manners of electro-magnets for various power supplies and trip units. we also re-wind some electric motors' fields and armatures. It would be neat to hear what knowledge you have on the uses and theory behind different wound coiled wire, as something so simple in design can have so many simple applications for diy motors, magnets, power switching or musical applications. :D

  • Hey Pete - looking forward to your show. I’m a bit of a fan of The Ben Heck Show and I can’t get enough of that kind of stuff - so I’ll be waiting to see some of your projects with baited breath!

  • I’ve been looking for a new or used oscilloscope for ~$200-$500 for a while.
    But I’ve never owned or used one before; so I’m having trouble making a selection.
    On the cheap side; there’s Seeedstudio’s new 72Mhz DSO-Quad which I’ve been seriously considering.
    On the used side; there’s plenty of HP & tektronix 40Mhz and 100Mhz scopes on craigslist and ebay.
    On the new side, there’s a RIGOL DS1052E 50Mhz scope that can be reflashed to the 100Mhz version’s firmware.
    You guys probably have a stack you’ve tried, could you break a few down for us newbies, and how much oomph we need for troubleshooting simple projects?
    Maybe a quickie tutorial on poking an arduino and an mBed with a scope?
    You’ve had the multimeter tutorial for a while; which was great, but a video segment for Introduction to Oscilloscopes would be awesome.

  • Pete, regarding Sparkfun’s Rotary Encoder LED Ring Breakout Board - I was wondering if you ever ran across an I2C chip that did the Gray code decoding? I have seen articles about programming a PIC that can do this, but I have never seen anything using I2C. I was wondering if Sparkfun could offer a PIC kit that would Decode an Rotary Encoder, in a I2C format with I2C addressing, and a INT (like the NXP PCA9555 does)? My introduction to I2C came in the form of a NXP LED dimmer demo board (http://ics.nxp.com/support/boards/leddemo/). I really like their I2C LED dimmers and RGB Color Mixers. I am surprised that the Rotary Encoder breakout board used a TI chip instead of a NXP chip. I like how NXP allows you to us PWM to vary the brightness in software instead of TI’s resistive voltage divider.
    Also could you address the different Capture programs out there? I am frustrated with the size of the boards you can make with the free version of EAGLE light, plus the limit on the number of layers, but I am not impressed with the price of EMA’s ORCAD PCB layout tool either. I have had a licensed copy of the ORCAD Capture but to keep the thing active is way too costly. Could you please give us some better alternatives?
    Thanks Backlab1

  • Hi Pete
    Your involvement with the 6DoF sensor sparked me to ask this question:
    I reckon that many of the customers here at Sparkfun are pretty keen to get into robotics. Like myself, many of them might be interested in getting a robot to localize itself (look at how many IMU-oriented sensors you sell). Although there are lots of code snippets available to get the individual sensors up and running, I have found very little – please correct me if I’m wrong – documentation on how to fuse all the measurements together to get an accurate pose estimation.
    Let’s say that I have some basic background stats, maths and physics, and I’m more than willing to read up and understand things on control and estimation. Assume also that I have the following sensors:
    - Tri-axial gyroscope
    - Tri-axial magnetometer
    - Tri-axial accelerometer
    - 1 Hz GPS
    - Barometric pressure sensor
    I’d like to obtain a good estimation of my pose (position and orientation) in 3D space, as well as a confidence in my estimate. The Internet tells me that gyroscopes suffer drift and that a Kalman filter can be used to correct for this drift, when the gyroscope is used in conjunction with a correctly-aligned accelerometer / magnetometer. Moreover, I know that a barometric sensor may be used to estimate altitude and that GPS can give me a global positional estimate. There is also some chat about something called DCM, which seems to be related to the filtering part of the problem.
    However, I have no idea how to formulate and code this problem up! Do you have any suggestion on how to do so?
    Can you provide any help with this?

    • I’m not Pete, but I tought I could help a bit since I was faced with a similar problem last year; and found a solution working prety well.
      However, I only had a two axis accelerometer and a single axis gyro, but my solution can be extended pretty easyly.
      I’m assuming here your accelerometer is fixed with the body of your robot; so it tilts with your robot.
      So first of all, to get your robot inclinaison (roll and pitch), theorically, only an accelerometer would be sufficient: using the atan function and simple trigo, you sould be able tell the angle between the robot and the vertical. However; tis only worls when the robot is stationary; as soon as it moves, the accelerometers catches other things, which do not depend on your orientation, and it spoils your measure. Furthermore, it has a slow reaction time.
      On the other hand, an gyroscope does not give orientation in space, but only angular speed: therefore, you can tell wether you are rotating, how fast, and in witch direction,

      • …but you cannot tell the proper absolute orientation. However, it produces really clean data, very sensitive and vast acting, and is not affected by translationnal movements.
        The solution here consists of integrating over time the gyros measures: For example, you start with an estimation of your current orientation from the accelerometers data. (lets say; 10°) You wait (for example) 1 millisecond, then you read the gyro: You consider the returned angular speed (for example, 1°/s) as having been constant during that millisecond (which is pratically true since the time interval is small). Therefore, during that time, the robot orientation moved of 0,001° (1°/s * 0,001s); and it’s current orientation is now 10,001°. You repeat the process as fast as you can, to get the most precises measuremnts (the smallest the time interval, the most precises the measure).
        However, as you noted, the suffers from drift: sincw you cannot reduce the time interval to zero, each iteration introduces a

        • … small error that piles up pretty fast, and you move away from the expected value. To correct this; after each iteration, you “correct” the integrated angle with the angle calculated from the accelerometer. We may not have a lot of trust in this calculated angle; but we know it cannot be THAT FAR from the true angle, so correcting the integrated angle with it prevents the drift from growing out of bound. The correction is pretty simple: basically, each iteration, you add to your integrated angle about 1/1000 (find the best value experimentally; depends on your sensors) of the difference between the integrated angle and the calculated angle. So it will move the integrated angle a bit nearer calculated angle from the acceleremoters. (So, for example, my integrated angle is 10,0010°, but now my accelerometer says 10,5000°. The difference is 0,4990°, 1/1000 of that is (about) 0,0005°, so the corected angle is 10,0015°)
          That way, your integrated angle will be really near the true angle:

          • On short time intervals, the gyroscope will make sure the integrated angle reacts quicky and accurately; and the accelerometer produces neglegible effects. However, that correction ensures long ther fiability on the readings.
            However, I am sorry, I don’t have any idea about a precise calculation of the confidence for this method…
            Now, in your case, you can use this method with the two rotation axis parallel to the ground: each of these axis will have their own gyroscopes, and use two accelerometer axes. (They share z).
            For the last axis, yaw, you can use the same method, but instead of the accelerometer, which would be useless, you use the magnetometer to provide the rough estimate of the orientation.
            Now, I have NO idea how to get absolute lat/long/alt position of your robot; it is a similar yet different problem, and I have not had the occasion of working on it. However, as I know them, GPS can be really precises! (but under 1m, meaby you could use a similar methot for

            • combining GPS and accelerometers data…
              ALSO, I hav juste realsed, it might be mor precise to use the magnetometer as the rough estimation source for the roll, pitch and yaw, since it will not suffer from translationnal movement. I had not tought of that initially, since I did not have one when I made that algorythm.
              Sorry for the bad English, French is my native language.
              I hope this helps you, and gets you started!

              • Hi un_ordinateur
                Apologies for the delay in responding. I had forgotten about this post and only ended checking up on it today!
                I found an excellent document outlining exactly how the OpenPilot inertial navigation system (INS) fuses accelerometer, gyroscope and magnetometer sensor readings to maintain an estimate of the aircraft’s pose. I highly recommend you check this document out:
                http://wiki.openpilot.org/download/attachments/950387/INSGPSAlg.pdf?version=1&modificationDate=1293749715000
                Cheers
                Andrew

  • I think it would be cool to make a sortition… to give away nice product, or SFE credits to best questions or comments or anyone watching, etc… :P

  • I think this is great and I wish you the best with this, I know how hard it can be to explane tech stuff to someone that may not have as much tech knowlage under there belt and not being beside them to do it. POWER TO THE PETE!!!!!

  • Nice job Pete! I like what Tyler drew on your dry erase board.

  • ,,,, *wrong post …

  • Great idea! I love it. I’m looking forward to it. The only disappointing thing is that once a month isn’t enough :)

  • Awesome!
    I have a question:
    I noticed that I occasionally see Hakko FX-951 soldering stations in SparkFun videos. Hakko offers approximately 700 million different types of soldering tip that fit irons like the 951, and without using them it’s impossible to tell which ones are best for various tasks.
    I’m curious about the soldering tips you use for SMD and PTH, if there are other tips that you find useful to have around, and why. Do you issue a standard set of tips to people that do assembly?
    Thanks!

    • You should probably use the email address like the video says :)

      • I think general questions like this one are good for forums since a lot of reader would like to know. More specific, detail-oriented questions should probably be emailed.

        • I actually asked this in the forums in late January:
          http://forum.sparkfun.com/viewtopic.php?f=14&t=26044&p=118688#p118688
          However, I emailed the question in, and John from Tech Support got back to me fairly quickly and answered. In a nutshell, a hoof tip for large PTH (http://www.sparkfun.com/products/9928), a 0.1mm tip (http://www.sparkfun.com/products/619) for all other PTH, and hot air for SMD. If hot air isn’t available, then he just used the finest tip he could find.
          Personally, I don’t have a hot air station, and for SMD I like to use a fine, bent tip. When you tin one of these with solder, you can collect a very small amount of it on the outer edge of the bend. The object is to get a tiny amount of solder to collect in a droplet at the very end of the tip, so it can be “painted” onto the pin. I was just wondering if anyone else did it this way, because not all bent tips seem to be good for this, and if some of them are, I want to know which ones. :)

      • “We hope these videos are helpful and feel free to pose additional questions in the comments for the next "According to Pete.”“
        …?

        • Yeah what I meant is it is a lot easier to miss a comment than it is an email sent to a specific address. Wasn’t bashing on you or anything :)

        • Doh! Technically, use the email, but whatever. I think Matt (from production) is going to chime in on this one. But personally, I keep two tips: a fat one that will transfer tons of heat, and a slightly thinner one that I can maybe sorta get onto a 0.5mm pitch pin if I have to do a chip. I hate really thin tips. They transfer just enough heat to make a mess of your project and make you wish it were bigger.

    • Hi ubrch! In our assembly shop, we’ve been using Hakko FX-951s since last October. Despite being more expensive than the AOYUE irons that were a SparkFun staple for many years, they have proven themselves to be far handier and more user-friendly than their AOYUE brethren. We currently equip all of our uber-talented assembly technicians with 3 tips. These 3 tips have enabled us to tackle most every soldering challenge we’ve faced to date. Here are the ones we use on a daily basis:
      0.12" Bevel Tip (Hakko P/N: T15-BC3)
      0.05" Chisel Tip (Hakko P/N: T15-D12)
      0.008" Conical Tip (Hakko P/N: T15-B)
      We purchase our Hakko irons and tips from Techni-Tool: https://webvia.techni-tool.com/VIA/viaLauncher.jsp?targetPage=https://www.techni-tool.com/forms/catalog.shtml
      Depending on future components used in future designs, we may find a need to add more tips to our standard set up. But the conical, chisel, and bevel have served us well in all of our rework and PTH soldering. Hope this helps!!

  • I like this idea. (this is not a late April fools joke I hope though.)


This Week

This Month

Heartbleed

Happy Arduino Day!