Embedded

View Original

April Madness?

March Madness finished with more of a whisper than a bang (PyBoard beat ESP8266!). However, someone still deserves a hat. Today I’ll go over scoring and look at a few brackets (including mine and two reader submitted ones), then you can score yours and tell me if you should win.

At the end of this post, I’ll do a little retrospective in case we do this next year. So, even if you didn’t post a bracket this year, feel free to stick around.

Scoring

The scoring is normal bracket scoring, like you’d use for March Mammal Madness or NCAA March Madness basketball tournament. Since I don’t actually follow either one of those, the rules are that you win points for each correct winner of a match. The first round is worth 1 point, next round is 2 points, next is 3 points, quarterfinals are 5 points, finals are 8 points and 13 points for the selecting the correct champion.

NOTE: Ummm… so in basketball the “first round” is just getting to the bracket. Since there weren’t any qualifying matches, well, uhhh… everyone gets 32 points to start with!

Check your bracket against the final results:

On my bracket, I got:

  • In the first round I got 32 points, because everyone does.

  • In the second round, I got ten of the sixteen winners right: 20 points.

  • Then I got six of the next eight right: 18 more points for me.

  • In the fourth round, I got one right: 5 points.

  • After that, all of my selections were knocked out, no more points for me for the finals or championship rounds.

Summing that up: 32 + 20 + 18 + 5 + 0 + 0= 75.

Ok, now let’s look at Orkhan AmirAslan’s entry, posted on Twitter. If you haven’t done this scoring, you’ll have to follow along, flipping back and forth from his bracket to the final results. If you have done it, well, skip this section.

  • First round: 32 points for everyone. Because the rules are made up and the points don’t matter.

  • Second round: yes for RPi3, no for RPie, yes for PINE, yes for BBB, no for Teensy, yes for Due, no for mbed, yes for PSoc. … that is five right so far, head on over to the other side for the rest of the this round. yes for Photon, yes for ESP8266, no for Imp, yes for Huzzah, no for Uno, no for Stamp, yes for LilyPad, no for PIC. That is a total of nine right which is worth (9*2=) 18 points.

  • Third round: yes for RPi3, yes for BBB, no for Teensy, no for mbed, yes for ESP8266, yes for Huzzah, no for UNO, no for PIC. That’s four right and a total of 12 points for this round.

  • Fourth round: +5 for BBB, nothing for mbed, +5 for ESP8266, nothing for UNO. Total of 10.

  • Fifth round: +9 for ESP8266, nothing for mbed.

  • Final round: OMG, ESP8266 lost. No points!

That is 32 + 18 + 12 + 10 + 9 = 81 for Orkhan.

Next, Kevin McEnhill used the initial, broken bracket (sorry about that). I’m not sure how to score that but let’s see...

  • First round: 32 points

  • Second round: RPi, Edison, Pine, BBB, Nucleo and PSoC. ESP8266, Feather, Trinket, LilyPad, and AT89STK-11. That’s eleven right for 22 points.

  • Third round is where I broke the bracket.

  • Fourth round is good again: BBB is the only one right there, +5 points for that.

  • Fifth round is wonky again but it doesn’t matter, Kevin couldn’t get any points here or in the final.

So that broken third round…  Kevin has to get a win for BBB, but I guess half points for the Pi/Edison matchup that isn’t on his his sheet. And he might’ve gotten points for the ATSAM21 if that won and then lost to the Nucleo, so half points for that. Half points for ESP8266 and full points for the Feather. Full points for Trinket and half points for the AT89STK. That’s 3 wins and 4 maybes (0.5), so five “wins” so 15 points.

Kevin's total is 32 + 22 + 15 + 5 + 0 + 0 = 74.

Whew, this scoring is hard! If you want a hand, let me know.

Now Orkham has the highest score (81). If yours is higher, please post a comment, tweet at @logicalelegance, or hit the contact link above. I’ll give you until May 19th. After that, Orkham gets a hat.

Retrospective

This started because I was amused by the bracketing system not because I was interested in the process of arbitrarily choosing processors. I generally start with a much narrower range of processors but I do use many of the judging criteria to decide, so that was good (for the most post, more on that soon).

This was all relatively spur of the moment, poorly timed with other busyness. I wish I’d scheduled the games and stuck to it so it didn’t peter out like it did. On the other hand, I learned a lot about the various dev kits and processors as well as the whole bracketing system.

Judging Criteria

Here were the judging criteria for 2017:

  • Price per MIPS

  • MIPS per MHz

  • Power per MHz, running fast

  • Open source hardware (1 point for schematics, 1 point for gerbers, 1 point for being able to buy every component in 10kq)

  • Number of tutorials on SparkFun + Adafruit

  • Dev kit size (total board area): Good for putting dev kit in prototype/demo

  • Number of PWMs

  • Sleep current

  • Number of UART / SPI / I2C

  • Ability to connect to internet (Points: 1 for BLE, 2 for Wifi, 0 for nothing)

  • Ability to connect to smartphone (Points: 5 for BLE, 2 for Wifi)

  • Taste (Fruits and veg win)

  • Number of vowels in dev kit name

  • Can be programmed in python

  • Number of bits (32, 64, 16, 8): more is better

  • Size of main processor package (in its smallest form)

  • Processor voltage (lowest wins, flexibility across multiple ranges beats that)

  • Size of flash

  • Size of RAM

  • Number of pages of the getting started guide pdf

  • Number of hardware random number generators

  • Number of ADCs

  • Number of DACs

  • Number of hits in google for the dev kit (measure of popularity)

  • Number of hits in google for the processor

  • Number of pixels on the device

  • Can be run from a 9V battery

  • Price of dev kit at Adafruit (or Sparkfun)

  • Price of dev kit at Digikey

  • Price of processor at Digikey

  • Price of dev kit at Amazon

  • Lowest price of processor at Digikey

  • Lowest price of processor at Octopart

  • Number of processors in shippable stock as viewed on Digikey

  • Total number of processors in shippable stock as viewed on findchips.com

  • Supported by mbed compiler

  • Supported by platform.io compiler

  • Can compile its own runnable code

  • Number of processors in stock in the first line of the first table on findchips.com

  • Lowest price of the processor as found on findchips.com

  • Can be programmed with Processing using Arduino interface

I chose these pretty randomly when I realized I needed to actually “play” the matches. Even then, I didn’t realize how much time I’d spend looking up random factoids about all of these systems. That first set of matches took me hours and showed many failures in the judging criteria (that’s why there were so many ties).

If we do this again, different rounds are going to get different criteria. They will still be randomly selected but for the first round it will be trivial-to-look-up things. More difficult-to-investigate criteria will be for later (smaller) rounds.

Processors

Like the judging criteria, these were somewhat randomly and mainly based on fond memory, my personal board hoard, my wishlist, and a few jokers (Raspberry Pie, lattice crust). I’m completely embarrassed that I misspelled Propeller and FRDM-LK25Z on the sheet I put out. Clearly, I needed to do a better review.

Generating the list from memory also meant that I showed some blind spots: don’t we write about the TI LaunchPad MSP430 and the STM32 Discovery board right here on this very blog? I also missed some extraordinary boards out of ignorance (the BLE+Wifi ESP32, OrangePi, Raspberry Pi W, BBC Micro Bit). On the other hand, learning about those boards was pretty awesome. I’m sure there were others. I’d be tempted to ask around about interesting boards in February next year, if I was going to do it again.

Next Year

But what about you? Was this surreal and silly, pitting dev boards against each other without purpose? Or did you find that it mirrored the somewhat random way you end up choosing processors for a system? Did you learn some things and amuse yourself? Should we do it again next year?