Skip to content
HomeVideosBooks
AllTopicsTrends
BlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    Cover of Making Embedded Systems

    Making Embedded Systems

    Elecia White · 2011

    Eager to develop embedded systems? These systems don't tolerate inefficiency, so you may need a more disciplined approach to programming. This easy-to-read book helps you cultivate a host of good development practices, based on classic software design patterns as well as new patterns unique to embedded programming. You not only learn system architecture, but also specific techniques for dealing with system constraints and manufacturing requirements. Written by an expert who's created embedded systems ranging from urban surveillance and DNA scanners to children’s toys, Making Embedded Systems is ideal for intermediate and experienced programmers, no matter what platform you use. Develop an architecture that makes your software robust and maintainable Understand how to make your code smaller, your processor seem faster, and your system use less power Learn how to explore sensors, motors, communications, and other I/O devices Explore tasks that are complicated on embedded systems, such as updating the software and using fixed point math to implement complex algorithms

    Electronics & HardwareSystems & OS
    Open LibraryAmazon
    Stats for nerds
    10recommend
    13mentions
    13people
    2012–2026years
    77% recommend23% neutral

    Mentions per year

    20122014201620182020202220242026

    What Hacker News says

    1. throwaway219450Sep 2026
      I like Elicia White’s Making Embedded Systems because it covers a lot of practical stuff like how to read a datasheet. It’s a good book for existing programmers.

      A lot of electronic books struggle to find balance between super easy projects, very specific cookbook recipes or a laundry list of components.

      thread
    2. skydhashMar 2026
      I'm not a professional embedded engineer, but I do hack around it. Some books I collected:

      - Applied Embedded Electronics: Design Essentials for Robust Systems by J. Twomey. It goes over the whole process making a device and what knowledge would be required for each. Making Embedded Systems, 2nd Edition by E. White is a nice complement.

      - Embedded System Interfacing by M. Wolf describes the signals and protocols behind everything. It's not necessary as a book, but can help understand the datasheets and standards

      - But you want to start with something like Computer Architecture by C. Fox or Write Great Code - Volume 1 - Understanding the Machine, 2nd Edition by R. Hyde. There are better textbooks out there, but those are nice introductions to the binary world.

      The gist is that you don't have a lot of memory and CPU power (If you do, adapting Linux is a more practical option unless it's not suited for another reason). So all the nice abstractions provided by an OS is a no go, so you need to take care of the hardware and those are really finicky,

      thread
    3. nabla9Jul 2024
      Making Embedded Systems by Elecia White https://www.oreilly.com/library/view/making-embedded-systems...

      https://github.com/eleciawhite/making-embedded-systems

      Practical Electronics for Inventors, Fourth Edition 4th Edition by Scherz, Simon Monk

      thread
    4. analogwzrdOct 2023
      If you're just getting started, I agree with others here to just get something working. You'll naturally bump into the limitations of whatever structure/design patterns you're using.

      Making Embedded Systems[0] is a great book that goes over some basics about how to structure a low level coding project. It's focused on embedded projects, but the principles will still apply.

      It's been very useful for me to learn how to make the compiler, and make/cmake, work well with the software that I'm writing. Things like compile time switches can be really useful in making your software super flexible. For example, you can add in compile time switches in your code to log particular events when you're debugging that wouldn't be useful and make your project bloated in the final version.

      [0]: https://www.oreilly.com/library/view/making-embedded-systems...

      thread
    5. blubAug 2022
      I suggest learning an architecture framework which guides you on what topics to address as part of your architecture - such as 4+1, Viewpoints and perspectives or arc42 which I’ve learned of recently and seems to resemble the former. You’ll then mix domain-specific details into that framework.

      Systems design is for me quintessentially embedded system architecture for a microcontroller, a SoC or combination. It could be a smartphone or console, or medical device, etc. This is a very broad domain… in my case I work exclusively on non safety-critical SW, so I’ve focused on learning Linux internals and system programming which I combine with an architecture framework. Typically I design middleware and daemons which work together to cover a specific area of a product. I work with different kinds of specialists (HW, kernel, performance, etc) and a lead SW architect for each specific platform. The system architect is a different person that oversees both SW and HW and requires skills in both.

      For Linux I cand recommend the classics: Stevens, Kerrisk, Love. I found Chris Simmonds’ book to be a good general intro to embedded programming; it has much info which also helps with embedded system design. I’ve also picked up ideas from Making Embedded Systems by White or Embedded Systems Architecture by Noergaard.

      Application design refers to individual applications running on an OS. These are the typical MVC or layered architecture styles. The official OS UI framework will likely define a recommended architecture while headless services are quite flexible and support several architectural styles.

      Vol 1 of the Pattern Oriented Software architecture is a good intro. I have Software Architecture Patterns by Richards on my reading list, since it covers more recent styles like microservices.

      thread
    6. dbuderNov 2021
      Maybe try Making Embedded Systems by Elecia White, more of a software eng into firmware dev but it won't be C++ but maybe teach your LED to blink before you teach a robot to pathfind.
      thread

    Related

    Cover of An Embedded Software Primer
    2012

    An Embedded Software Primer

    David E. Simon
    3 recommend · 3
    Applied Embedded ElectronicsJerry Twomey
    2025–2026

    Applied Embedded Electronics

    Jerry Twomey
    2 recommend · 2
    Cover of Patterns for Time-Triggered Embedded Systems
    2013–2025

    Patterns for Time-Triggered Embedded Systems

    Michael J. Pont
    3 recommend · 11
    Cover of Computer architecture
    2018–2026

    Computer architecture

    Caxton C. Foster
    5 recommend · 7
    Cover of The design and implementation of the 4.4BSD operating system
    2010–2026

    The design and implementation of the 4.4BSD operating system

    Marshall Kirk McKusick
    4 recommend · 10
    Cover of Software Systems Architecture
    2016–2024

    Software Systems Architecture

    Nick Rozanski
    5 recommend · 5
    Introduction to Embedded SystemsEdward A. Lee
    2019–2026

    Introduction to Embedded Systems

    Edward A. Lee
    3 recommend · 11
    Cover of Designing Embedded Hardware
    2008–2025

    Designing Embedded Hardware

    John Catsoulis
    2 recommend · 5