so today I realised the ATtiny167 i spec'd for proto#1 just wasn't gonna cut it for proto#2 (the customer changed the goal posts, so not enough pins, not enough PWMs, a 3rd timer would be nice, etc) & after surprising myself with how many functions I could multiplex onto less-than-the-ideal number of pins, I ran out of practical # pins, so thought I'd compare Parts.io with DK & Atmel's parametric search, across all the 8-bit AVR range, cuz really I don't care what it is (ATtiny, ATmega Xmega, etc) so long as it's got what I need & can run the already developed firmware, libraries, etc with little more than a recompile & pin/port reassignment, & then choose a cheap option @ 1000qty.
Minimum spec is simple enough:
Atmel AVR 8-bit.
8MHz min, with internal RC osc.
20 or more i/o
8kB min Flash min
512byte RAM min
256bytes EEPROM min
3 ADC @ 10bit
5 PWM @8bit
1 USART, not essential.
2 timers, 3 preferable.
-20 to 85 degreesC minimum
QFP preferable, because I'll be hand-soldering these suckers & I don't have a toaster-oven. don't even have room for a toaster-oven but that's another matter...
PbFree & RoHS etc
So I start going through each parameter one by one on both sites, until I get to Flash space - there is no Flash/program-space size selector on Parts.io. Nor is there for RAM size. Or EEPROM. Oh dear...
OK, so this will probably just make Parts.io's result list longer, but I'll persevere... (actually it didn't seem to by much)
Next, with a Vcc of 5V, everything remaining in DK's list is in 3 buckets: 1.8-5.5V, 2.7-5.5V & 4.5-5.5V, so no point me selecting any of them, they all suit me. But with Parts.io, I'm not sure if I should be specifying a Nominal, or Maximum, Supply Voltage (I'm being given options I don't normally have available to select, so in some ways that's a good thing, right? we'll see...), or select none at all like @ DK. 'Below the fold' search criteria don't show qty either - so i'm flying a bit blind now... so I tick the 5.0V Nominal & cross my fingers - hits goes from 284 to 168. Hmmm, that's probably not what I want - assuming both sites have the mostly the same results pool so far, few or none should have been excluded. So I remove that 5V-nom from the breadcrumbs. But now you've got me curious, so I'll tick 5.5 & 6.0 in the Vcc-Max field: hits 284 -> 266. OK, I'll live with that he says, scratching his head
Next: ADCs, I select all except the '-' bucket in DK (because all meet my min#ADCs), & 'Yes' in Parts.io.
PWM: DK don't break this out into a separate criteria, they just lump it into an amorphous 'Peripherals' list grouping that now has 3 combinations of Brown-out Detect, LCD, POR, PWM, & WDT, which is annoying, because one of the reasons I'm moving up from ATtiny is that they most/all appear to be limited to 2 PWMs. & on Parts.io I just tick Yes.
SPI & UAT/USART: again DK lump this into 'Connectivity' buckets. I select all options that include SPI & UART/USART (basically excluding only 1 bucket). There are no such criteria @ Parts.io.
Timers: Neither site give any info/searchability.
Temp range: DK's 4 remaining buckets all include my needs, all have -40 min, & max of 85, 105, 125, 150, so I don't select any of them (no need to exclude them). On Parts.io I tick -40 min, & have 3 Max options: 70, 85 & 105. I tick the 85 & 105. What happened to 125?
Package: All the QFP variants on DK, & the QFP on Parts.io, & there's no pacakge selection @Atmel.com. As I've noted before, I can only select 1 package type here.
Packaging: Because I can buy from DK, in this hand-assembly situation I'd normally tick only 'Cut Tape' to keep the list clean of duplicates.
Lastly to cull the numbers a bit more, I exclude the devices with >64 i/o, >64kB Flash & expensive peripherals like USB & Ethernet.
Final List Comparison:
That leaves me with 134 on DK, 75 on Parts.io, & 27 @ Atmel.com. I'll try to describe the "experience" in dealing with what remains.
With such a wide spread remaining @ DK, I select prices for 1000off & then sort by price. Then I can tick a few & do a Compare, and they're minor variants on the ATmega88, 168, & 328 (with various combinations of none, A, & P suffixes). This is exactly what I expected (my dog, did I just do a Daveism? shoot me now!), partly because past & present Arduino boards are based on them, so they probably have high volumes in production yielding lowest cost, especially given that this is just 1 seller, DK, & their market includes lots of the Makerfolk & the manufacturers of a 1001 Arduino-compatible widgets @ low-medium volume. I have to scroll down further to see other less-familar but still decent candidates, even though they're more expensive & probably of little interest. But it's interesting to note the impact that Makerfolk (may be having) on DK's prices of specific lines.
@ Parts.io I sort by $ & obvious candidates in the lowest price range are ATmega48 (4kB Flash, so have to mentally exclude those variants), 88, 8, 8535 (never heard of it), 169, 164, 165, but at >$5 now I'm getting well out of my $ range (<$2.50/1000), but I'm making allowance for not being able to specify a order-qty here. None the less, Parts.io has brought up several family members I was not previously aware of.
This ATmega8535 caught my attention. Unfamiliar part#, but feature-wise seems to be right in the pack. Price is in the ballpark. DK = us$3.25/1000, but on Parts.io the $ from DK is $2.39. Hmmm. Any idea why there'd be a difference?
Oh, & your Price & Stock slide-out panel won't close.
Meanwhile over at Atmel.com, that tight list of 27 results is starting to look curiously incomplete by comparison to both DK & Parts.io, even though I applied almost exactly the same criteria. Its starting to feel unhelpful, with CANbus & PWM specialists in my face, & not a ATmega328 in sight - weird. With no price indication, it becomes a distraction to tell me about other families that, if I roughly mentally correlate their position to DK & Parts.io's $sorted list, are gonna be too expensive.
Curiously, Parts.io isn't showing me any none-, A-, or P-suffixed variants of the 88 or 168 range (& others), no idea why, but having been up & down both lists several times now, I think it accounts for a lot of the difference in results list length for same search on the two sites.
& btw, DK's Comparison screen has a button top-left to show/hide Shared Attributes (or maybe that's a function added by that 'advancedsearch' Greasemonkey script for DK, which works quite well now) - either way, it's a helpful view, cuts through to only the real differences - luvit.
It has to be noted that my MCU specs were low, so the lack of selectability on several parameters @ Parts.io was less of a limitation, because outliers would ultimately be selected out by their higher price later in the process. But if I were searching for a higher-end MCU, Parts.io would quickly become... unappealing, swamping me with insufficiently qualified parts in the 'final list'.
DK was still the better performer, as I could specify/exclude more parameters, & make multiple selections in other parameters where Parts.io allows me to choose only 1.
OTOH, Parts.io & particularly its pre-collapsed-similar-parts feature made less popular but still viable options better known/more visible to me (probably also because Parts.io, even compared to DK with the greasemonkey script) looks so much better & has judicious use of coloured items in the results list (red, blue, grey, green), & of course has a wider variety of pricing sources.
Not being able to see @qty pricing is something I miss. But having done the near-enough to comparing apples with apples searches for something I'm already familiar with, I've gained more confidence in Parts.io's completeness, despite the limitations in some of its search criteria.
Ultimately both lead me to mostly the same results list, and to the choice of the ATmega88 or 168 (& suffixed variants thereof).