Embedded Systems Weekly #107
Tags: embedded, embeddedsystems
Published: 2022-07-01 07:49:06

July arrived, nevertheless our community is still very much active: Several new articles, several old gems and even a new major release of Vim! Overall a great issue for Embedsys Weekly. This week I also asked "Do you prefer articles on software, hardware or no preferences". 23.5% replied software, 30.6% replied hardware and 45.9% don't have preferences. To me, it looks close to the actual balance of the newsletter. What do you think?

Thank you to [vladco](https://www.reddit.com/user/vladco/) for the header's picture.

Happy reading!

### Articles 
[BMW F Series Gear Selector, Part One: Failures](https://www.projectgus.com/2022/06/bmw-f-series-gear-selector-part-one-failures/)
[BMW F Series Gear Selector, Part Two: Breakthrough](https://www.projectgus.com/2022/06/bmw-f-series-gear-selector-part-two-breakthrough/)
Amazing write up by Angus who shares his adventure in the reverse engineering of this gear selector. If you're not an insider, I bet you'll be surprised how complicated a gear selector can be.

[Pong simulation](https://www.falstad.com/pong/index.html)
Thanks to articles shared in previous issues, we know that the original Pong was 100% done with discrete components. This page is a superb circuit level interactive simulator of the 1972 Atari game. Each feature has its own simulation. I really enjoyed navigate through all the pages.

[Software upgrade for 19-year-old martian water-spotter](https://www.esa.int/Enabling_Support/Operations/Software_upgrade_for_19-year-old_martian_water-spotter)
The instrument that spotted water on Mars, the MARSIS (Mars Advanced Radar for Subsurface and Ionospheric Sounding), receives a software upgrade to that will make it able to see beneath the surface.

[Some Assembly Required](https://github.com/hackclub/some-assembly-required)
An approachable introduction to assembly that can be read in 30 minutes if you skip code examples. Although it's probably interesting to take a bit more time to try to read them and understand the details.

[The Power of Ten Rules for Developing Safety Critical Code](http://spinroot.com/gerard/pdf/P10.pdf)
Another paper from the Jet Propulsion Laboratory that states 10 rules to write safe C code.

[The ARM Diaries, Part 1: How ARM’s Business Model Works](https://www.anandtech.com/show/7112/the-arm-diaries-part-1-how-arms-business-model-works)
An article from 2013 that describes by this year the business model of Arm. I'm not sure how much model changes since 2013. If one of you knows a more recent description, please, share it with me.

[A little more speed from the 6502](https://imapenguin.com/a-little-more-speed-from-the-6502/)
This article is a follow-up of the previous article [How fast can a 6502 transfer memory](https://imapenguin.com/how-fast-can-a-6502-transfer-memory/). It uses the loop unrolling technique to optimise the code.

### News / Business
[Vim 9.0 released](https://www.vim.org/vim90.php)
Three years after the last version (8.2) Vim finally receives an update.

### Education / Community
[RISC-V Instruction-Set](http://blog.translusion.com/images/posts/RISC-V-cheatsheet-RV32I-4-3.pdf)
In Embedded Systems #102, I shared a very convenient [x86 Opcode Structure and Instruction Overview PDF](https://embedsysweekly.com/embedded-systems-issue102/). At this time multiple persons asked for an identical one for RISC-V. I finally found one via [Binni Shah](https://twitter.com/binitamshah).

### Misc
[Hash collisions and exploitations](https://github.com/corkami/collisions)
A collection out of embedded systems scope, but I believe knowing the weakness of the common hash functions is a must-known.