It's all in German, but Google Translate does a good enough job that it's easy to follow.
He's got a very interesting comparison of STM32 originals and clones, as well as various voltage references, 555 timers etc.
A personal favorite is the LTZ1000[3]. The die is a piece of art.
[1]: https://www.richis-lab.de/index.htm
"I need a resistor? fine: lay out a huge amount of stuff"
"No, I need it more accurate! fine: lay out tracks, now burn fuses to select from unit-scale tracks the 'right' number, and if you want better use a laser to do it"
The omitted serial comma made that really hard to parse for me. In case it did for anyone else, I think that it's:
> (accurate ratios between parameters) and (matched pairs of components) and (inaccurate, but long-term stable, parameters that can be calibrated out).
Each generation of ICs made it easier to create more sophisticated computers which in turn enabled the creation of yet more sophisticated ICs.
http://books.google.com/books?id=aByz--9D63wC&lpg=PA31&ots=Z...
The word minicomputers is a dead link to https://web.archive.org/web/20170118103738/http://bitsavers...., which is some reference documentation for the HP 1000 A600 computer.
Nice explanation. Always fun to see the actual intersection where physical properties create a functional circuit.
But, yeah, if precision and stability do not matter, it's cheaper to make them out of silicon.
So much so that probably the most common semiconductor resistors where linearity is needed are actually transistors. Stick on external reference resistor in, use current mirrors inside to distribute the reference current around the circuit, and use transistors in the active region (linear region for FETs). It's also cheaper since transistors take less area than resistors.
More common operational amplifiers are also worth looking into (TL072 is one of my favorites).
Lastly, the 7400-series logic chips are SO interesting. If you need the programmer's version of a jigsaw puzzle, try to build somewhat advanced designs using those. It's very fun and a good learning experience (although hard!).
This guy is building a computer on a breadboard – very intersting indeed: https://www.youtube.com/channel/UCS0N5baNlQWJCUrhCEo8WlA
TL431 is popular yet unknown to most people outside the world of switched-mode power supply. I think the OP wants some popular yet relatively less-known chip to those who is outside of the field.
https://www.maximintegrated.com/en/products/analog/clock-gen...
Still probably the most common microcontroller in existence, just because it's embedded in so many other ICs. 40 years old this year.
Power supplies shipped in the past 10 years are most likely using an Onsemi variant of TI UC2842/3842.
Another one - the 33063/34063 type low-voltage DC/DC switchers. Like the TL431, hobbyists almost never use them but they're all over the place.
Not the cheapest though, about $7 each in qt1 on DigiKey, but that's rarely an issue at the hobby scale. And the ability to use a cheaper transformer and not need an optoisolator can make it save BOM cost even at large scale production.
[1] https://www.analog.com/media/en/technical-documentation/data...
I'd recommend "Designing Analog Chips" by Hans Camenzind[0], the designer of the 555 timer. Particularly chapter 3, "Current Mirrors".
[0] http://www.designinganalogchips.com/ has a free pdf
> accurate ratios between parameters, and matched pairs of components, and inaccurate - but long-term stable - parameters that can be calibrated out.
is much easier to follow at a glance.
I think AVR is most friendliest from all 8 bit architectures.
ld a, #42 ; immediate. C constants
ld a, var ; direct. C globals and statics
ld a, (sp, 4) ; sp relative. C locals and arguments
ld a, (x) ; indirect. C *ptr (ptr in register)
ld a, (x, 42) ; indexed indirect. C ptr->foo (ptr in register)
ld a, [ptr] ; memory indirect. C *ptr (ptr in memory)
ld a, ([ptr],x) ; indexed memory indirect. C ptr->foo (ptr in memory)
There are more, but mainly variations in width and PC relative jumps.I'd be tempted to agree about the registers except that it takes wider instructions to encode the registers used so a well thought out accumulator based architecture can result in very compact code. stm8 has a lot of one byte instructions and most except for branches and word operations are single cycle as well.