-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCrowdsourcing Algorithms - News - SparkFun Electronics.html
2592 lines (1989 loc) · 157 KB
/
Crowdsourcing Algorithms - News - SparkFun Electronics.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!DOCTYPE html>
<!-- saved from url=(0034)https://www.sparkfun.com/news/2115 -->
<html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script async="" defer="true" src="./Crowdsourcing Algorithms - News - SparkFun Electronics_files/jquery.js"></script><script async="" defer="true" src="./Crowdsourcing Algorithms - News - SparkFun Electronics_files/visits"></script><script type="text/javascript" async="" src="./Crowdsourcing Algorithms - News - SparkFun Electronics_files/ecommerce.js"></script><script type="text/javascript" async="" src="./Crowdsourcing Algorithms - News - SparkFun Electronics_files/linkid.js"></script><script type="text/javascript" id="www-widgetapi-script" src="./Crowdsourcing Algorithms - News - SparkFun Electronics_files/www-widgetapi.js" async=""></script><script src="./Crowdsourcing Algorithms - News - SparkFun Electronics_files/iframe_api" async=""></script><script async="" src="./Crowdsourcing Algorithms - News - SparkFun Electronics_files/analytics.js"></script><script src="./Crowdsourcing Algorithms - News - SparkFun Electronics_files/2005040085.js"></script>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"> <!-- mobile mode if small screen device -->
<meta name="description" content="Looking for information in the noise: a contest to crowdsource a better algorithm for accelerometer data.">
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@sparkfun">
<meta name="twitter:url" content="https://www.sparkfun.com/news/2115">
<meta name="twitter:title" content="Crowdsourcing Algorithms">
<meta name="twitter:description" content="Looking for information in the noise: a contest to crowdsource a better algorithm for accelerometer data.">
<meta name="twitter:image" content="https://cdn.sparkfun.com/">
<title>Crowdsourcing Algorithms - News - SparkFun Electronics</title>
<link rel="stylesheet" href="./Crowdsourcing Algorithms - News - SparkFun Electronics_files/bootstrap.min.css" type="text/css" media="all">
<link rel="feed" type="application/atom+xml" title="Blog Posts" href="https://www.sparkfun.com/feeds/news">
<link rel="alternate" type="application/atom+xml" title="New Products" href="https://www.sparkfun.com/feeds/products">
<link rel="alternate" type="application/atom+xml" title="Product Changes" href="https://www.sparkfun.com/feeds/changes">
<link rel="alternate" type="application/atom+xml" title="Comments" href="https://www.sparkfun.com/feeds/comments">
<link rel="alternate" type="application/rss+xml" title="Videos" href="https://gdata.youtube.com/feeds/base/users/sparkfun/uploads?alt=rss&v=2&orderby=published">
<link rel="apple-touch-icon" href="https://www.sparkfun.com/fanboy.png">
<script src="./Crowdsourcing Algorithms - News - SparkFun Electronics_files/application2.js" async="" defer="" data-cfasync="false"></script><style type="text/css">.olark-key,#hbl_code,#olark-data{display: none !important;}</style><link id="habla_style_div" type="text/css" rel="stylesheet" href="./Crowdsourcing Algorithms - News - SparkFun Electronics_files/62bafc5998bf506eeddca7832f2ffd98.css"><style type="text/css">@media print {#habla_beta_container_do_not_rely_on_div_classes_or_names {display: none !important}}</style></head>
<body class="layout-full comments news-view no-touch" ontouchstart=""><div id="olark" style="display: none;"><olark><iframe frameborder="0" id="olark-loader"></iframe></olark></div>
<div class="wrapper" itemscope="" itemtype="http://schema.org/WebSite">
<meta itemprop="url" content="https://www.sparkfun.com/">
<div class="wrapper-inner">
<div class="header">
<div class="container">
<!-- Mobile Nav Button -->
<div class="mobile-menu-container left">
<a id="nav_toggle" class="mobile-menu-button nav_toggle" href="https://www.sparkfun.com/news/2115#"><span>≡</span></a>
<a id="search_toggle" class="mobile-menu-button" href="https://www.sparkfun.com/news/2115#"><span class="glyphicon glyphicon-search"></span></a>
</div>
<nav class="top-links">
<!-- Currency -->
<ul>
<li><div class="dropdown">
<a href="https://www.sparkfun.com/news/2115#" id="phone_hours" type="button" data-toggle="dropdown" aria-haspopup="true" role="button" aria-expanded="false">
Need Help?
<span class="caret"></span>
</a>
<div class="dropdown-menu pull-right need-help" role="menu" aria-labelledby="phone_hours">
<h4>Customer Service</h4>
<p><a href="https://www.sparkfun.com/orders/"><span class="glyphicon glyphicon-dashboard"></span> Track My Order</a></p>
<p><a href="https://www.sparkfun.com/support"><span class="glyphicon glyphicon-question-sign"></span> Frequently Asked Questions</a></p>
<p><a href="https://www.sparkfun.com/support#InternationalShipping"><span class="glyphicon glyphicon-globe"></span> International Shipping Info</a></p>
<p><a href="mailto:[email protected]"><span class="glyphicon glyphicon-envelope"></span> Send Email</a></p>
<p class="small text-muted">Mon-Fri, 9am to 12pm and<br>
1pm to 5pm U.S. Mountain Time:
</p>
<p><span class="glyphicon glyphicon-earphone"></span> (303) 284-0979</p>
<p><a data-toggle="chatpopup" href="https://www.sparkfun.com/chat/popup"><span class="glyphicon glyphicon-comment"></span> Chat With Us</a></p>
</div>
</div></li>
<li class="dropdown">
<a data-toggle="dropdown" id="currency-dropdown-toggle" href="https://www.sparkfun.com/account/currencies">
$ USD </a>
<ul class="dropdown-menu pull-right" id="currency-dropdown">
<li>
<a class="selected" id="currency_USD" onclick="$('#airlock').currency('change', 'USD'); return(false);" href="https://www.sparkfun.com/news/2115#">
US Dollar </a>
</li>
<li>
<a class="" id="currency_CAD" onclick="$('#airlock').currency('change', 'CAD'); return(false);" href="https://www.sparkfun.com/news/2115#">
Canadian Dollar </a>
</li>
<li>
<a class="" id="currency_AUD" onclick="$('#airlock').currency('change', 'AUD'); return(false);" href="https://www.sparkfun.com/news/2115#">
Australian Dollar </a>
</li>
<li>
<a class="" id="currency_GBP" onclick="$('#airlock').currency('change', 'GBP'); return(false);" href="https://www.sparkfun.com/news/2115#">
British Pound </a>
</li>
<li>
<a class="" id="currency_EUR" onclick="$('#airlock').currency('change', 'EUR'); return(false);" href="https://www.sparkfun.com/news/2115#">
Euro </a>
</li>
<li>
<a href="https://www.sparkfun.com/account/currencies">Manage Currencies</a> </li><li>
</li></ul>
</li>
</ul>
</nav>
<!-- Logo -->
<div class="logo-container">
<a class="logo" href="https://www.sparkfun.com/">
<span class="sfe-icon-flame"></span>
<span class="sfe-icon-sparkfun" data-icon="🔥">
<span class="visuallyhidden">sparkfun.com</span>
</span>
</a>
</div>
<!-- Tabs -->
<!-- also edit mobile tabs in .main-nav -->
<nav class="tabs-container">
<ul>
<li class="shop active"><a href="https://www.sparkfun.com/">Shop</a></li>
<li class="learn "><a href="https://learn.sparkfun.com/">Learn</a></li>
<li class="avc "><a href="https://avc.sparkfun.com/"><span class="sfe-icon-avc"><span class="visuallyhidden">AVC</span></span></a></li>
<li class="forum "><a href="https://forum.sparkfun.com/">Forum</a></li>
<li class="data "><a href="https://data.sparkfun.com/">Data</a></li>
</ul>
</nav>
<!-- Cart & User -->
<div class="user-container mobile-menu-container right">
<a id="account_toggle" class="mobile-menu-button" href="https://www.sparkfun.com/news/2115#"><span class="glyphicon glyphicon-user"></span></a>
<div class="cart mobile-menu-button">
<a href="https://www.sparkfun.com/cart">
<span id="cart_status" class="sfe-icon-carticon cart-empty">
<span class="visuallyhidden">Shopping Cart</span>
</span>
<span class="cart_count">
<span id="items_in_cart">0</span>
<span id="cart_noun">items</span>
</span>
</a>
</div>
<div class="user">
<!-- login modal trigger -->
<a class="btn btn-default" href="https://www.sparkfun.com/account/login?redirect=%2Fnews%2F2115" data-toggle="modal" data-target="#login_modal" data-remote="false">log in</a>
<a class="btn btn-default" href="https://www.sparkfun.com/account/make">register</a> </div>
</div>
<!-- Navigation / Search -->
<div class="main-nav-container">
<nav class="main-nav">
<ul>
<li class="tab shop active">
<a href="https://www.sparkfun.com/">Shop</a> </li>
<li class="tab learn ">
<a href="https://learn.sparkfun.com/">Learn</a> </li>
<li class="main-nav-products-toggle ">
<a href="https://www.sparkfun.com/news/2115#"><span class="glyphicon glyphicon-chevron-left"></span> Products</a>
</li>
<li class="start-a-project ">
<a href="https://learn.sparkfun.com/start_a_project">Start a Project</a></li>
<li class="products ">
<a href="https://www.sparkfun.com/categories">Products</a></li>
<li class="active">
<a href="https://www.sparkfun.com/news">Blog</a></li>
<li>
<a href="https://learn.sparkfun.com/tutorials">Tutorials</a></li>
<li>
<a href="https://www.sparkfun.com/videos">Videos</a></li>
<li>
<a href="https://www.sparkfun.com/wish_lists">Wish Lists</a></li>
<li>
<a href="https://www.sparkfun.com/distributors">Distributors</a></li>
<li>
<a href="https://www.sparkfun.com/support">Support</a></li>
<li class="desktop-toggle">
<a href="https://www.sparkfun.com/account/mobile_toggle?redirect=%2Fnews%2F2115">Desktop Site</a> </li>
</ul>
</nav>
<form id="search_form" class="search" action="https://www.sparkfun.com/search/results" method="get" itemprop="potentialAction" itemscope="" itemtype="http://schema.org/SearchAction">
<meta itemprop="target" content="https://www.sparkfun.com/search/results?term={term}">
<div class="ui-widget">
<input name="term" id="global-search" class="form-control ui-autocomplete-input" type="text" value="" placeholder="search..." itemprop="query-input" autocomplete="off">
</div>
</form>
</div>
</div>
</div>
<div class="container">
<div id="airlock" class="row">
<!-- Category List (mobile only) -->
<div class="category-nav-wrap">
<div class="col-xs-12">
<div class="category-nav">
<ul id="category_menu_list" class="sidebar sidebar-bottom">
<li class="main-nav-products-toggle separator back">
<a href="https://www.sparkfun.com/news/2115#">Back to main menu <span class="pull-right"><span class="glyphicon glyphicon-chevron-right"></span></span></a>
</li>
<li id="menu_category_new_products" class="super">
<a href="https://www.sparkfun.com/categories/new_products">New Products</a>
</li>
<li id="menu_category_top" class="super">
<a href="https://www.sparkfun.com/categories/top"><span class="sfe-icon-flame" style="color:red"></span> Top Sellers</a>
</li>
<li id="menu_category_featured" class="super">
<a href="https://www.sparkfun.com/categories/featured">SparkFun Originals</a>
</li>
<li class="super">
<a href="https://www.sparkfun.com/EAGLE" class="supercat-EAGLE "> EAGLE</a>
</li>
<li class="super">
<a href="https://www.sparkfun.com/blynk" class="supercat-blynk "> Get Started With Blynk</a>
</li>
<li id="menu_category_sale" class="super">
<a href="https://www.sparkfun.com/categories/sale">Sale</a>
</li>
<li id="menu_category_gift_certificates" class="super separator">
<a href="https://www.sparkfun.com/gift_certificates">Gift Certificates</a>
</li>
<li id="menu_category_103" class=""><a href="https://www.sparkfun.com/news/2115#" class="arrow">+</a><a href="https://www.sparkfun.com/categories/103">Arduino</a><ul style="display:none;"><li id="menu_category_242" class=""><a href="https://www.sparkfun.com/categories/242">Boards</a></li><li id="menu_category_243" class=""><a href="https://www.sparkfun.com/categories/243">Other</a></li><li id="menu_category_240" class=""><a href="https://www.sparkfun.com/categories/240">Shields</a></li></ul></li><li id="menu_category_273" class=""><a href="https://www.sparkfun.com/categories/273">Audio</a></li><li id="menu_category_176" class=""><a href="https://www.sparkfun.com/categories/176">Books</a></li><li id="menu_category_20" class=""><a href="https://www.sparkfun.com/categories/20">Breakout Boards</a></li><li id="menu_category_70" class=""><a href="https://www.sparkfun.com/news/2115#" class="arrow">+</a><a href="https://www.sparkfun.com/categories/70">Cables</a><ul style="display:none;"><li id="menu_category_140" class=""><a href="https://www.sparkfun.com/categories/140">Audio</a></li><li id="menu_category_150" class=""><a href="https://www.sparkfun.com/categories/150">Ethernet</a></li><li id="menu_category_72" class=""><a href="https://www.sparkfun.com/categories/72">Hook Up</a></li><li id="menu_category_75" class=""><a href="https://www.sparkfun.com/categories/75">Parallel</a></li><li id="menu_category_74" class=""><a href="https://www.sparkfun.com/categories/74">Serial</a></li><li id="menu_category_71" class=""><a href="https://www.sparkfun.com/categories/71">USB</a></li><li id="menu_category_234" class=""><a href="https://www.sparkfun.com/categories/234">Video</a></li></ul></li><li id="menu_category_51" class=""><a href="https://www.sparkfun.com/news/2115#" class="arrow">+</a><a href="https://www.sparkfun.com/categories/51">Components</a><ul style="display:none;"><li id="menu_category_21" class=""><a href="https://www.sparkfun.com/categories/21">AVR Microcontrollers</a></li><li id="menu_category_145" class=""><a href="https://www.sparkfun.com/categories/145">Buttons/Switches</a></li><li id="menu_category_226" class=""><a href="https://www.sparkfun.com/categories/226">EL</a></li><li id="menu_category_60" class=""><a href="https://www.sparkfun.com/categories/60">General</a></li><li id="menu_category_90" class=""><a href="https://www.sparkfun.com/categories/90">General ICs</a></li><li id="menu_category_89" class=""><a href="https://www.sparkfun.com/news/2115#" class="arrow">+</a><a href="https://www.sparkfun.com/categories/89">LEDs</a><ul style="display:none;"><li id="menu_category_173" class=""><a href="https://www.sparkfun.com/categories/173">10mm</a></li><li id="menu_category_171" class=""><a href="https://www.sparkfun.com/categories/171">3mm</a></li><li id="menu_category_172" class=""><a href="https://www.sparkfun.com/categories/172">5mm</a></li><li id="menu_category_170" class=""><a href="https://www.sparkfun.com/categories/170">7-Segment</a></li><li id="menu_category_175" class=""><a href="https://www.sparkfun.com/categories/175">Other</a></li><li id="menu_category_174" class=""><a href="https://www.sparkfun.com/categories/174">SMD</a></li></ul></li><li id="menu_category_88" class=""><a href="https://www.sparkfun.com/categories/88">Oscillators</a></li><li id="menu_category_124" class=""><a href="https://www.sparkfun.com/categories/124">PICAXE Microcontrollers</a></li><li id="menu_category_22" class=""><a href="https://www.sparkfun.com/categories/22">PIC Microcontrollers</a></li><li id="menu_category_29" class=""><a href="https://www.sparkfun.com/categories/29">SMD ICs</a></li></ul></li><li id="menu_category_2" class=""><a href="https://www.sparkfun.com/news/2115#" class="arrow">+</a><a href="https://www.sparkfun.com/categories/2">Development Tools</a><ul style="display:none;"><li id="menu_category_218" class=""><a href="https://www.sparkfun.com/categories/218">Android</a></li><li id="menu_category_103" class=""><a href="https://www.sparkfun.com/news/2115#" class="arrow">+</a><a href="https://www.sparkfun.com/categories/103">Arduino</a><ul style="display:none;"><li id="menu_category_242" class=""><a href="https://www.sparkfun.com/categories/242">Boards</a></li><li id="menu_category_243" class=""><a href="https://www.sparkfun.com/categories/243">Other</a></li><li id="menu_category_240" class=""><a href="https://www.sparkfun.com/categories/240">Shields</a></li></ul></li><li id="menu_category_219" class=""><a href="https://www.sparkfun.com/categories/219">ARM</a></li><li id="menu_category_10" class=""><a href="https://www.sparkfun.com/categories/10">AVR</a></li><li id="menu_category_164" class=""><a href="https://www.sparkfun.com/categories/164">Beagle</a></li><li id="menu_category_136" class=""><a href="https://www.sparkfun.com/categories/136">FPGA</a></li><li id="menu_category_25" class=""><a href="https://www.sparkfun.com/categories/25">LPC</a></li><li id="menu_category_230" class=""><a href="https://www.sparkfun.com/categories/230">mbed</a></li><li id="menu_category_184" class=""><a href="https://www.sparkfun.com/categories/184">.NET</a></li><li id="menu_category_241" class=""><a href="https://www.sparkfun.com/categories/241">pcDuino</a></li><li id="menu_category_9" class=""><a href="https://www.sparkfun.com/categories/9">PIC</a></li><li id="menu_category_125" class=""><a href="https://www.sparkfun.com/categories/125">PICAXE</a></li><li id="menu_category_233" class=""><a href="https://www.sparkfun.com/categories/233">Raspberry Pi</a></li><li id="menu_category_267" class=""><a href="https://www.sparkfun.com/categories/267">Teensy</a></li><li id="menu_category_169" class=""><a href="https://www.sparkfun.com/categories/169">WIZnet</a></li></ul></li><li id="menu_category_100" class=""><a href="https://www.sparkfun.com/categories/100">Dings and Dents</a></li><li id="menu_category_232" class=""><a href="https://www.sparkfun.com/categories/232">Educators</a></li><li id="menu_category_4" class=""><a href="https://www.sparkfun.com/news/2115#" class="arrow">+</a><a href="https://www.sparkfun.com/categories/4">GPS</a><ul style="display:none;"><li id="menu_category_265" class=""><a href="https://www.sparkfun.com/categories/265">Accessories</a></li><li id="menu_category_18" class=""><a href="https://www.sparkfun.com/categories/18">Antennas</a></li><li id="menu_category_86" class=""><a href="https://www.sparkfun.com/categories/86">Eval Boards</a></li><li id="menu_category_17" class=""><a href="https://www.sparkfun.com/categories/17">Modules</a></li></ul></li><li id="menu_category_272" class=""><a href="https://www.sparkfun.com/categories/272">Intel® Edison</a></li><li id="menu_category_276" class=""><a href="https://www.sparkfun.com/news/2115#" class="arrow">+</a><a href="https://www.sparkfun.com/categories/276">IoT</a><ul style="display:none;"><li id="menu_category_279" class=""><a href="https://www.sparkfun.com/categories/279">ESP8266</a></li><li id="menu_category_272" class=""><a href="https://www.sparkfun.com/categories/272">Intel® Edison</a></li><li id="menu_category_278" class=""><a href="https://www.sparkfun.com/categories/278">Particle Photon</a></li><li id="menu_category_274" class=""><a href="https://www.sparkfun.com/categories/274">RFduino</a></li><li id="menu_category_281" class=""><a href="https://www.sparkfun.com/categories/281">Simblee</a></li></ul></li><li id="menu_category_157" class=""><a href="https://www.sparkfun.com/categories/157">Kits</a></li><li id="menu_category_76" class=""><a href="https://www.sparkfun.com/news/2115#" class="arrow">+</a><a href="https://www.sparkfun.com/categories/76">LCDs</a><ul style="display:none;"><li id="menu_category_147" class=""><a href="https://www.sparkfun.com/categories/147">Color</a></li><li id="menu_category_148" class=""><a href="https://www.sparkfun.com/categories/148">Monochrome</a></li></ul></li><li id="menu_category_53" class=""><a href="https://www.sparkfun.com/news/2115#" class="arrow">+</a><a href="https://www.sparkfun.com/categories/53">Prototyping</a><ul style="display:none;"><li id="menu_category_54" class=""><a href="https://www.sparkfun.com/categories/54">Batteries</a></li><li id="menu_category_149" class=""><a href="https://www.sparkfun.com/categories/149">Boards</a></li><li id="menu_category_91" class=""><a href="https://www.sparkfun.com/categories/91">Connectors</a></li><li id="menu_category_182" class=""><a href="https://www.sparkfun.com/categories/182">Enclosures</a></li><li id="menu_category_55" class=""><a href="https://www.sparkfun.com/categories/55">General</a></li><li id="menu_category_1" class=""><a href="https://www.sparkfun.com/news/2115#" class="arrow">+</a><a href="https://www.sparkfun.com/categories/1">Programmers</a><ul style="display:none;"><li id="menu_category_26" class=""><a href="https://www.sparkfun.com/categories/26">ARM</a></li><li id="menu_category_7" class=""><a href="https://www.sparkfun.com/categories/7">AVR</a></li><li id="menu_category_6" class=""><a href="https://www.sparkfun.com/categories/6">PIC</a></li><li id="menu_category_126" class=""><a href="https://www.sparkfun.com/categories/126">PICAXE</a></li></ul></li><li id="menu_category_92" class=""><a href="https://www.sparkfun.com/categories/92">Sockets</a></li><li id="menu_category_116" class=""><a href="https://www.sparkfun.com/categories/116">Solar</a></li><li id="menu_category_141" class=""><a href="https://www.sparkfun.com/categories/141">Wire</a></li></ul></li><li id="menu_category_233" class=""><a href="https://www.sparkfun.com/categories/233">Raspberry Pi</a></li><li id="menu_category_31" class=""><a href="https://www.sparkfun.com/news/2115#" class="arrow">+</a><a href="https://www.sparkfun.com/categories/31">Robotics</a><ul style="display:none;"><li id="menu_category_179" class=""><a href="https://www.sparkfun.com/categories/179">Drivers</a></li><li id="menu_category_254" class=""><a href="https://www.sparkfun.com/categories/254">Gears</a></li><li id="menu_category_155" class=""><a href="https://www.sparkfun.com/news/2115#" class="arrow">+</a><a href="https://www.sparkfun.com/categories/155">Hardware</a><ul style="display:none;"><li id="menu_category_255" class=""><a href="https://www.sparkfun.com/categories/255">Couplers/Collars</a></li><li id="menu_category_256" class=""><a href="https://www.sparkfun.com/categories/256">Fasteners</a></li><li id="menu_category_250" class=""><a href="https://www.sparkfun.com/categories/250">Shafts</a></li><li id="menu_category_257" class=""><a href="https://www.sparkfun.com/categories/257">Spacers/Standoffs</a></li><li id="menu_category_263" class=""><a href="https://www.sparkfun.com/categories/263">Structural</a></li><li id="menu_category_251" class=""><a href="https://www.sparkfun.com/categories/251">Tubing</a></li></ul></li><li id="menu_category_181" class=""><a href="https://www.sparkfun.com/categories/181">Kits</a></li><li id="menu_category_178" class=""><a href="https://www.sparkfun.com/news/2115#" class="arrow">+</a><a href="https://www.sparkfun.com/categories/178">Motors</a><ul style="display:none;"><li id="menu_category_248" class=""><a href="https://www.sparkfun.com/categories/248">Accessories</a></li><li id="menu_category_247" class=""><a href="https://www.sparkfun.com/categories/247">DC/Gearmotor</a></li><li id="menu_category_249" class=""><a href="https://www.sparkfun.com/categories/249">Other</a></li><li id="menu_category_245" class=""><a href="https://www.sparkfun.com/categories/245">Servo</a></li><li id="menu_category_246" class=""><a href="https://www.sparkfun.com/categories/246">Stepper</a></li></ul></li><li id="menu_category_258" class=""><a href="https://www.sparkfun.com/news/2115#" class="arrow">+</a><a href="https://www.sparkfun.com/categories/258">Mounts/Hubs</a><ul style="display:none;"><li id="menu_category_261" class=""><a href="https://www.sparkfun.com/categories/261">Bearing Blocks</a></li><li id="menu_category_264" class=""><a href="https://www.sparkfun.com/categories/264">Camera Mounts</a></li><li id="menu_category_260" class=""><a href="https://www.sparkfun.com/categories/260">Hubs/Clamps</a></li><li id="menu_category_259" class=""><a href="https://www.sparkfun.com/categories/259">Motor Mounts</a></li><li id="menu_category_262" class=""><a href="https://www.sparkfun.com/categories/262">Servo Mount</a></li></ul></li><li id="menu_category_202" class=""><a href="https://www.sparkfun.com/categories/202">Other</a></li><li id="menu_category_252" class=""><a href="https://www.sparkfun.com/categories/252">Pulleys and Belts</a></li><li id="menu_category_253" class=""><a href="https://www.sparkfun.com/categories/253">Sprockets and Chain</a></li><li id="menu_category_180" class=""><a href="https://www.sparkfun.com/categories/180">Wheels</a></li></ul></li><li id="menu_category_23" class=""><a href="https://www.sparkfun.com/news/2115#" class="arrow">+</a><a href="https://www.sparkfun.com/categories/23">Sensors</a><ul style="display:none;"><li id="menu_category_80" class=""><a href="https://www.sparkfun.com/news/2115#" class="arrow">+</a><a href="https://www.sparkfun.com/categories/80">Accelerometers</a><ul style="display:none;"><li id="menu_category_161" class=""><a href="https://www.sparkfun.com/categories/161">1-axis</a></li><li id="menu_category_163" class=""><a href="https://www.sparkfun.com/categories/163">3-axis</a></li></ul></li><li id="menu_category_146" class=""><a href="https://www.sparkfun.com/categories/146">Biometrics</a></li><li id="menu_category_117" class=""><a href="https://www.sparkfun.com/categories/117">Capacitive</a></li><li id="menu_category_151" class=""><a href="https://www.sparkfun.com/categories/151">Current</a></li><li id="menu_category_143" class=""><a href="https://www.sparkfun.com/categories/143">Flex / Force</a></li><li id="menu_category_85" class=""><a href="https://www.sparkfun.com/news/2115#" class="arrow">+</a><a href="https://www.sparkfun.com/categories/85">Gyros</a><ul style="display:none;"><li id="menu_category_159" class=""><a href="https://www.sparkfun.com/categories/159">2-axis</a></li><li id="menu_category_183" class=""><a href="https://www.sparkfun.com/categories/183">3-axis</a></li></ul></li><li id="menu_category_144" class=""><a href="https://www.sparkfun.com/categories/144">ID</a></li><li id="menu_category_160" class=""><a href="https://www.sparkfun.com/categories/160">IMU</a></li><li id="menu_category_139" class=""><a href="https://www.sparkfun.com/categories/139">Infrared</a></li><li id="menu_category_102" class=""><a href="https://www.sparkfun.com/categories/102">Light / Imaging</a></li><li id="menu_category_83" class=""><a href="https://www.sparkfun.com/categories/83">Magneto</a></li><li id="menu_category_84" class=""><a href="https://www.sparkfun.com/categories/84">Proximity</a></li><li id="menu_category_165" class=""><a href="https://www.sparkfun.com/categories/165">Radiation</a></li><li id="menu_category_186" class=""><a href="https://www.sparkfun.com/categories/186">Sound</a></li><li id="menu_category_82" class=""><a href="https://www.sparkfun.com/categories/82">Temperature</a></li><li id="menu_category_270" class=""><a href="https://www.sparkfun.com/categories/270">Vernier</a></li><li id="menu_category_152" class=""><a href="https://www.sparkfun.com/categories/152">Weather</a></li></ul></li><li id="menu_category_130" class=""><a href="https://www.sparkfun.com/categories/130">Swag</a></li><li id="menu_category_46" class=""><a href="https://www.sparkfun.com/news/2115#" class="arrow">+</a><a href="https://www.sparkfun.com/categories/46">Tools</a><ul style="display:none;"><li id="menu_category_271" class=""><a href="https://www.sparkfun.com/categories/271">3D Printing</a></li><li id="menu_category_280" class=""><a href="https://www.sparkfun.com/categories/280">CNC</a></li><li id="menu_category_47" class=""><a href="https://www.sparkfun.com/categories/47">Hand Tools</a></li><li id="menu_category_48" class=""><a href="https://www.sparkfun.com/categories/48">Hot-Air Rework</a></li><li id="menu_category_177" class=""><a href="https://www.sparkfun.com/categories/177">Instruments</a></li><li id="menu_category_221" class=""><a href="https://www.sparkfun.com/categories/221">Organization</a></li><li id="menu_category_28" class=""><a href="https://www.sparkfun.com/categories/28">Power Supplies</a></li><li id="menu_category_49" class=""><a href="https://www.sparkfun.com/categories/49">Soldering</a></li></ul></li><li id="menu_category_204" class=""><a href="https://www.sparkfun.com/news/2115#" class="arrow">+</a><a href="https://www.sparkfun.com/categories/204">Wearables</a><ul style="display:none;"><li id="menu_category_269" class=""><a href="https://www.sparkfun.com/categories/269">ElastoLite</a></li><li id="menu_category_135" class=""><a href="https://www.sparkfun.com/categories/135">LilyPad</a></li><li id="menu_category_206" class=""><a href="https://www.sparkfun.com/categories/206">Materials</a></li><li id="menu_category_268" class=""><a href="https://www.sparkfun.com/categories/268">Power</a></li></ul></li><li id="menu_category_97" class=""><a href="https://www.sparkfun.com/categories/97">Widgets</a></li><li id="menu_category_16" class=""><a href="https://www.sparkfun.com/news/2115#" class="arrow">+</a><a href="https://www.sparkfun.com/categories/16">Wireless</a><ul style="display:none;"><li id="menu_category_78" class=""><a href="https://www.sparkfun.com/categories/78">Antennas</a></li><li id="menu_category_115" class=""><a href="https://www.sparkfun.com/categories/115">Bluetooth</a></li><li id="menu_category_66" class=""><a href="https://www.sparkfun.com/news/2115#" class="arrow">+</a><a href="https://www.sparkfun.com/categories/66">Cellular</a><ul style="display:none;"><li id="menu_category_67" class=""><a href="https://www.sparkfun.com/categories/67">Antennas</a></li><li id="menu_category_69" class=""><a href="https://www.sparkfun.com/categories/69">Eval Boards</a></li><li id="menu_category_68" class=""><a href="https://www.sparkfun.com/categories/68">Modules</a></li></ul></li><li id="menu_category_79" class=""><a href="https://www.sparkfun.com/categories/79">General</a></li><li id="menu_category_114" class=""><a href="https://www.sparkfun.com/categories/114">Nordic</a></li><li id="menu_category_112" class=""><a href="https://www.sparkfun.com/categories/112">WiFi</a></li><li id="menu_category_111" class=""><a href="https://www.sparkfun.com/news/2115#" class="arrow">+</a><a href="https://www.sparkfun.com/categories/111">ZigBee & 802.15.4</a><ul style="display:none;"><li id="menu_category_222" class=""><a href="https://www.sparkfun.com/categories/222">900MHz</a></li><li id="menu_category_223" class=""><a href="https://www.sparkfun.com/categories/223">Series 1 (802.15.4)</a></li><li id="menu_category_224" class=""><a href="https://www.sparkfun.com/categories/224">Series 2 (ZigBee)</a></li></ul></li></ul></li><li id="menu_category_retired" class=""><a href="https://www.sparkfun.com/news/2115#" class="arrow">+</a><a href="https://www.sparkfun.com/categories/retired">Retired</a><ul style="display:none;"><li id="menu_category_retired/273" class=""><a href="https://www.sparkfun.com/categories/retired/273">Audio</a></li><li id="menu_category_retired/176" class=""><a href="https://www.sparkfun.com/categories/retired/176">Books</a></li><li id="menu_category_retired/20" class=""><a href="https://www.sparkfun.com/categories/retired/20">Breakout Boards</a></li><li id="menu_category_retired/70" class=""><a href="https://www.sparkfun.com/categories/retired/70">Cables</a></li><li id="menu_category_retired/51" class=""><a href="https://www.sparkfun.com/categories/retired/51">Components</a></li><li id="menu_category_retired/2" class=""><a href="https://www.sparkfun.com/categories/retired/2">Development Tools</a></li><li id="menu_category_retired/100" class=""><a href="https://www.sparkfun.com/categories/retired/100">Dings and Dents</a></li><li id="menu_category_retired/232" class=""><a href="https://www.sparkfun.com/categories/retired/232">Educators</a></li><li id="menu_category_retired/4" class=""><a href="https://www.sparkfun.com/categories/retired/4">GPS</a></li><li id="menu_category_retired/276" class=""><a href="https://www.sparkfun.com/categories/retired/276">IoT</a></li><li id="menu_category_retired/157" class=""><a href="https://www.sparkfun.com/categories/retired/157">Kits</a></li><li id="menu_category_retired/76" class=""><a href="https://www.sparkfun.com/categories/retired/76">LCDs</a></li><li id="menu_category_retired/53" class=""><a href="https://www.sparkfun.com/categories/retired/53">Prototyping</a></li><li id="menu_category_retired/207" class=""><a href="https://www.sparkfun.com/categories/retired/207">Retail</a></li><li id="menu_category_retired/31" class=""><a href="https://www.sparkfun.com/categories/retired/31">Robotics</a></li><li id="menu_category_retired/23" class=""><a href="https://www.sparkfun.com/categories/retired/23">Sensors</a></li><li id="menu_category_retired/130" class=""><a href="https://www.sparkfun.com/categories/retired/130">Swag</a></li><li id="menu_category_retired/46" class=""><a href="https://www.sparkfun.com/categories/retired/46">Tools</a></li><li id="menu_category_retired/204" class=""><a href="https://www.sparkfun.com/categories/retired/204">Wearables</a></li><li id="menu_category_retired/97" class=""><a href="https://www.sparkfun.com/categories/retired/97">Widgets</a></li><li id="menu_category_retired/16" class=""><a href="https://www.sparkfun.com/categories/retired/16">Wireless</a></li></ul></li></ul>
</div>
</div>
</div>
<!-- Page Content -->
<div class="col-md-12 col-sm-12 col-xs-12">
<ul class="breadcrumb">
<li><a href="https://www.sparkfun.com/">Home</a></li>
<li><a href="https://www.sparkfun.com/news">Blog</a></li>
<li class="active">2016.06.15</li>
<li class="pull-right">
<a href="https://www.sparkfun.com/feeds/news" title="SparkFun News Feed"><span class="sfe-icon-feed"></span></a> </li>
</ul>
<div class="row">
<div class="col-md-8">
<div class="blog blog-view">
<div class="title-bar">
<h1><a href="https://www.sparkfun.com/news/2115">Crowdsourcing Algorithms</a></h1>
<p class="lead">Looking for information in the noise: a contest to crowdsource a better algorithm for accelerometer data.</p>
<div class="avatar">
<img src="./Crowdsourcing Algorithms - News - SparkFun Electronics_files/1ff6ad39b8c242a14296a76845e116cd"> </div>
<div class="byline">
<span class="meta">by <a href="https://www.sparkfun.com/users/7185">Nate</a></span>
<span class="meta sfedate rendered" data-date="1466003427">June 15, 2016 17:10 SAST</span>
<span class="meta"><a href="https://www.sparkfun.com/news/2115#comments" title="41 comments">41 <span class="glyphicon glyphicon-comment"></span></a></span>
<ul class="tags-list">
<li>
<a class="tag" href="https://www.sparkfun.com/news/tags/contest">Contest</a> </li>
</ul>
</div>
<span class="fave_widget verbose">
<a href="https://www.sparkfun.com/news/2115#" class="fave_btn " title="Add to favorites" data-entity="blog_posts" data-entity-id="2115">
<span class="fave_yes">
<span class="glyphicon glyphicon-heart"></span>
<span class="name">Favorited</span>
</span>
<span class="fave_no">
<span class="glyphicon glyphicon-heart-empty"></span>
<span class="name">Favorite</span>
</span>
</a>
<span class="fave_count">3</span>
</span>
</div>
<p style="text-align:center;"> <a href="./Crowdsourcing Algorithms - News - SparkFun Electronics_files/OriginalHQAlgorithms-M.jpg"><img src="./Crowdsourcing Algorithms - News - SparkFun Electronics_files/OriginalHQAlgorithms-M.jpg" alt="Original API artwork from TBD Catalog"></a></p>
<p style="text-align:center;"> <em>Used with permission from the awe inspiring <a href="http://tbdcatalog.com/">TBD Catalog</a></em></p>
<p>With the invention of <a href="https://learn.sparkfun.com/tutorials/accelerometer-basics">triple-axis accelerometers</a> and open source libraries, it’s becoming pretty easy to gather data. I can generate a <em>tremendous</em> amount of data using an Arduino and an <a href="https://www.sparkfun.com/products/13712">OpenLog</a> to log it. The problem is always the same: <em>What do you do with all that data?</em></p>
<p style="text-align:center;"> <a href="./Crowdsourcing Algorithms - News - SparkFun Electronics_files/SpeedBag.gif"><img src="./Crowdsourcing Algorithms - News - SparkFun Electronics_files/SpeedBag.gif" alt="Speed Bag Repeating Gif"></a></p>
<p>So here’s a real world example: A few years ago I built a <a href="https://github.com/nseidle/BeatBag">Speed Bag Counter</a>. For those who don’t frequent a boxing gym, the <a href="https://en.wikipedia.org/wiki/Punching_bag">speed bag</a> is the teardrop-shaped bag that boxers hit in quick unison to strengthen their shoulders and develop their hand-eye coordination. A standard round is three minutes, and because of the speed at which the bag bounces it’s pretty much impossible to keep count. I decided to build a counter so I could track of my improvement over time. Just hook up an accelerometer and a display to an Arduino and you’re good to go, right? As they say, the devil’s in the algorithm.</p>
<p style="text-align:center;"> <a href="./Crowdsourcing Algorithms - News - SparkFun Electronics_files/SpeedBag-Datalog.jpg"><img src="./Crowdsourcing Algorithms - News - SparkFun Electronics_files/SpeedBag-Datalog.jpg" alt="A log of triple axis accelerometer data"></a></p>
<p style="text-align:center;"> <em>Accelerometer data is messy</em></p>
<p>Pictured above is one of the datasets I captured when I was trying to validate the system. Real world data is <strong>noisy</strong>.</p>
<p>But wait, we should be able to see periodicity and other key traits, right?</p>
<p style="text-align:center;"> <a href="https://cdn.sparkfun.com/assets/home_page_posts/2/1/1/5/Graph2.jpg"><img src="./Crowdsourcing Algorithms - News - SparkFun Electronics_files/Graph2.jpg" alt="Graph of data"></a></p>
<p>Unfortunately, even with logging at 500Hz the data is not self explanatory. With this data I did my best to try to create a system that could count hits.</p>
<iframe style="height: 510px; width: 100%; margin: 10px 0 10px;" allowtransparency="true" src="./Crowdsourcing Algorithms - News - SparkFun Electronics_files/sketch-323364.html" frameborder="0"></iframe>
<p>Above is my very amateur attempt at a filter to suppress the noise and look for peaks. I arrived at this by loading the <a href="https://raw.githubusercontent.com/nseidle/BeatBag/master/data/Recorded%20Tests/3-77hits.TXT">log</a> into <a href="https://www.libreoffice.org/">LibreOffice</a> and throwing math at it until I was able to get a reasonable hit value from it. I learned two things:</p>
<ol>
<li>I know very little about algorithms.</li>
<li>My approach is not very accurate. I’m about 28 percent off on average. I think it’s because there are some harmonic frequencies wreaking havoc when the boxer gets into a rhythm.</li>
</ol>
<p>I’m pretty sure you can do a lot better. So here’s the deal: We’re going to have a little contest so that we can all learn from the experts about how to do this “for reals.” You can get the raw datasets <a href="https://cdn.sparkfun.com/assets/home_page_posts/2/1/1/5/AccelerometerData-2.zip">here</a>. The names of the logs contain the number of hits in each. If you don’t believe me you can view the videos and datasets <a href="https://github.com/nseidle/BeatBag">here</a>.</p>
<p>If you think you can more accurately calculate speed bag hits:</p>
<ol>
<li>Write an algorithm that correctly outputs the number of hits contained within the datasets (get them <a href="https://cdn.sparkfun.com/assets/home_page_posts/2/1/1/5/AccelerometerData-2.zip">here</a>).</li>
<li>Implement your algorithm on a microcontroller – 8-bit and 32-bit micros are ok. No FPGAs. PLCs, you’re crazy.</li>
<li>The most important step: Document the heck out of how you approached the problem, how you filtered the data, and ultimately how you arrived at a solution. We’re here to learn from you.</li>
<li>Put your code and documentation into a public repo or website.</li>
<li>Use your algorithm to tell us how many hits are contained in <a href="https://raw.githubusercontent.com/nseidle/BeatBag/master/data/Recorded%20Tests/MysteryDataSet-1.TXT">Mystery Dataset #1</a> and <a href="https://raw.githubusercontent.com/nseidle/BeatBag/master/data/Recorded%20Tests/MysteryDataSet-2.TXT">Mystery Dataset #2</a>. We have videos of these sessions that we’ll post once the contest is over.</li>
</ol>
<p>We believe in the fundamentals of <a href="http://www.oshwa.org/definition/">Open Source Hardware</a>. Your work <em>must</em> be released under an open source license of your choice. No <a href="https://creativecommons.org/licenses/by-nc/3.0/us/">-NC</a> exclusions allowed. I don’t plan to make this into a product, but you must be ok with it when someone releases an accelerometer-based speed bag counter. And sells it. For money.</p>
<p><strong>How do I enter?</strong></p>
<p>Post a link to your repo or website in the comments. We’ll be running the contest through the end of the month (6/30), and I’ll test the solutions on the counter in the gym as they come in. There are very smart people in this world, so if there are multiple successful solutions we’ll randomly select a winner, who will be announced after the contest ends and all the entries are tested.</p>
<p><strong>Wait, wait. So what do I win?</strong></p>
<p>We’ll fly you and a +1 to Denver, and put you up in a hotel in Boulder. I’ll show you around SparkFun, take you to the <a href="http://www.frontrangeboxing.com/">Front Range Boxing Academy</a> so you can see your code in action and do a dinner around Boulder. If you’re out of the USA, we will pay for a plane ticket for one person instead of two.</p>
<p>And whoa, <a href="https://upload.wikimedia.org/wikipedia/commons/3/33/Expert_bag_punching_%281903%29.webm">Billy Bitzer</a> is way better at this than me.</p>
<div class="byline">
<span class="meta"><a href="https://www.sparkfun.com/news/2115#comments" title="41 comments"><span class="glyphicon glyphicon-comment"></span> View Comments (41)</a></span>
<ul class="tags-list">
<li>
<a class="tag" href="https://www.sparkfun.com/news/tags/contest">Contest</a> </li>
</ul>
</div>
<p></p><div class="share-link-inline">
<a class="share-link-toggle" href="https://www.sparkfun.com/news/2115#">
<span class="share-title">
<span class="sfe-icon-share"></span>
Share </span>
</a>
<div class="share-link-inner dialog">
Use this URL to share:<br>
<input class="form-control input-sm" type="text" value="http://sfe.io/n2115" onclick="$(this).select();">
<div class="share-social">
<a rel="nofollow" onclick="return $(this).sfeutil('track_link',this,'Share','clicked','googleplus');" href="https://plus.google.com/share?url=http%3A%2F%2Fsfe.io%2Fn2115" title="Share on Google+"><span class="sfe-icon-google-plus hidetext"><span>Share on Google+</span></span></a>
<a rel="nofollow" onclick="return $(this).sfeutil('track_link',this,'Share','clicked','tumblr');" href="https://www.tumblr.com/share/link?url=http%3A%2F%2Fsfe.io%2Fn2115&name=Crowdsourcing+Algorithms" title="Share on Tumblr"><span class="sfe-icon-tumblr hidetext"><span>Share on Tumblr</span></span></a>
<a rel="nofollow" onclick="return $(this).sfeutil('track_link',this,'Share','clicked','reddit');" href="https://www.reddit.com/submit?url=http%3A%2F%2Fsfe.io%2Fn2115" title="Submit to reddit"><span class="sfe-icon-reddit hidetext"><span>Submit to reddi</span></span></a>
</div>
</div>
<div class="share-social">
<a rel="nofollow" onclick="return $(this).sfeutil('track_link',this,'Share','clicked','twitter');" href="https://twitter.com/intent/tweet?text=Crowdsourcing+Algorithms&url=http%3A%2F%2Fsfe.io%2Fn2115&via=sparkfun" title="Share on Twitter"><span class="sfe-icon-twitter hidetext"><span>Share on Twitter</span></span></a>
<a rel="nofollow" onclick="return $(this).sfeutil('track_link',this,'Share','clicked','facebook');" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fsfe.io%2Fn2115&t=Crowdsourcing+Algorithms" title="Share on Facebook"><span class="sfe-icon-facebook-nobox hidetext"><span>Share on Facebook</span></span></a>
<a rel="nofollow" onclick="return $(this).sfeutil('track_link',this,'Share','clicked','pinterest');" href="https://www.pinterest.com/pin/create/button/?url=http%3A%2F%2Fsfe.io%2Fn2115&media=https%3A%2F%2Fcdn.sparkfun.com%2F%2Fassets%2Fhome_page_posts%2F2%2F1%2F1%2F5%2FSpeedBag.gif&description=Crowdsourcing+Algorithms" title="Pin It"><span class="sfe-icon-pinterest hidetext"><span>Pin It</span></span></a>
</div>
</div>
<p></p>
</div>
<hr>
<div class="surf">
<div class="prev-link"> <div class="tile blog-tile has_addl_actions">
<a href="https://www.sparkfun.com/news/2121" title="June 14, 2016: For this Tech Talk Tuesday, I present you with an ASCII table.">
<h3><span class="glyphicon glyphicon-arrow-left"></span> Previous</h3> <div class="thumb" style="background-image:url(https://cdn.sparkfun.com//c/338-190/assets/home_page_posts/2/1/2/1/ASCII_Text_Doc.png)"></div>
<h3 class="title">T³: ASCII Table</h3>
<div class="metaline">
<span class="meta">June 14, 2016</span>
<span class="meta">9 <span class="glyphicon glyphicon-comment"></span></span>
</div>
</a>
<div class="addl_actions">
<span class="fave_widget simple">
<a href="https://www.sparkfun.com/news/2115#" class="fave_btn " title="Add to favorites" data-entity="blog_posts" data-entity-id="2121">
<span class="fave_yes">
<span class="glyphicon glyphicon-heart"></span>
<span class="name">Favorited</span>
</span>
<span class="fave_no">
<span class="glyphicon glyphicon-heart-empty"></span>
<span class="name">Favorite</span>
</span>
</a>
<span class="fave_count">0</span>
</span> </div>
</div>
</div>
<div class="next-link"> <div class="tile blog-tile has_addl_actions">
<a href="https://www.sparkfun.com/news/2108" title="June 16, 2016: An overview of IoT technology">
<h3>Next <span class="glyphicon glyphicon-arrow-right"></span></h3> <div class="thumb" style="background-image:url(https://cdn.sparkfun.com//c/338-190/assets/home_page_posts/2/1/0/8/network-782707_1280.png)"></div>
<h3 class="title">Enginursday: What (and why) is the Internet of Things?</h3>
<div class="metaline">
<span class="meta">June 16, 2016</span>
<span class="meta">10 <span class="glyphicon glyphicon-comment"></span></span>
</div>
</a>
<div class="addl_actions">
<span class="fave_widget simple">
<a href="https://www.sparkfun.com/news/2115#" class="fave_btn " title="Add to favorites" data-entity="blog_posts" data-entity-id="2108">
<span class="fave_yes">
<span class="glyphicon glyphicon-heart"></span>
<span class="name">Favorited</span>
</span>
<span class="fave_no">
<span class="glyphicon glyphicon-heart-empty"></span>
<span class="name">Favorite</span>
</span>
</a>
<span class="fave_count">2</span>
</span> </div>
</div>
</div>
</div>
<h2 id="comments">
Comments
<small>
41 comments <a href="https://www.sparkfun.com/news/2115/comments.xml"><span class="sfe-icon-feed"></span></a>
</small>
</h2>
<div>
<div>
<div class="login">
<a href="https://www.sparkfun.com/account/login?redirect=%2Fnews%2F2115" data-toggle="modal" data-target="#login_modal" data-remote="false">Log in</a> or
<a href="https://www.sparkfun.com/account/make">register</a> to post comments.
</div>
</div>
<div id="comment-reply-form" style="display:none"> <div class="text-center padtwenty">
<b>
<a href="https://www.sparkfun.com/account/login?redirect=%2Fnews%2F2115" data-toggle="modal" data-target="#login_modal" data-remote="false">Log in</a> or
<a href="https://www.sparkfun.com/account/make">register</a> to post comments.
</b>
</div>
</div>
<div id="comment-edit-form" style="display:none"> <div class="text-center">
<b><a href="https://www.sparkfun.com/account/login?redirect=%2Fnews%2F2115">Log in</a> to post comments.</b>
</div>
</div>
<ul class="comment-list">
<li class=""><div id="comment-5768ddedce395f63618b4568" class="comment-block">
<div class="comment-info">
<div class="avatar">
<span class="glyphicon glyphicon-user"></span>
</div>
<a href="https://www.sparkfun.com/users/158485" class="alias">waltemus</a>
<span class="wide">/</span>
<span title="Tuesday, 21-Jun-16 00:25:49 MDT" class="date"><a href="https://www.sparkfun.com/news/2115#comment-5768ddedce395f63618b4568">last week</a></span>
<span class="wide">/</span>
<span class="rating-star">
<span title="Please log in to up-vote comments" class="star-dark"><span class="sfe-icon-star-full"></span></span>
</span>
<span class="rating" id="comment-rating-5768ddedce395f63618b4568">2</span>
<span class="public-comment-pin-5768ddedce395f63618b4568" style="display: none">
<span class="wide">/ </span>
<i class="glyphicon glyphicon-pushpin"></i>
</span>
<div class="actions">
</div>
</div>
<div class="comment-text"><p>I uploaded my solution to https://github.com/WilliamAltemus/HitCounterChallenge</p>
<p>Output:</p>
<p>77 expected / 77 detected - 0% error</p>
<p>81 expected / 82 detected - 1.23% error</p>
<p>93 expected / 93 detected - 0% error</p>
<p>79 expected / 78 detected - 1.27% error</p>
<p>Mystery Dataset 1 - 169 detected</p>
<p>Mystery Dataset 2 - 155 detected</p>
<p>Thanks for the opportunity to participate in this challenge. It was a real learning experience!</p>
<p>William</p></div>
</div>
</li><li class=""><div id="comment-57653f7c757b7fea4d8b4567" class="comment-block">
<div class="comment-info">
<div class="avatar">
<span class="glyphicon glyphicon-user"></span>
</div>
<a href="https://www.sparkfun.com/users/399747" class="alias">Member #399747</a>
<span class="wide">/</span>
<span title="Saturday, 18-Jun-16 06:33:00 MDT" class="date"><a href="https://www.sparkfun.com/news/2115#comment-57653f7c757b7fea4d8b4567">about a week ago</a></span>
*
<span class="wide">/</span>
<span class="rating-star">
<span title="Please log in to up-vote comments" class="star-dark"><span class="sfe-icon-star-full"></span></span>
</span>
<span class="rating" id="comment-rating-57653f7c757b7fea4d8b4567">2</span>
<span class="public-comment-pin-57653f7c757b7fea4d8b4567" style="display: none">
<span class="wide">/ </span>
<i class="glyphicon glyphicon-pushpin"></i>
</span>
<div class="actions">
</div>
</div>
<div class="comment-text"><p>My partial Arduino solution + a python script can be found here https://github.com/RobTillaart/HitCounterChallenge.</p>
<p>A hit results in a substantial larger acceleration (as discussed earlier) so checking the value with the previous one should do it. A straightforward python script helped to find the magic threshold between previous and new acceleration (17) used in the code. Running the python script generates:</p>
<p>MysteryDataSet-1.txt 454</p>
<p>MysteryDataSet-2.txt 186</p>
<p>3-77hits.txt 74</p>
<p>4-81hits.txt 79</p>
<p>5-93hits.txt 95</p>
<p>6-79hits.txt 83</p>
<p>The trainingsets in % are ~ -4, -2, +2 and +5% so on average ~0% . Applying the script on the mystery datasets gave me 454 hits and 186 hits respectively.</p>
<p>mmmm 454 hits sounds quite impressive, anyway that is what my quick code produced :)</p></div>
</div>
<ul class="comment-list"><li class=""><div id="comment-576adf32757b7ff75b8b4567" class="comment-block">
<div class="comment-info">
<div class="avatar">
<img src="./Crowdsourcing Algorithms - News - SparkFun Electronics_files/1ff6ad39b8c242a14296a76845e116cd(1)">
</div>
<span class="comment-internal sfe-icon-flame" title="SparkFun Employee"></span> <a href="https://www.sparkfun.com/users/7185" class="alias">Nate</a>
<span class="wide">/</span>
<span title="Wednesday, 22-Jun-16 12:55:46 MDT" class="date"><a href="https://www.sparkfun.com/news/2115#comment-576adf32757b7ff75b8b4567">about 6 days ago</a></span>
<span class="wide">/</span>
<span class="rating-star">
<span title="Please log in to up-vote comments" class="star-dark"><span class="sfe-icon-star-full"></span></span>
</span>
<span class="rating" id="comment-rating-576adf32757b7ff75b8b4567">1</span>
<span class="public-comment-pin-576adf32757b7ff75b8b4567" style="display: none">
<span class="wide">/ </span>
<i class="glyphicon glyphicon-pushpin"></i>
</span>
<div class="actions">
</div>
</div>
<div class="comment-text"><p>Thanks! Looks pretty good. I’ve upvoted this and will include this in the batch to test.</p></div>
</div>
</li></ul></li><li class=""><div id="comment-5761eac7757b7f0a7e8b4567" class="comment-block">
<div class="comment-info">
<div class="avatar">
<span class="glyphicon glyphicon-user"></span>
</div>
<a href="https://www.sparkfun.com/users/525870" class="alias">Ben A</a>
<span class="wide">/</span>
<span title="Wednesday, 15-Jun-16 17:54:47 MDT" class="date"><a href="https://www.sparkfun.com/news/2115#comment-5761eac7757b7f0a7e8b4567">about 2 weeks ago</a></span>
<span class="wide">/</span>
<span class="rating-star">
<span title="Please log in to up-vote comments" class="star-dark"><span class="sfe-icon-star-full"></span></span>
</span>
<span class="rating" id="comment-rating-5761eac7757b7f0a7e8b4567">2</span>
<span class="public-comment-pin-5761eac7757b7f0a7e8b4567" style="display: none">
<span class="wide">/ </span>
<i class="glyphicon glyphicon-pushpin"></i>
</span>
<div class="actions">
</div>
</div>
<div class="comment-text"><p>My answer is at <a href="https://github.com/airbornemint/SparkFun-accelerometer-challenge" rel="nofollow">https://github.com/airbornemint/SparkFun-accelerometer-challenge</a></p>
<p>Its output for the four known datasets is: 80 (77 expected, +4% error), 92 (81 expected, +14% error), 106 (93 expected, +14% error), and 76 (79 expected, -4% error).</p>
<p>Its output for the two mystery datasets is: 232, 172.</p>
<p>Enjoy.</p></div>
</div>
</li><li class=""><div id="comment-57618f1fce395f4f6a8b4567" class="comment-block">
<div class="comment-info">
<div class="avatar">
<span class="glyphicon glyphicon-user"></span>
</div>
<a href="https://www.sparkfun.com/users/394180" class="alias">Member #394180</a>
<span class="wide">/</span>
<span title="Wednesday, 15-Jun-16 11:23:43 MDT" class="date"><a href="https://www.sparkfun.com/news/2115#comment-57618f1fce395f4f6a8b4567">about 2 weeks ago</a></span>
*
<span class="wide">/</span>
<span class="rating-star">
<span title="Please log in to up-vote comments" class="star-dark"><span class="sfe-icon-star-full"></span></span>
</span>
<span class="rating" id="comment-rating-57618f1fce395f4f6a8b4567">2</span>
<span class="public-comment-pin-57618f1fce395f4f6a8b4567" style="display: none">
<span class="wide">/ </span>
<i class="glyphicon glyphicon-pushpin"></i>
</span>
<div class="actions">
</div>
</div>
<div class="comment-text"><p>Instead of entering the contest I’ll give the rest of you a head start. Think of it as the ultimate shareware gift.</p>
<ol>
<li>For each triplet, take the square root of the sum of the squares of the individual acceleration values. This gives you the total magnitude of the acceleration vector. Right away, it’ll be a lot more meaningful than the plot above of just the z vector. If you plot it you’ll easily see the individual hits.</li>
<li>When you examine the result, you’ll see that there is a quiescent value, the value when the bag is settled. Subtract that from each magnitude to normalize it (probably taking out the 1 g gravitational acceleration when we do this, don’t have time to work it out exactly)</li>
<li>Divide each normalized magnitude by 100</li>
<li>Take the floor of each scaled normalized magnitude</li>
<li>Call any result larger than 9 a hit</li>
</ol>
<p>When I do this with the 77 hit data set, I see 80 hits which is a 4% error, substantially better than the 28% error Nate got.</p>
<p>Of course that 100 and 9 look like they came straight from the orificial oracle, but I actually got them from plotting the data with Excel and visually examining the plot. The fun part for you contestants is to figure out a self-calibrating scheme to set those thresholds automatically. By looking at the total magnitudes, you can also see how hard the hit was.</p>
<p>Good luck to all</p></div>
</div>
<ul class="comment-list"><li class=""><div id="comment-5762a067ce395f935f8b4567" class="comment-block">
<div class="comment-info">
<div class="avatar">
<span class="glyphicon glyphicon-user"></span>
</div>
<a href="https://www.sparkfun.com/users/394180" class="alias">Member #394180</a>
<span class="wide">/</span>
<span title="Thursday, 16-Jun-16 06:49:43 MDT" class="date"><a href="https://www.sparkfun.com/news/2115#comment-5762a067ce395f935f8b4567">about 2 weeks ago</a></span>
<span class="wide">/</span>
<span class="rating-star">
<span title="Please log in to up-vote comments" class="star-dark"><span class="sfe-icon-star-full"></span></span>
</span>
<span class="rating" id="comment-rating-5762a067ce395f935f8b4567">1</span>
<span class="public-comment-pin-5762a067ce395f935f8b4567" style="display: none">
<span class="wide">/ </span>
<i class="glyphicon glyphicon-pushpin"></i>
</span>
<div class="actions">
</div>
</div>
<div class="comment-text"><p>Another possibility is to use jerk instead of acceleration. When the bag is punched, the momentum imparted by the fist generates an acceleration. Assuming that the rate of change of acceleration (jerk) is greater from a fist impact than from all the other sources of acceleration changes, it’s a simple matter to take the instantaneous derivative of the acceleration magnitude to get jerk and then apply a threshold. Anything greater than the threshold is a hit.</p>
<p>Using this approach with a very quick and dirty threshold calculation, the 77 hit data set comes up with 82 hits.</p>
<p>To calculate the instantaneous derivative, no calculus is needed. Simply remember that the derivative of a function is the limit of delta x / delta y as delta y goes to 0. Since our data is coming in at a more or less regular interval, we can approximate this by subtracting the current magnitude of the acceleration vector from the previous value and dividing the result by the time difference between the 2.</p>
<p>You’ll end up with positive and negative values. One is the result of fist impacts, the other of the bag hitting its stops and bouncing back. I made the assumption that the fist impacts are going to be harder, so I took the side with the largest jerk, which in this case was the positive side.</p>
<p>Again, I eyeballed the threshold from a plot, but you could do something more sophisticated like a statistical analysis of the jerk values and set the threshold at a certain number of standard deviations. Enjoy</p></div>
</div>
</li><li class=""><div id="comment-5761cc69757b7fe4618b4567" class="comment-block">
<div class="comment-info">
<div class="avatar">
<span class="glyphicon glyphicon-user"></span>
</div>
<a href="https://www.sparkfun.com/users/394180" class="alias">Member #394180</a>
<span class="wide">/</span>
<span title="Wednesday, 15-Jun-16 15:45:13 MDT" class="date"><a href="https://www.sparkfun.com/news/2115#comment-5761cc69757b7fe4618b4567">about 2 weeks ago</a></span>
*
<span class="wide">/</span>
<span class="rating-star">
<span title="Please log in to up-vote comments" class="star-dark"><span class="sfe-icon-star-full"></span></span>
</span>
<span class="rating" id="comment-rating-5761cc69757b7fe4618b4567">1</span>
<span class="public-comment-pin-5761cc69757b7fe4618b4567" style="display: none">
<span class="wide">/ </span>
<i class="glyphicon glyphicon-pushpin"></i>
</span>
<div class="actions">
</div>
</div>
<div class="comment-text"><p>Here’s what my hit plot for the 77 hit data set looks like using the acceleration magnitude algorithm above (not the jerk). It’s binary, in that there’s either a hit or there isn’t. This plot does not show the strength of each hit. That’s the timestamp on the x axis, so plot out Nate’s data and see how it compares. He got a nice rhythm going between 7500 and 9000.</p>
<p><img src="./Crowdsourcing Algorithms - News - SparkFun Electronics_files/speedbag.jpg" rel="nofollow" alt="Alt text"></p></div>
</div>
</li><li class=""><div id="comment-576199a6ce395f4e6a8b4567" class="comment-block">
<div class="comment-info">
<div class="avatar">
<span class="glyphicon glyphicon-user"></span>
</div>
<a href="https://www.sparkfun.com/users/729020" class="alias">Arodd2000</a>
<span class="wide">/</span>
<span title="Wednesday, 15-Jun-16 12:08:38 MDT" class="date"><a href="https://www.sparkfun.com/news/2115#comment-576199a6ce395f4e6a8b4567">about 2 weeks ago</a></span>
<span class="wide">/</span>
<span class="rating-star">
<span title="Please log in to up-vote comments" class="star-dark"><span class="sfe-icon-star-full"></span></span>
</span>
<span class="rating" id="comment-rating-576199a6ce395f4e6a8b4567">1</span>
<span class="public-comment-pin-576199a6ce395f4e6a8b4567" style="display: none">
<span class="wide">/ </span>
<i class="glyphicon glyphicon-pushpin"></i>
</span>
<div class="actions">
</div>
</div>
<div class="comment-text"><p>I wish this was during the school year, my math teacher might be able to help me make heads or tales of this.</p></div>
</div>
</li></ul></li><li class=""><div id="comment-5770cc2bce395f43418b4568" class="comment-block">
<div class="comment-info">
<div class="avatar">
<span class="glyphicon glyphicon-user"></span>
</div>
<a href="https://www.sparkfun.com/users/284237" class="alias">Member #284237</a>
<span class="wide">/</span>
<span title="Monday, 27-Jun-16 00:48:11 MDT" class="date"><a href="https://www.sparkfun.com/news/2115#comment-5770cc2bce395f43418b4568">yesterday</a></span>
*
<span class="wide">/</span>
<span class="rating-star">
<span title="Please log in to up-vote comments" class="star-dark"><span class="sfe-icon-star-full"></span></span>
</span>
<span class="rating" id="comment-rating-5770cc2bce395f43418b4568">1</span>
<span class="public-comment-pin-5770cc2bce395f43418b4568" style="display: none">
<span class="wide">/ </span>
<i class="glyphicon glyphicon-pushpin"></i>
</span>
<div class="actions">
</div>
</div>
<div class="comment-text"><p>My code is at <a href="https://github.com/neimet/SparkfunSpeedBag" rel="nofollow">https://github.com/neimet/SparkfunSpeedBag</a></p>
<p>It gets all four of the known sets correct and predicts 172 hits for Mystery Data 1 and 156 hits for Mystery Data 2. I didn’t run it on an arduino, but I made sure it compiles and ran a slightly modified version (so I can actually run it) as a c program.</p>
<p>Here’s the plot it produces for the 77 hits data set.</p>
<p><img src="./Crowdsourcing Algorithms - News - SparkFun Electronics_files/m23IziR.png" rel="nofollow" alt=""></p></div>
</div>
</li><li class=""><div id="comment-576c490fce395f9a058b4567" class="comment-block">
<div class="comment-info">
<div class="avatar">
<span class="glyphicon glyphicon-user"></span>
</div>
<a href="https://www.sparkfun.com/users/815726" class="alias">Member #815726</a>
<span class="wide">/</span>
<span title="Thursday, 23-Jun-16 14:39:43 MDT" class="date"><a href="https://www.sparkfun.com/news/2115#comment-576c490fce395f9a058b4567">about 5 days ago</a></span>
*
<span class="wide">/</span>
<span class="rating-star">
<span title="Please log in to up-vote comments" class="star-dark"><span class="sfe-icon-star-full"></span></span>
</span>
<span class="rating" id="comment-rating-576c490fce395f9a058b4567">1</span>
<span class="public-comment-pin-576c490fce395f9a058b4567" style="display: none">
<span class="wide">/ </span>
<i class="glyphicon glyphicon-pushpin"></i>
</span>
<div class="actions">
</div>
</div>
<div class="comment-text"><p>Hi Nate. I’m coming into this a little late, but it was good to see all the different insights to this (I think very difficult) problem from the respondents. But I have a very basic question. What are you really trying to measure? Is it hits per minute? Can a good boxer really make things go faster or is the speed pretty much determined by the natural resonance of the system? Is it a matter of getting into the rhythm of the system and keeping it consistently going - in other words, are you trying to measure “flubs” where the boxer looses sync and has to start over? Are you trying to measure how accurately the boxer hits the bag, and if so, how much of a glancing blow counts as a miss?</p>
<p>This is tough because what you are measuring, vibrations of the platform, are pretty far removed from the act of hitting the bag. The initial punch probably transfers some energy to the overall system (platform, brackets, etc.) which makes it respond in its own natural rhythm. Then, as others have observed, the bag appears to hit the platform multiple times per punch, each time making the platform vibrate in its own natural frequencies. To make matters worse, discs like the platform like to vibrate in many complex, non-integer harmonic modes (think of the crash of a cymbal). Then, acceleration, as a second derivative function, tends to amplify noise. On top of that, there is the natural variation in the force of each punch. Finally, there are issues with the sensors themselves, like the occasional “timeouts” in the data, and quantizing and sampling errors. To be able to find the “signal” in all that noise, I would suggest that you need to know as much about the signal as possible - hence my questions.</p>
<p>Theoretically, I suppose you could measure the flow of a mountain stream by measuring the noise it makes, but it would be better to measure cross section and flow velocity. Similarly, there are probably better ways to measure a boxer’s skill if we can decide what that actually means.</p>
<p>In the meantime, what a great signal processing challenge!</p>
<p>Some additional thoughts:
How about putting two accelerometers on wristbands? Then you could gather all kinds of info that might be of use to a boxer: punch velocity and reach, contacts and contact force, missed punches. And, this could be gathered while sparring or in a match, as well as in the speedbag workouts. Another interesting experiment might be to tape a single accelerometer to your body, like maybe on your sternum. Theoretically, punches and hits should cause corresponding movements in a boxer’s body and these may be easier to detect and provide more information than the vibrations of the speedbag platform.</p></div>
</div>
</li><li class=""><div id="comment-5768931ace395ffa2f8b4569" class="comment-block">
<div class="comment-info">
<div class="avatar">
<img src="./Crowdsourcing Algorithms - News - SparkFun Electronics_files/5c09b8e6ad3b720e9445a1c4a05eb615">
</div>
<a href="https://www.sparkfun.com/users/222385" class="alias">rben13</a>
<span class="wide">/</span>
<span title="Monday, 20-Jun-16 19:06:34 MDT" class="date"><a href="https://www.sparkfun.com/news/2115#comment-5768931ace395ffa2f8b4569">last week</a></span>
<span class="wide">/</span>
<span class="rating-star">
<span title="Please log in to up-vote comments" class="star-dark"><span class="sfe-icon-star-full"></span></span>
</span>
<span class="rating" id="comment-rating-5768931ace395ffa2f8b4569">1</span>
<span class="public-comment-pin-5768931ace395ffa2f8b4569" style="display: none">
<span class="wide">/ </span>
<i class="glyphicon glyphicon-pushpin"></i>
</span>
<div class="actions">
</div>
</div>
<div class="comment-text"><p>I also think the sensor is in the wrong place. It should be on the glove where it contacts the bag. You’ll still get noisy data and have to filter it, but it should be a much easier job.</p></div>
</div>
</li><li class=""><div id="comment-5768588fce395f5e618b4567" class="comment-block">
<div class="comment-info">
<div class="avatar">
<span class="glyphicon glyphicon-user"></span>
</div>
<a href="https://www.sparkfun.com/users/494779" class="alias">Member #494779</a>
<span class="wide">/</span>
<span title="Monday, 20-Jun-16 14:56:47 MDT" class="date"><a href="https://www.sparkfun.com/news/2115#comment-5768588fce395f5e618b4567">last week</a></span>
*
<span class="wide">/</span>
<span class="rating-star">
<span title="Please log in to up-vote comments" class="star-dark"><span class="sfe-icon-star-full"></span></span>
</span>
<span class="rating" id="comment-rating-5768588fce395f5e618b4567">1</span>
<span class="public-comment-pin-5768588fce395f5e618b4567" style="display: none">
<span class="wide">/ </span>
<i class="glyphicon glyphicon-pushpin"></i>
</span>
<div class="actions">
</div>
</div>
<div class="comment-text"><p>I haven’t written an arduino program yet, but I have crunched the numbers in excel.</p>
<p>77 hit = 75 -3%</p>
<p>81 hit = 83 +2%</p>
<p>93 hit = 93 right on the money!</p>
<p>79 hit = 81 +3%</p>
<p>Mystery Set 1 = 200</p>
<p>Mystery Set 2 = 185</p>
<p>So does the solution have to be presented as functional code or can it be expressed mathematically?</p></div>
</div>
<ul class="comment-list"><li class=""><div id="comment-576ade68757b7f714c8b4567" class="comment-block">
<div class="comment-info">
<div class="avatar">
<img src="./Crowdsourcing Algorithms - News - SparkFun Electronics_files/1ff6ad39b8c242a14296a76845e116cd(1)">
</div>
<span class="comment-internal sfe-icon-flame" title="SparkFun Employee"></span> <a href="https://www.sparkfun.com/users/7185" class="alias">Nate</a>
<span class="wide">/</span>
<span title="Wednesday, 22-Jun-16 12:52:24 MDT" class="date"><a href="https://www.sparkfun.com/news/2115#comment-576ade68757b7f714c8b4567">about 6 days ago</a></span>
<span class="wide">/</span>
<span class="rating-star">
<span title="Please log in to up-vote comments" class="star-dark"><span class="sfe-icon-star-full"></span></span>
</span>
<span class="rating" id="comment-rating-576ade68757b7f714c8b4567">1</span>
<span class="public-comment-pin-576ade68757b7f714c8b4567" style="display: none">
<span class="wide">/ </span>
<i class="glyphicon glyphicon-pushpin"></i>
</span>
<div class="actions">
</div>
</div>
<div class="comment-text"><p>I welcome anything that will help people learn but to enter it has to be a functional program. If you can post your mathematical approach you might find friendly folks to help you convert that to code. Honestly, one of the hardest parts for me is <strong>this</strong> step - I’ve found various academic approaches to the problem only to be bogged down when I tried to wrap my head around converting the formulas to code.</p></div>
</div>
</li></ul></li><li class=""><div id="comment-5764a6c1ce395f13628b456b" class="comment-block">
<div class="comment-info">
<div class="avatar">
<span class="glyphicon glyphicon-user"></span>
</div>
<a href="https://www.sparkfun.com/users/85055" class="alias">bdwyer</a>
<span class="wide">/</span>
<span title="Friday, 17-Jun-16 19:41:21 MDT" class="date"><a href="https://www.sparkfun.com/news/2115#comment-5764a6c1ce395f13628b456b">about 2 weeks ago</a></span>
<span class="wide">/</span>
<span class="rating-star">
<span title="Please log in to up-vote comments" class="star-dark"><span class="sfe-icon-star-full"></span></span>
</span>
<span class="rating" id="comment-rating-5764a6c1ce395f13628b456b">1</span>
<span class="public-comment-pin-5764a6c1ce395f13628b456b" style="display: none">
<span class="wide">/ </span>
<i class="glyphicon glyphicon-pushpin"></i>
</span>
<div class="actions">
</div>
</div>
<div class="comment-text"><p>Hmm…‘2047’ as max readings… sounds like something is being saturated. Is this accelerometer an analog output, or digital based (spi/i2c)? If digital, is there a possibility to decrease the sensitivity (increase max-range) on the sensor itself so we have more fidelity with ‘hit’ values? Just curious, I like to go for the low hanging fruit in terms of optimizing this problem.</p>
<p>I have one other idea that could improve algorithm/solution finding: Since we are in the experimentation stage, I think it would be beneficial to have a trigger-type sensor in the boxing glove to have a synchronized truth vector to work with. As fun as it is seeming to be for some people here, I don’t see why we would choose to fly blind from the get-go :-)</p>
<p>But hey, if that’s what you’d like your challenge to really be I understand.</p>
<p>Thanks!</p></div>
</div>
</li><li class=""><div id="comment-57646e5e757b7faa698b4567" class="comment-block">