Hacker News new | past | comments | ask | show | jobs | submit login

What I want more than $1 microcontrollers is a series of controllers that goes from low price/low performance to higher price/higher performance, but all programmable with the same open-source software stack.

I don't want to read datasheets again whenever I need 100MHz more clock speed, or 1mW less power consumption. Because reading datasheets, at some point, feels like filling out tax forms.




The STM32 line is as close as you will get with this. Its HAL (Hardware Abstraction Layer) is MIT licensed and is very similar across products. Products in the same family are nearly pin compatible.


They are remarkably similar even at the register level - when you program with the LL (low level) library that essentially exposes hardware registers. I find LL easier to understand and work with than HAL.

BTW the license is mostly BSD not MIT with some additional libraries more restrictive.


Yeah, STM32 spans the range between the $1 and the STM32F7 at 200Mhz


Up to the H7 now that goes to 480mhz.


...which has 2.14 DMIPS/MHz = 1.027 BIPS (more than 1 instruction per nanosecond). Fast enough?

(BTW, when I see "mhz" I assume this means "milli-Hertz". Similar when people say they have a 42b structure -- I see this as a 42-bit structure. If I wanted to communicate "42 byte structure" I'd abbreviate as "42B structure". Capitals used judiciously transmit meaning compactly.)


FWIW, I've seen capitalization issues in datasheets. When they're this ubiquitous, it's better to use it as an opportunity to apply number sense as a sort of FEC for verbal understanding. A 480 millihertz ARM doesn't really make sense (if you were running at those rates, you're in such a niche that it has ISA considerations where ARM isn't a great option anymore). Similarly a 42 bit structure on an ostensibly 8 bit machine doesn't make sense. Yes it'd probably be a better world if everyone was consistent, but blindly assuming that they are doesn't really help anyone.


Note, I didn't assume anything. But checking assumptions 'should' be 2nd nature for any geek.

As for millihertz: sure it could make sense, if the design were fully static and one was watching (with eyeballs) some LEDs on control and address and status lines -- in fact, in many 'homebrew' computers, having a setting to allow seeing the sequencing of instruction execution is often a built-in feature.

MHz. B for Bytes. $B for Billions of Dollars (not "$BN") etc. Rules like this reduce our overall cognitive burden, when followed by all. That, in turn, makes us more efficient.


> Note, I didn't assume anything

You literally started with

"BTW, when I see "mhz" I assume this means "milli-Hertz"."

> As for millihertz: sure it could make sense, if the design were fully static and one was watching (with eyeballs) some LEDs on control and address and status lines -- in fact, in many 'homebrew' computers, having a setting to allow seeing the sequencing of instruction execution is often a built-in feature.

I didn't say the the frequency didn't make sense, only that it doesn't make sense as an ARM, as that niche ends up having ISA considerations where something like ARM doesn't make practical sense . Particularly given that I said "up to 480mhz".


When I see an abbreviation, I assume it means something. Do you think that when one sees a word, assuming it has the usual meaning is 'assuming' something? Only in the most extreme sense could that be true. If I assume you know French, yes, that is an 'assumption' because -- I have no knowledge if you know French or not, so for me to say "You seem to know French" would be an assumption.

When I say "MHz" I 'assume' it is an abbreviation. Because, it does not parse as a 'word'. Therefore, the next question is: WHICH abbreviation is it? Does it have a Capital M at the beginning? If it does, then that usually means "Mega" in Scientific/Engineering circles. Does it have an 'm' in the beginning, such as ml? then 'm' means 'milli-' like it usually does with Scientific/Engineering units. When I see 'mhz' --- well, first little 'm' means milli, h -- oh, I see, it's Hz but not properly capitalized, ok, so it's milli-hertz. oh, what, no, I have to know that ARM (supposedly) cannot operate at the milli-hertz range, so now -- with all that context --- I can now make an educated guess what 'mhz' means.

Really?

Are you suggesting I should not ever assume an abbreviation means what it usually means? And I must adopt your way, which is fully context-dependent (and not even accurate in that case)?

I do feel as if you may be a 'word lawyer' and so, I will stop trying to communicate, since this is going to be painful for me. Good day.


Some H7 parts are rated up to 550 MHz, and they'll overclock well beyond that.


I've wanted something similar when shopping at Adafruit. https://www.pcpartpicker.com has some pretty good search tools that I wish more vendors would copy.


Digikey's parametric search is hard to beat.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: