I’m pleased to announce that the SW1 includes a new calibration rod. The original PVC pipe calibration rod worked well, but it was inconvenient to pack and ship. The length of it required a large box with lots of void fill, and the dimensional weight of the box (used for some shipping pricing) was much higher than the actual weight. The reduction in shipping cost to customers within the US is slight, but it is significant to international customers. The new rod is also easier to transport and store.
The new calibration rod is built upon an extension rod for camera equipment. A 3D-printed weight is permanently attached to the end to bring the swingweight of the extended rod up to approximately 300 kg·cm². When collapsed, it is under 8″ (20 cm) long, and extended, it is just over 29″ (74 cm) long. Each rod is individually measured, and the calibration values in the fully-collapsed and fully-extended states are printed on a wrap-around label.
The calibration values of the original calibration rods were calculated based on length and mass measurements of the components. For the new rods, calibration values must be determined from inertia measurements, which I originally avoided. However, to verify my length and mass measurements, I’ve been measuring calibration rods relative to my personal calibration rod for over a year. I’ve also better characterized the linearity of the SW1 and created new reference rods optimized for measuring the new rods. I’m now confident that I can produce accurate calibration rods based on inertia measurements.
Starting now, all SW1s will ship with the new calibration rod.
I realize that some people who ordered just before the switch may be disappointed. Rest assured that the original calibration rod works just as well to calibrate the SW1. However, for the next couple months, if you ordered an SW1 on November 1, 2022, or later, I will sell you a new calibration rod at a discounted price. Please contact me at support@briffidi.com if you’re interested.
Recently, I had the opportunity to test a Dunlop swingweight machine, so I measured the set of reference rods from the Briffidi SW1 Linearity Testing. I had previously seen data from an old Babolat RDC (Spurr) that showed significant non-linearity across the measurement range, but I expected the modern Dunlop machine to be better. The following data is from just one machine, and I hesitated to share it, but if I were any other tennis nerd without a competing product, I would have shared it without even thinking.
I verified that the Dunlop machine was calibrated and level. As describe in the SW1 testing, the reference rods were calculated from mass and length measurements. I measured the swingweight of each reference rod, in both orientations, on the Dunlop machine. The results are summarized in Table 1, and the deviation is plotted in Figure 1.
Calculated (kg·cm²)
Mean Measured (kg·cm²)
Deviation (kg·cm²)
0.00 (empty)
27.0
27.00
25.21
46.0
20.79
50.07
66.0
15.93
100.23
108.0
7.77
149.89
149.0
0.89
202.74
198.5
-4.24
250.37
244.0
-6.37
303.71
299.0
-4.71
355.61
356.5
1.89
400.75
397.0
-3.75
Table 1 – Measurements of Reference Rods with Dunlop Machine
Except for the outlier at ~400 kg·cm², there is a clear pattern to the deviation results. I don’t know enough about how the machine works to explain that outlier. The Dunlop calibration rod is marked 200±1 kg·cm², but there is significant deviation even there. It measured 204 kg·cm² on an SW1. There is both a shift due to the out-of-spec. calibration rod and significant non-linearity across the measurement range.
My goal is not to disparage the Dunlop machine, but I don’t mind pointing out that a big brand name or price tag doesn’t ensure greater accuracy. Even with the considerable inaccuracy, the Dunlop is still a useful tool. It looks and feels like a device you’d see in a professional setting, and the racket cradle is quite nice. Most importantly, it provided repeatable measurements, and that’s enough to match rackets. However, even at equal cost, I’d pick the SW1, as the accurate measurements (along with my spreadsheet) usually allow me to hit my target specs on the first try.
I previously completed some linearity testing as described in Briffidi SW1 Linearity Testing, and I recently repeated the testing with the SW1 intentionally not level.
First, I leveled the device and then raised the rear foot by two turns (1 mm). I took measurements at ten points, as described in the prior post, except I reduced the number of measurements from five to two in each configuration, as five seemed like overkill. Then, I returned the rear foot to level and raised the left-side foot by two turns (1 mm), and repeated the testing.
The plots below show the results of the prior, level testing and the two non-level configurations. For each, I calculated the calibration values in two ways. For Figure 1, similar to the standard calibration procedure, I used the measurements nearest to 150 and 300 kg·cm². For Figure 2, I used the measurements at zero (empty) and nearest to 150 kg·cm².
With the standard calibration, using the measurements nearest to 150 and 300 kg·cm², the deviation is fairly small in the range of normal tennis rackets, regardless of leveling. With the rear raised, the effect of gravity is seen at higher swingweights. Gravity adds to the spring force and reduces the period of oscillation. With the left side raised, there is an effect at low swingweights that I don’t fully understand.
With the 0 and 150 kg·cm² calibration, the non-linearity of the measurements is a bit more apparent. Raising the rear actually seemed to offset some of the non-linearity present when level. Raising the left side seemed to add to it.
My take-away is that for measuring typical tennis rackets, calibration does a good job of compensating for leveling error. If you’re going to calibrate after, it’s not necessary to spend much time leveling. If your surface is fairly level, it’s probably fine to just leave the leveling feet all-the-way in. Leveling would still be important if you wanted to move the SW1 and not re-calibrate, perhaps if you were taking the device somewhere without the calibration rod. If the device is level when calibrated and level after being moved, the measurements should be good.
Since finishing the Android app, I’ve gotten back to a couple of other developments. I mentioned a twistweight adapter in another blog post, and I’ve received some interest in measuring the swingweight of pickleball paddles. In both cases, the measurements are outside the range of typical tennis rackets. I had done some linearity testing when developing the SW1, so I was pretty confident about measuring pickleball paddles. However, the twistweight adapter requires measurements down in the single digits, so I decided to do some testing all the way down to zero.
I fabricated and measured PVC pipe calibration rods at targets of 25, 50, 100, 150, 200, 250, 300, 350, and 400 kg·cm². For all but the three longest pipes, I measured the length with the same calipers (0.002 cm resolution) and fixtures that I use for production, but for the longer pipes, I used a stainless steel meter stick with etched millimeter markings and an eye loupe to estimate to the nearest 0.01 cm. The swingweight of each rod was calculated from the formula for a thick-walled, cylindrical tube with open ends. I used an outside diameter of 3.34 cm, inside diameter of 2.66 cm, and a pivot axis 10 cm from the end. The measurements and resulting swingweight are summarized in Table A.
Mass (kg)
Length (cm)
Swingweight (kg·cm²)
–
–
0.00
0.16175
34.726
25.21
0.20471
40.600
50.07
0.24517
48.882
100.23
0.26260
55.422
149.89
0.28281
60.522
202.74
0.32317
62.390
250.37
0.34187
65.86
303.71
0.35782
68.88
355.61
0.37052
71.27
400.75
Table A – Calibration Rods
With an SW1, I took measurements empty and with each of the calibration rods. PVC pipe is not perfectly homogenous, so I measured each rod in both orientations. For each configuration, I recorded the oscillation period of five measurements and averaged the results. These results are summarized in Table B.
Swingweight (kg·cm²)
Period A (s)
Period B (s)
Avg. Period (s)
0.00
0.17497
–
0.17497
25.21
0.39043
0.39005
0.39024
50.07
0.52219
0.52224
0.52222
100.23
0.71842
0.71842
0.71842
149.89
0.87020
0.87030
0.87025
202.74
1.00840
1.00627
1.00734
250.37
1.11624
1.11681
1.11653
303.71
1.22793
1.22635
1.22714
355.61
1.32378
1.32815
1.32597
400.75
1.40648
1.40619
1.40634
Table B – Periods of Oscillation for Each Calibration Rod
For an oscillating, horizontal spring pendulum as used by the SW1 and most other swingweight machines, the moment of inertia of the system (racket plus oscillating portion of the machine) is proportional to the square of the oscillation period. Figure 2 is a plot of swingweight versus the square of the oscillation period. A linear trend line fits very well. For the curious, the slope and y-intercept of this line are the calibration results displayed at the bottom of the Calibrate page in the app. However, the line is fitted exactly through points at the two calibration values (around 150 and 300 kg·cm²), and the sign of the y-intercept is flipped.
Looking much more closely, Figure 3 shows the deviation of the measured swingweight from the calculated swingweight of each calibration rod. The results of the fitted trend line in Figure 2 are used to calculate the swingweight from the period of oscillation. The first thing to notice is that the largest deviation is only 0.21 kg·cm². Second, the deviation doesn’t look entirely random. I would need to repeat this testing to see if this pattern persists. If it isn’t random, perhaps friction is causing the deviation to increase near zero. I’m not sure what else would cause such a pattern, but please leave a comment below if you have an idea.
When designing the SW1, I calculated the torque deviation introduced by using a linear spring to drive a rotating pendulum. I considered other designs, such as a spiral spring or using a drum and cables to convert linear spring force into torque. In the end, I chose to stick with a simple spring drive but oscillate through a smaller arc than other swingweight machines I’ve seen, as this kept the deviation below 1% at the extremes of travel.
How do these results compare to other swingweight machines? The only similar data I’ve been able to find is from an old Babolat RDC, and it was quite non-linear. I expect that modern machines are better, but I don’t know. I’d be happy to test that. If you’re in the DFW area and have another swingweight machine that I could use for testing, please send me a message at support@briffidi.com.
So, what did I learn?
The SW1 is very linear from zero to 400 kg·cm² and presumably beyond.
It’s capable of measuring twistweight very precisely and accurately with the adapter I’m developing.
It’s suitable for measuring pickleball paddles (with a suitable adapter for mounting the paddle).
It’s reasonable to calibrate the SW1 with a single calibration object. Did you lose the calibration weight for your SW1? I can replace it, but you could also set the calibration “Object #1” value to zero and take measurements for the first and last groups with only your phone in the cradle. Absolute accuracy may suffer slightly, but using these data and calibrating with the zero and 149.89 kg·cm² measurements, the deviation at 400.75 kg·cm² is still only 0.86 kg·cm².
1-NOV-2022 UPDATE: The Android app is out of beta. I have published updated Getting Started videos, and I’ve not received any reports of incompatibility (except virtual gyroscope sensors).
I’m pleased to announce that the Briffidi SW1 Android app is available in open beta. You can join the beta and then download the app from the Google Play Store.
a shape/size that fits securely in the cradle of the SW1 (see Physical Size/Shape)
Differences from the iOS App
To add your SW1 to the app, just scan the NFC tag under the Briffidi decal. There’s no need to navigate to the device page in settings and tap an “Add Device” button.
To delete a measurement or measurement group, long-press it and confirm instead of swiping it to the left.
The main button on the Measure tab displays “Place in Cradle” and is disabled until after the phone is in the mounted position.
Tested Phones
Google Pixel (original): Working
Google Pixel XL (original): Working
Google Pixel 6a: Working
Google Pixel 6 Pro: Working
Huawei Mate 20 Pro: Working
Samsung Galaxy Note 20: Working
Samsung Galaxy S20 FE: Working
Samsung Galaxy S21 Ultra: Working
Xiaomi Mi 10 5G: Working
Xiaomi Mi 10 Pro 5G: Working
Xiaomi Redmi Note 9: Not Working (virtual gyroscope)
If you try another phone, please leave a comment below or send a note to support@briffidi.com to tell me how it works. I’ll update this list as I hear from people.
NFC Scanning
The NFC reader in an iPhone is located at the top of the phone, so it’s easy to scan the NFC tag on the SW1. Many Android phones have the NFC reader located further down. You may need to lift the SW1 to gain sufficient access to the NFC tag. Because of this, I suggest scanning the tag before leveling the SW1.
Some Android phones have NFC scanning disabled by default. If you have trouble scanning, make sure that NFC is enabled.
It’s not necessary to scan the NFC tag except during initial setup. If it is easy to scan with your phone, you can scan it to open the app (and select the scanned device if you use more than one SW1)
Gyroscope Sensors
Some lower-end Android phones provide gyroscope capabilities via a virtual gyroscope. One tester who tried using the app on a device with a virtual gyroscope reported poor results.
There are apps, such as Gyroscope Test, that will provide details about the gyroscope sensor in your phone. If it reports the gyroscope as “virtual_gyro” or something similar, the app probably won’t work.
I also show a way to test the gyroscope using the app in the video at the top of the page.
Physical Size/Shape
Android phones come in many shapes and sizes. The SW1 was originally designed for the iPhone, which has typical size and shape. The phone-holding features of the SW1 cradle are able to accommodate most but not all phones. The phone must be secure in the cradle for accurate measurements.
A commenter recently asked on the Effect of Orientation post whether twistweight is really equal to the difference between spinweight and swingweight. It’s a common approximation based on the perpendicular axis theorem. That theorem is valid for planar (two-dimensional) objects. A tennis racket is nearly planar, but as mass deviates from that plane, twistweight will increase slightly.
To quantify the error, I looked back at the CAD model I had created for the Effect of Orientation post.
Here are the moment of inertia properties from CAD:
Swingweight: 306.82 kg·cm²
Spinweight: 320.01 kg·cm²
Twistweight: 13.58 kg·cm²
The difference between spinweight and swingweight is 320.01 – 306.82 = 13.19 kg·cm². The twistweight is 13.58 kg·cm², so there is an error of -0.39 kg·cm² or -2.9%. As expected, the actual twistweight is higher than approximated. This error will vary based on the accuracy of my CAD model and the geometry of the racket, but it should be somewhat close to that value.
I have a prototype device to measure twistweight more directly (UPDATE: The Twistweight Adapter is available.), as I’ve found a practical issue with determining it from spinweight and swingweight. That issue is a crooked butt cap. When I measure the swingweight of a racket and then flip it 180° and re-measure it, the measured value is often different by tenths of a kg·cm². That’s a small difference in terms of swingweight, but it’s large relative to twistweight determination.
I also have been 3D printing pallets with integrated caps. As seen in the photo, the pallet is two pieces, so the face of the butt end should be nearly perfectly square in the wider direction (affecting swingweight) and perhaps not quite square in the shorter direction (affecting spinweight) if the two halves aren’t perfectly aligned. The door is slightly recessed, so it won’t interfere with measurements.
I measured the racket in the photo using both methods on my SW1. In the first (bottom) measurement group, I measured the swingweight of the racket twice in one orientation and twice at 180°. In the second group, I measured spinweight in the same way. As expected, there was a bit of deviation in the spinweight measurement, likely due to misalignment of the pallet halves. The difference of 13.70 kg·cm² is circled in red. Then, I measured my twistweight device empty and finally with the racket. The more directly measured twistweight of 13.88 kg·cm² is circled in green.
In this sample measurement, there was less difference between the two methods than there was in CAD. I haven’t explored why. There is error in all the measurements, and I haven’t used the prototype twistweight device enough to fully understand its capabilities.
So, back to the original question: is twistweight really the difference between spinweight and swingweight? Not exactly, but it’s a pretty good approximation. Practically, as long as the butt cap of the racquet is square, it’s useful, especially when the goal is to match the twistweight of similar rackets.
This site uses cookies, as described in the Privacy Policy. By clicking “Accept All”, you consent to the use of ALL cookies. However, you may click "Cookie Settings" to provide a controlled consent.
This website uses cookies to improve your experience while you navigate through the website. The cookies that are categorized as necessary are stored on your browser, as they are essential for the basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent.
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
Cookie
Duration
Description
__stripe_mid
1 year
This cookie is set by Stripe payment gateway. This cookie is used to enable payment on the website without storing any patment information on a server.
__stripe_sid
30 minutes
This cookie is set by Stripe payment gateway. This cookie is used to enable payment on the website without storing any patment information on a server.
cookielawinfo-checkbox-advertisement
1 year
Set by the GDPR Cookie Consent plugin, this cookie is used to record the user consent for the cookies in the "Advertisement" category .
cookielawinfo-checkbox-analytics
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checkbox-functional
11 months
The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checkbox-necessary
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-others
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-performance
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
viewed_cookie_policy
11 months
The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Cookie
Duration
Description
tk_lr
1 year
The tk_lr is a referral cookie set by the JetPack plugin on sites using WooCommerce, which analyzes referrer behaviour for Jetpack.
tk_or
5 years
The tk_or is a referral cookie set by the JetPack plugin on sites using WooCommerce, which analyzes referrer behaviour for Jetpack.
tk_r3d
3 days
JetPack installs this cookie to collect internal metrics for user activity and in turn improve user experience.
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.
Other uncategorized cookies are those that are being analyzed and have not been classified into a category as yet.
Cookie
Duration
Description
m
2 years
No description available.
tk_ai
5 years
Gathers information for WordPress by themselves, first party analytics tool about how WP services are used. A collection of internal metrics for user activity, used to improve user experience.
tk_qs
30 minutes
Gathers information for WordPress by themselves, first party analytics tool about how WP services are used. A collection of internal metrics for user activity, used to improve user experience.