Embedded Systems Weekly #112
Published: 2022-08-05 18:17:05

This week, I did some research on the first embedded systems ever designed.
Nowadays, we all know that all (almost all?) embedded systems are built around a microcontroller or a microprocessor. That's why it exists a debate on the idea that only digital embedded systems should be considered in the history of our field. I believe it is not right, and we should consider as well the predecessors. These predecessors are the first generation, appeared in the 1920s and were relay-controlled: No CPU but a logical circuit built only with relays! For instance, They were used in the elevator industry and permitted the apparition of [automatic-controlled elevators](https://elevation.fandom.com/wiki/Elevator_control_system#Automatic-controlled_elevator). If we decide to consider only embedded computers, the military field pushed forward the revolution beginning of the 1960s. As much as I know, the first ones were created to run the guidance systems of missiles. Almost at the same time, Autonetics created the [D-17B](https://en.wikipedia.org/wiki/D-17B) for the Minuteman I and IBM created the [ASC-15](https://en.wikipedia.org/wiki/ASC-15) for the Titan II. Few years later, the [Apollo Guidance Computer](https://en.wikipedia.org/wiki/Apollo_Guidance_Computer) helped us to land on the moon.

Thank you to [Paul Smith](https://twitter.com/pauls_3d_things) for the header's picture.

Happy reading!

## Articles 
[Rust linux kernel development](https://www.jackos.io/rust-kernel/rust-for-linux.html)
Linux kernel 5.20 expected in the coming months will almost certainly include the Rust support. To prepare yourself and get ready for this moment, you can follow this guide that describes how to write a Linux kernel module in Rust.

[Project Euler on a Microcontroller](https://shawnnapora.github.io/blog/2022/07/29/euler-on-micro/)
If you are looking for inspiration to learn new technology, you can do like Shawn Napora and try to use the project Euler.

[I Designed My Own 16-bit CPU](https://www.youtube.com/watch?v=Zt0JfmV7CyI)
AstroSam, 16 years old, designed a 16-bit CPU called Astro-8, created an assembly language for it and finally created a compiled language named Armstrong (deal with it). All the video is entertaining and the work is impressive when you take into account Sam's age. All the code and schemas are on [GitHub](https://github.com/sam-astro/Astro8-Computer). I also discovered Logisim-evolution tool watching the video.

[Templates in C](https://www.davidpriver.com/ctemplates.html) 
After a presentation of the different ways possible, the article shows in detail how to implement the most interesting method according to the author: Template Headers with Multiple Inclusion.

[Squashfs Binary Format](https://dr-emann.github.io/squashfs/squashfs.html)
SquashFS is a read only file system widely used in embedded systems. This document is among the best resources on the on-disk format.

## News / Business
[Senate passes bipartisan bill to subsidize U.S.-made semiconductor chips](https://www.washingtonpost.com/politics/2022/07/27/senate-chips-funding-bill-pass//)
The bill is named the Chips and Science Act, and among the $280 billion planned, about $53 billion should go to microchips manufacturers to help them to build fabs in the USA. It's a huge investment to try to catch up with the worldwide completion. I wish Europe could do the same one day.

## Education / Community
[Boolean Algebra Basics—An Overview of Boolean Logic](https://www.allaboutcircuits.com/technical-articles/boolean-basics/)
I, you, we studied or will study boolean logic. This article goes through the basics.

## Tools / Libraries
[Logisim-evolution](https://github.com/logisim-evolution/logisim-evolution)
An alternative free and open-source tool to design and simulate digital logic.

## Misc
[Usborne 1980s Computer Books](https://usborne.com/us/books/computer-and-coding-books)
The books are in PDFs and free to download for personal usage. Usborne is a famous children's books publisher. In the 1980s, they published a few of them on computers that deserve to be read. If the link shows a page not found message, click on the homepage, choose English/USA for the language and the region
and finally click again on the link.