Friday May 08, 2009

Amusement Parks and Accelerometers

Amusing Ourselves with Sensors in the Field

My son's math/science club had an opportunity to see a real rocket launch at Vandenberg Air Force Base this week. Unfortunately, the weather was bad enough that our NASA hosts decided not to attend the launch which took away our inside track to the day's activities. We were already half way to Vandenberg (approximately 250miles away) when we found this out. Faced with the prospect of a long trip with the chance of seeing nothing through the fog we decided to change our plans, so we vectored off to Santa Cruz and its famous beach boardwalk for a little Sun SPOT-based physics fun.

You see, Santa Cruz boardwalk includes a bunch of amusement park rides. Our crack team of researchers (the 4th & 5th grade math/science club) decided to use the Sun SPOTs to measure the G forces experienced in some of these amusement park rides. Fortunately, the standard Sun SPOT Telemetry Demo is just perfect for this application. It displays, in real time, the output of all three axes of the accelerometer and a total G force reading. By simply putting a Sun SPOT in someone's pocket while they ride the ride, we can see what G forces their body is being exposed to. We measured 5 different rides:

  • Starfish - a spinning ride
  • SeaSwing - a large rotating swing ride
  • Bumper Cars
  • Hurricane - a roller coaster
  • Drop Zone - a vertical drop ride

Lets take a look at the project in a little more detail and see what we can learn.

Accelerometer Background

We used the eSPOT 3-axis accelerometer to monitor the motion. The Telemetry Demo application consists of two parts, one that runs on the eSPOT device and one that runs on the host computer. The application that runs in the eSPOT device takes accelerometer readings of all three dimensions and sends them over the base station to the where the data is received and plotted live on a laptop computer and saved for later analysis. (Yes, as you may have guessed, this implies that I was carrying a laptop computer around an amusement park - I wear my geek badge proudly) Accelorometer.png

The accelerometer on the eDemoBoard is actually 3 separate accelerometers, one for each dimension. The accelerometers are very tiny Micro Electro-Mechanical Systems (MEMS) devices hidden in a computer chip package. You can imagine that an accelerometer is made of two main parts suspended between two mounts. One of the parts connects to both mounts; we'll call it a bridge. The other only connects to one of the mounts, we'll call it the diving board. There is a mass on the end of the diving board so that it will wiggle around with respect to the bridge when the accelerometer is moved.


If you were to grab this device by the two mounts and wiggle it up and down you can imagine that the diving board would bend slightly. When a charge is applied to the bridge and diving board, it creates a sort of capacitor. As that diving board bends ever so slightly, it changes the capacitance between those parts and this can be measured. This allows the accelerometer to report a signal that corresponds to the movement of the device in one dimension. Also, note that the diving board can only bend in on dimension (up and down in the diagram), not side to side. If you imagine three of these packed very tightly together, each oriented 90 degrees from the other, that is a useful model for what goes on inside the accelerometer.

You can also imagine that when a eSPOT device is lying on its back, just sitting stationary, the the Z axis diving board will be bent down slightly by gravity. In fact, it will have 1G (or 9.8 m/sec\^2) of bend to it. Now if you turned it over so that it was lying on it's sun roof, that same Z-axis accelerometer would have its diving board board bending the other direction. Therefore, it would measure -1G (or -9.8 m/sec\^2). Meanwhile, in both of these orientations, the X and Y axis accelerometers would have no gravity working on them so they would have a zero reading.

In fact, it is interesting to note that when the Sun SPOT device is not accelerating (or decelerating), the accelerometers an tell you how the device is tilted. In other words, it can tell you which way is down. That is because the square root of the sum the squares of all the values will add to 1G in a downward direction no matter what way you tilt it. If the X axis accelerometer is measuring a non-zero value and the Y axis accelerometer is measuring a non-zero value, but the Z axis accelerometer measures 0G then Z axis must be parallel to the horizon.

The Telemetry-onSpot samples the three accelerometers every 10 milliseconds and packages the readings into a wireless network packet to be sent to the host application. The Telemetry-onHost application receives these packets and plots them on a moving graph. The green, blue and red lines represent the X, Y and Z axes respectively. It also calculates the the sum of the absolute values of all three readings together. This can be useful in determining the over acceleration applied to the device.

The Experiment

