EmbeddedRelated
embeddedrelated.com · Group blog · on HN since 2011
EmbeddedRelated hosts articles by embedded engineers on algorithms, FPGAs, C techniques, hardware bugs, and the history of the 6502.
What HN saysCommenters recommend its articles, such as Jason Sachs's LFSR series, and cite them on RF signals and complexity.
59HN people shared it
15linked it in comments
64stories submitted
1.7Kstory points
3 months agolast shared
2011people per year2026
Most-shared posts
- 1Chebyshev Approximation5 people · 346 points · first shared 2015 · 60 comments on HN
- 2How FPGAs work, and why people will buy them (2013)4 people · 216 points · first shared 2014 · 118 comments on HN
- 3My Love-Hate Relationship with Stack Overflow3 people · 283 points · first shared 2015 · 235 comments on HN
- 4Coroutines in one page of C3 people · 185 points · first shared 2013 · 60 comments on HN
- 5Amdahl's Law Is Misleading3 people · 47 points · first shared 2017 · 13 comments on HN
- 6Ten little algorithms, part 1: Russian peasant multiplication3 people · 7 points · first shared 2015 · discussion on HN
- 7Development of the MOS Technology 6502: A Historical Perspective (2022)2 people · 140 points · first shared 2022 · 23 comments on HN
- 8The Habitat of Hardware Bugs2 people · 70 points · first shared 2016 · 18 comments on HN
- 9How to use ADC input on RaspberryPi Pico running NuttX2 people · 3 points · first shared 2024 · discussion on HN
- 10Delayed printf for real-time logging2 people · 2 points · first shared 2013 · discussion on HN
- 11Supply Chain Games: What Have We Learned from the Semiconductor Shortage? (2021)2 people · 1 points · first shared 2026 · discussion on HN
- 12Using the Beaglebone PRU to achieve realtime at low cost2 people · 1 points · first shared 2014 · discussion on HN
- 13Showarticle 10652 people · first shared 2017
- 14Learning Rust for Embedded Systems1 people · 84 points · first shared 2021 · 27 comments on HN
- 15How FPGAs work, and why you'll buy one (2013)1 people · 79 points · first shared 2016 · 32 comments on HN
What HN people wrote when they linked it
yehosef · 2018-05-03
This is an interesting play but doesn't seem like a good fit.
The examples on the front page: "how do I connect to our database", "what kind of email templates do we have". Are these questions that you're going to get multiple answers for and I'm going to upvote the best and/or select one as the "selected" answer. I would think this would be a sign of dysfunction in most cases. And how does the gamification play into it? (maybe it's a secret bus-factor detector.)
It seems like a regular wiki/knowledge base would be a better fit for this kind of knowledge. How would the SO structure help.
A related note, I wonder if you can disable the "Soup Nazis"[1] feature or it's too deeply embedded in the psyche of the product.
[1]https://www.embeddedrelated.com/showarticle/741.php
lpmay · 2017-11-20
LFSR's are cool. Jason Sachs also has a great article series on LFSR's on Embedded Related, if you're interested in an even more in-depth coverage.
https://www.embeddedrelated.com/showarticle/1065.php
seanp2k2 · 2016-10-12
You can use a bus pirate as a LA instead of Audacity for these signals since they're so low-tech: http://tinkerman.cat/decoding-433mhz-rf-data-from-wireless-switches/
Related, for OOK: https://www.embeddedrelated.com/showarticle/626.php
http://rayshobby.net/rftoy/ is also fun if you want a more "let me play with something that already works" type gadget.
Audacity does work well enough for IR though, and these are the best transceivers I know of: http://www.iguanaworks.net/products/usb-ir-transceiver/
jason_s · 2015-11-24
Great read!
Complexity is evil evil evil (my take on it: http://www.embeddedrelated.com/showarticle/132.php)
<quote from Conway's article>
Incidentally, today’s automobiles share this problem
of a massive amount of on-board code and the bugginess
that accompanies it. A few years ago, some Mercedes
owners found that when they pushed a certain button on the
navigation system the driver’s seat moved.
</quote>
I have this sinking feeling that my death is going to occur because of some interaction between software/firmware design and an unexpected situation (e.g. stuck in an elevator between floors because the firmware is expecting internet packets from Twitter or something). Hope I'm wrong, but the complexity of electronics seems to be increasing fast enough for system reliability to decrease.
muzani · 2020-02-26
This is an excellent question, and I'm disappointed this hasn't received more attention.
Secretary problem - applicable to anything where you have a lot of choices, such as marriage, getting a job (not just hiring), picking a business partner, anything you have to accept/refuse.
The solution is you reject the first 37% of applicants, use that to establish a benchmark, and then pick the first one who is better than any rejected. You're 37% likely to find the best candidate. But such is life. In other words, once you marry someone out of 10 choices, there's 63% odds you'll find someone better later.
There's Amdahl's Law/Gustafson's Law, explained nicely here: https://www.embeddedrelated.com/showarticle/1033.php
Basically, upon first observations, Amdahl's Law seems true... even if you put 10x more effort into something, it seems like the total output is 42% higher. But this total output being 42% higher means that you can also do X, Y, and Z, 42% faster. Having Z 42% faster leads to A being 20% faster, leading to B being 8% faster, and B is a feedback back into the loop.
In more practical terms, much faster computers means software is written slightly faster, but slightly faster software allows for more complicated electronics CAD, which allows us much faster computers, which allows for even more advanced technical developments like Internet and cryptocurrency.
In short, if you're locked on Amdahl's Law (minor gains for tremendous effort), find a way to utilize…
mitthrowaway2 · 2025-12-23
I always enjoyed Jason Sachs' blog at embedded related.
https://www.embeddedrelated.com/showarticle/152.php
anonymousiam · 2025-12-04
Sometimes you can fool the (C) optimizer by using the 'volatile' keyword in front of a variable in code that would otherwise be optimized out.
https://www.embeddedrelated.com/thread/4749/when-and-how-to-use-the-vo…
Joker_vD · 2023-11-16
I imagine they want something like this [0] but only with even less string pointers, using e.g. hashes or globally assigned numbers instead.
[0] https://www.embeddedrelated.com/showarticle/518.php
nayuki · 2018-11-04
If I think it's interesting enough, I might implement separate interactive web pages to explain both the finite field arithmetic and the Reed-Solomon encoder LFSR. But if you look at these existing materials, I hope you agree with me that RS ECC encoding is long and tedious:
* https://www.embeddedrelated.com/showarticle/1182.php#c-implementation
* https://www.reddit.com/r/programming/comments/9th8a7/creating_a_qr_cod…
* https://www.backblaze.com/blog/reed-solomon/
* https://en.wikiversity.org/wiki/Reed%E2%80%93Solomon_codes_for_coders
jabl · 2018-01-20
Knowing very little about the low-end micro-controller manufacturing economics, isn't there some kind of lower bound limit where the marginal cost of the chip itself is utterly dwarfed by the cost of the pins and packaging?
Sure, a 32-bit chip is bound to be bigger than an equivalent 8 or 16-bit one, but e.g. the pulpino project has designed a 32-bit one using only 11.6 kGE. Not very much nowadays. For comparison, according to someone from Atmel, the AVR core is 12k gates, and megaAVR is 20k gates (https://www.embeddedrelated.com/showthread/comp.arch.embedded/14362-1.… ).
lsaferite · 2017-03-15
nchelluri · 2015-06-18
When is VxWorks inappropriate, but QNX appropriate?
EDIT: http://www.embeddedrelated.com/showthread/comp.arch.embedded/123841-1.… says:
> the most fundamental difference between VxWorks and QNX is as you have described, QNX lends itself to a message passing architecture while VxWorks lends itself to a shared memory architecture.
>
> My personal opinion is that a message passing architecture is easier to get to grips with and as such is potentially easier to understand and debug.
> However, the majority of software engineers with experience of an embedded RTOS will be very well informed about the Shared Memory architecture.
shabble · 2015-06-12
Why isn't volatile sufficient here? If they were both modifying the same variable, I can see how
A:read Ax;
(Interrupt: B:read Bx; B:write Bx+1; return);
A: write Ax+1 # (wrong!)
could occur. But the only error I can see here is that sometimes put() might fail thinking there is overflow when there's maybe one space left.
Am I missing something?
(Further investigation: This[1] thread suggests you can run into problems if your counter type is larger than the native ALU size, because the interrupt could occur midway through your increment operation. But here the size_t is 16 bits, so that should 't be a problem?)
[1] http://www.embeddedrelated.com/showthread/msp430/20400-1.php
reemrevnivek · 2011-08-30
This has been the subject of many heated discussions in the embedded world. For a start, see http://www.embeddedrelated.com/usenet/embedded/show/91196-1.php and http://www.microchip.com/forums/tm.aspx?m=292995 for a start.
There are code size limitations (your binary must be no larger than 16 kB, some of these devices have 128 kB of Flash), there are optimization restrictions (you can't use -O3 or -Os, and some -f flags are disabled), and the libc is closed-source. These are the things that bug most people.
The OP here is pointing out issues with closed-source peripheral stacks. That's a whole different issue.
oliculipolicula · 2026-07-25
This is by the founder about IAS (aka (Turing's) [*Bazaar-]Cathedral) founding between war & depression, while it was still at 20 Nassau St
Further Quaker background by Freeman Dyson's son George who wrote that book having grown up there
https://www.ias.edu/ideas/2009/george-dyson-tavern-and-meeting-house
*IAS was an open-maxxed Bell Labs
https://www.embeddedrelated.com/showarticle/700.php
>Dyson misses the point somewhat about virtual machines and cloud computing, which are much more about relocatable and rescalable computing — rather than having to house and maintain computers to handle the peak computational load, we can run software remotely as a service, and purchase resources on an as-needed basis; the providers of these services can reroute and reallocate resources in real-time without any intervention by or impact on their customers. There’s something here in Dyson’s statement alluding to parallel processing...
Paradoxes for outwitting the uni-context..