We were interested in measuring the amount of acceleration that our subject's body is exposed to as it rides the amusement park rides. It is easy to max out the 6G accelerometer readings by just waving a Sun SPOT back and forth vigorously in your hand. Clearly this would not mean that the subject's entire body was experiencing many Gs worth of force, only their hand. So we determined that it is important to make sure that the device is securely fastened somewhere near subject's center of gravity. We found a front pants pocket to be a fine place put it. Also, it is handy that the Telemetry-onHost application provides some smoothing functions that can reduce some of the noise due to ride vibration.

Now its time to ride some rides.


The starfish is a spinning ride that basically goes around in a circle at high speed. What we expect to see then is the force of gravity pulling down, plus the cetrifugal force of the ride spinning that makes you feel yourself pulled to the outside. We see a slight oscillation in the data that is either caused by the ride not being level, or slight speed variations in the motor. Generally, however, we see observe we are measuring about 1.3G or ~12.5 m/sec\^2 total acceleration. If we assume that the centripetal force of the ride is at 90 degrees to the gravitational acceleration, and we know that gravity is contributing 1G worth of acceleration, we can calculate how much acceleration the ride is contributing with the following formula:


By plugging in values we can deduce that the ride is providing an extra ~7.8 m/sec\^2 of acceleration or about 0.8G of lateral acceleration. If we knew the diameter of the ride, we could probably calculate the speed the ride was spinning.


A CSV file of the raw data is available here:

Sea Swing


Like the Starfish ride, this ride spins, but it adds an extra twist. The riders are suspended in a swing and the entire ride tilts. Because of the tilt, the rider feels more acceleration on the upswing and less on the downswing as the ride goes round and round. This is borne out in the data that we see below. Once again, its very easy to observe the period of the rotation.

A CSV file of the raw data is available here: seaswing.csv

Bumper Cars


In the bumper cars we see a lot of shaking around, but generally an average of 1G punctuated by the occasional jarring 2G jolt of a collision. This data is much more noisy and ultimately much more difficult to draw conclusions from.

A CSV file of the raw data is available here: bumper2.csv


The hurricane is a small roller coaster, but it gives us the most acceleration of any of the rides; approximately 4Gs! We can see that the ride lasted only about 40 seconds, but a lot is packed into that short time. If you look closely you can also see a few places early on where the Sun SPOT device changes orientation slightly. These are caused by the subject sitting down and the roller coaster and then heading up the initial hill. Also note that it is really hard to tell a turn from a hill. Because the roller coaster tilts around corners, both tend to push the subject down into their seat. As with many experiments, a gyro would be very helpful here because we could then determine how the subject is tilted in order to understand how to the forces that we are measuring are being applied. For more on this see my Location, Location, Location blog entry.


A CSV file of the raw data is available here:

Drop Zone

dropzone.jpg   DropZoneLong.jpg

This ride carries the subject up and down a very large tower at high speed. It created some of the prettiest data for us to work with. Because the motion of the ride is restricted to a single dimension, we don't have to worry about any missing data on rotation, so we can really figure out some interesting things about this ride. As you can see, there are three main up and down thrusts followed by three or four successively smaller moves. After a couple of runs (good research requires reproducible results), we found an average of about three Gs of acceleration during the initial lift. Interestingly, our data also shows that the free fall portion of the ride is not actually a free fall. In fact the data seems to suggest that the subject is pulled down with an acceleration of approximately -1G!

A CSV file of the raw data for the two runs are available here: dropzone1.csv dropzone2.csv

Your Challenge

Take some of this data and see if you can analyze it further. In particular the DropZone ride is appropriately constrained to provide an interesting area for further exploration. An interesting exercise would be to take this data and calculate how high you think the ride lifts you and how fast you go up and down. Let me know what you come up with.

If there is interest, I can analyze the data in more detail and see what we come up with in a future blog.

Don't let anyone ever tell you that research isn't fun!


Wednesday May 06, 2009

Sun SPOT Red (V5.0) Beta

There is now a new Beta version of the Sun SPOT software available.

It includes the latest features like:

  • Radio View - wireless network analysis tool
  • Robot View - Robot Simulation
  • Link Quality Routing Protocol - more reliable wireless communication
  • SPOT Web demo - web integrated sensors
  • Optional encryption library and demos
  • Yggdrasil data collection framework and demos
  • more

Its freely available, easy to install and you can always revert back to previous versions. Take a look for yourself and let us know what you think on the forums. If you haven't installed the development kit yet, you can do so here.

Once you have done that, you can get the beta version using SPOT Manager by clicking on the "Preferences" tab and choosing "Beta Update Center"


Then go to the "SDKs" tab, choose the lasted release and click "Install." Its very easy.


Have Fun!

Thursday Apr 30, 2009

Sun SPOT Community: Call for JavaOne participation

I have Two bits of news:

We are looking for your Sun SPOT project video

JavaOne is coming up and Sun SPOTs will be featured in talks and a "Birds of a Feather" as well as at the Change (Y)our World section of the main floor. One of the things that we will have in on the show floor is a large screen showing some of the projects that the Sun SPOT community has done with Sun SPOTs. If you have a project, and would like to make a short video of it in the next two weeks, we may show it on the big screen. Submit your videos to YouTube with the tag "spaughts" and drop me a line to let me know that you'd like participate. No project is too big or two small. Just give us a short video that shows us anything fun, cool, interesting you have done with Sun SPOTs.

Students get in Free!

If you are a student and you are interested in attending JavaOne, you can get in for free. I just learned about this program for students. In fact educators who bring 10 students can also get in for free. That's a pretty sweet deal.

Hope to see you there.

Thursday Apr 23, 2009

Radio View

We have some pretty exciting new features planned for upcoming Red (V5.0) release of the Sun SPOT software environment. In particular I'm really pleased with some of the improvements in the radio stack. We have improved the performance of the system over multiple hops significantly. One of the main difficulties of programming these distributed wireless devices is that it is often debugging communications. The current development release of the Sun SPOT Java Development Kit includes a new Solarium view called RadioVIew. It shows the current state of the network of Sun SPOT devices.


The RadioView is built into Solarium and allows you to see the topology of your radio-space. What deivces can "hear" each other and what ones can't. This can help debug some of those nasty mutihop radio bugs and aid you in tracking down dead points in your radio space. Additionally, you can get information about each node and each link from the view to see what the signal strength is like for any particular link.


How to try it out for yourself

Since our development is completely open, you can take a sneak peek at some of these features now as we develop them. First make sure that you have installed the Sun SPOT Java Development Kit. In the SPOT Manager Tool, select "Dev Preview" under the "Preferences" tab of SPOT Manager.


Once you have selected "Dev Preview" return to the SDK tab and you will find all the developer releases under "Available SDKs." Install the latest red-XXXXXX release. Then upgrade your Sun SPOT devices. Remember, its an unstable developer build, but any time you run into too many bugs you can always revert back to your previous version of the SDK.


Once you are up and running, open Solarium and create a RadioView under the "Views" menu. It takes a few seconds for it to interrogate the network, but once you see your devices there, click around to get information about what is happening.

Also, don't forget that, as with any other Solarium view, Radio View can be "docked" to other Solarium views or made into an independent window simply by clicking and dragging on the area just below the titlebar of the window.


Wednesday Apr 22, 2009

Another contest for those of you 17 or under

Here's another contest for anyone 17 or under who uses open source technology (like the Sun SPOTs hint hint). The contest, called Digital Open, is sponsored by the Institute for the Future, Boing Boing and Sun Microsystems.

Submissions are being accepted for anyone under 18 who creates open projects in the following categories:

It seems to me that Sun SPOT projects would fit in multiple categories!! Have fun!

Take a look at Digital Open. If you don't qualify, pass the info on to a nearby teenagers who would.

Monday Apr 20, 2009

Sun SPOT Robot Simulation

The upcoming release of Sun SPOT software (Red v5.0) will feature a new robotics simulator built into to Solarium. It allows you to use virtual Sun SPOTs to program virtual robots using the Sun SPOT Java Development Kit. The great thing about it is you can download it and use it for free right now! Even if you don't have Sun SPOTs.


The simulation roughly mimics the environment that is used in a competition held in San Diego each year called IARoc sponsored by Wintriss School. In this competition students use Sun SPOTs to control and iRobot Create to navigate a maze. The Create is very much like its more popular sibling, the Roomba except it doesn't suck... by which I mean it has no vacuum... (Roombas are great, BTW) The combination of a Create and a Sun SPOT is fantastic for learning the basics of robot motion and navigation. In the simulation you write software for a Sun SPOT, and then in Solarium, create a new Robot View and Add a Robot. This will create a Robot/VIrtual Sun SPOT combination. Back on the Grid View, you will now see a Virtual SPOT. You deploy and run your software on this Virtual SPOT and it will control your simulated robot. You have your choice of three different environments to run in; an empty room, a maze, or an obstacle course. Each view includes an 'X' as a starting point and a 'O' as an ending point. Your robot includes sensors that allow you to sense when your robot is over one of these marks. We also provide a sample application that can find the center of the room, or if you poke around in the code a little, you'll see a simple wall follower. Its just enough to get you started.

Its great fun! ...and you can get as fancy as you like. For instance, you can create multiple robots that will interact in a single view. These robots can interact with each other. They can run the same code or different code... whatever you like. Of course, they can also use the the Sun SPOT radio communication library to communicate with each other. This way your robots can cooperate to carry out a task.

And of course, if it doesn't do what you like, remember you have all the source code to the entire system, so you can make it do exactly what you would like. Give it a try!

To use the simulator follow the instructions here.


Friday Apr 17, 2009

Java, Sun SPOT and the FIRST Robotics Competition


We on Project Sun SPOT are on a mission to drive the adoption of Java on small devices everywhere. We believe that with Sun SPOT devices we can help speed the onset of the Internet of Things by providing smart, connected devices and tools to developers, students, researchers and hobbyists. That is why we are so excited this week to announce the port of the Sun SPOT platform to the FIRST Robotics hardware (the National Instruments Compact RIO) and thereby making our software environment available to some of the best and brightest high school students. Yet another step toward Java everywhere. ...and this is a big step


The FIRST Robotics Competition is a truly inspired event originally created by Dean Kamen the inventor of the Segway. Each year tens of thousands of high school students compete with each other in head to head robotics competition. Its really a great event. I've attended the regional competition in San Jose several times now and what I've seen is nothing short of amazing. First, the robots are impressive. Its really hard to believe that high school students are able to put together such fantastic devices. These robots are usually quite large and heavy (the size of several of the students combined). They are designed to fulfill some interesting task such as retrieving large balls (several feet in diameter) and lifting them into a hoop six feet high. The teams go head-to-head with multiple robots on the playing field at one time. This year the challenge has the teams collecting some balls and trying to place them in a trailer that the opposing team is pulling behind their robot, all the time protecting their own trailer. This leads to the second amazing thing about the FIRST competition. It is great entertainment. At the regional championships in San Jose, I am just one of thousands of spectators watching the event. There is music and cheerleading and mascots and a general party atmosphere. It nearly brought a tear to my eye when I saw thousands of screaming fans watching a bunch of (and I use the term affectionately) nerds out there doing their thing. The competition is fierce with often intense rivalries between schools. While the spirit of competition is strong on the playing field, what is truly amazing is the attitude in the pits. As a walked around looking at the amazing creations, I often overheard competitors helping each other out, lending tools, advice, muscle power and general moral support. These kids get the idea that the most satisfying competition is the one where everyone is performing at their best. On the field they are competitors but in the pits they are on a mission together to change the world. These are our future technical leaders.


Right now I'm in Atlanta to attend the national competition at the GeorgiaDome... The freakin' GreorgiaDome! the same thing on an even larger scale. Its all very impressive. Its clearly a life experience for the kids lucky enough to compete here. Over the last couple of days I've gotten to meet some of these competitors. They are only in high school, but this competition has already given them real-world war stories that come from trying to make something complex come together under an aggressive time schedule. This is great, real-world experience.


Where does Sun SPOT fit in?

The folks at Worchester Polytechnic Institute (WPI), with some help from us, are porting the Squawk virtual Machine that underlies the Sun SPOT software stack to the controller used for this competition. This means that in next years competition the students will have the opportunity to program their robots in Java. It also mea

ns they'll have access to some of the libraries and features that we've built in Sun SPOTs. It seems that last year they did a survey of the students, and a huge percentage of them asked for Java. This makes sense since Java is the language they are tested on in their advanced placement exams. It just so happens that we have a great little open source Java environment at the core of the Sun SPOT system called the Squawk Virtual Machine. So last year, several students from WPI joined us for the summer to try porting the Squawk VM to the Compact RIO. It worked well. Now we are well on the way to making the platform available to the students so that they will have new tools to do their magic. You can learn more about FIRST and the Sun SPOT Java software here and you can get some background on the port itself here.

Welcome FIRST competitors to our little corner or the world of builders and makers. May you take your skills and competitive spirit and save the world for all of us!

_MG_1100.jpg _MG_1085.jpg _MG_1083.jpg  _MG_1081.jpg _MG_1109.jpg _MG_1113.jpg

Wednesday Apr 08, 2009

Jazoon presentation contest

Anyone out there want a chance to show off their Sun SPOT skills and win a trip to Zurich?

Jazoon09 is a Java technology event held in Zurich, Switzerland, June 22 to 25, 2009.   Jazoon Rookie is a contest associated with Jazoon09 that lets bright young developers (must be age 26 or younger on June 22, 2009) win a free trip to the conference. Entrants make a <20 minute video of a presentation their work (a technical talk of your choosing). If your video is one of three chosen, you will be eligible to present your talk live in Switzerland at Jazoon09 (conference and travel fees paid). There isn't much time. To enter you need to submit a video by April 23... so get working now. I'd love to see some innovative Sun SPOT talks among the entries.

Don't forget that if you make a video of your talk or anything else that relates to Sun SPOTs, tag it with the keyword "spaughts" so that it will show up in our feeds (

Thanks to Gary Serda for the tip on Jazoon.

Tuesday Feb 10, 2009

How Sun SPOTs are made

 Mg 3256-1

For those of you who have been following the story of Sun SPOTs for a while, you know that this has grown from a little Sun Labs research project into quite an endeavor. Sun SPOTs are used around the world by students, researchers and hobbyists whose creative minds apply them to exciting new applications every day. We originally built the Sun SPOT as a platform for our own research. They worked out very well, but we pretty quickly realized that they were just too much fun for us to just keep in our labs. The ideas started coming: Wireless sensor networks, robotics, novel user interfaces, control applications... you name it. There was no way that we could do all these interesting applications ourselves. Plus, if we could think of interesting applications, just imagine what all of you would do if you got your hands on them? We just had to get these out into the world. Of course, this meant that a small group of researchers had to start thinking about how to manufacture and distribute these gadgets - a bit of a stretch, but we were spurred on by the idea that great things would happen if we just got them in people's hands. "If you build it, they will come." We were right and the Sun SPOT community was born. It's been quite a ride so far and it doesn't show any sign of slowing down! - Thank you all!

 Mg 3252-1 Mg 3239-1

As part of this process we've gotten to be involved in a side of things that researchers rarely get to see. We plan and execute the manufacturing of our own product - not something productized by someone else, but our own gadget. It's gotten to be quite a production. We've put together a little video to show how these little devices get made. Its pretty cool.

Anyone else want to try building Sun SPOTs?

 Mg 3246-1

Because of the popularity of Sun SPOTs, manufacturing Sun SPOTs is getting to be a bit of a big deal and even a bit of a distraction from our research. We would love to be able to focus more of our energy on our software environment and HW design rather than manufacturing. We're pleased that we designed Sun SPOTs to inspire new applications and seed an industry, and it seems to be working. However, in the end, Sun's interest in Sun SPOTs is mostly in the software and enabling new hardware, not building the devices ourselves. Other companies are better equipped to build small gadgets. We've already been fortunate enough to license Java on billions(!) of cellphones, yet we don't build phones. We would love to be able to do the same thing in the trillions of sensors and embedded devices that the world will be using in the upcoming years. Of course, Sun SPOT hardware is all open source, so anyone can build these. In fact, we are actively looking for others who would like to take on manufacturing and distributing Sun SPOTs. Its the next logical step for our growing community. So if you want to build and/or distribute Sun SPOTs, drop me a line... let's talk.

Tuesday Dec 02, 2008

Spot bling

eProtoboardSun SPOTs aren't just for any old geek. No sir. They are for the "discerning geek." The geek who knows a thing or two about what she wants... The geek who understands the importance of appropriate accessorizing. You say you already got yourself the Brilldea eProtoboard?

Well, now there is more bling for the Sun SPOT who has everything, and its just in time for the holidays. has just introduced the Breakout Board for the Sun SPOT. I've used this board and I must say its pretty fun. It brings out all the connectors of the eDemoboard to a much more useable connectors. There is a serial port with DB-9 connector. There are servo connectors that can connect directly to either standard or vEx™-style servos. All the I/O lines for both analog and digital I/O come out to convenient screw terminals and even board through holes where you can connect aBreakout board scope probe if you are so inclined. The on board buttons are also replicated on this board to give you some flexibility in UI prototyping. It connects to the Sun SPOT header via the 20-pin header (don't forget the cable!). It is all very convenient. Give it a try.


Roger Meike, Senior Director of Area 51 and Director of Operations Sun Labs


« April 2014