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 Make

    Make

    Elliot Williams · 2013

    ProgrammingElectronics & Hardware
    Open LibraryAmazon
    Stats for nerds
    2recommend
    5mentions
    2people
    2020–2025years
    100% recommend

    Mentions per year

    202020212022202320242025

    What Hacker News says

    1. rramadassJun 2025
      Sure, you can do the "Real Analog" course independently. Study it with a Parts Kit from Digilent+Analog Discovery 2/3 device(AD2/AD3)+Arduino board. That would be a nice entry point into Electronics+Embedded Systems.

      I was referring to the tutorial pdf of Understanding Signals with Propscope containing very nice step-by-step lessons in using a USB Oscilloscope for measuring various circuit parameters. The Propscope itself is very old/underpowered (not being sold anymore) and not needed. You just use AD2/AD3 with its Waveforms software to do the same experiments with any board.

      Note that if you use a AVR-based Arduino you can learn to program at the higher Arduino API/library level and then at the lower direct AVR level both with the same board. For learning Arduino Programming see Exploring Arduino by Jeremy Blum and for direct AVR programming see Make: AVR Programming by Elliot Williams.

      thread
    2. rramadassDec 2022
      Absolutely! But pay may vary because of "market reasons" (whatever that may mean).

      Some suggestions for your study;

      1) Use C/C++ only and nothing else. See my past posts for books full of example code. This will allow you to carry your knowledge across MCU families.

      2) Starting with Arduino and moving on to direct AVR programming is a great approach. Get Elliot Williams' book Make: AVR Programming for the latter.

      3) Arduino programming is deceptively easy but extremely powerful if mastered properly. Do your sample programs first on Arduino and then redo it using straight AVR-C. This will teach you how to prototype something quickly using Arduino and then when you have strict cycle/memory/power/latency requirements how to drop down to the metal and program exactly what is needed.

      Finally from the career pov, you will become one of the few who can do and understand everything from bare metal all the way to processing in the "Cloud". As an example; read sensor data using Arduino, send it over the Internet to the "Cloud", Apply ML algorithms and do "Predictive Analytics". This is Industry 4.0/IIOT etc.

      thread
    3. ms-fellagJan 2022
      >There's a lot of room for someone to create good tutorials and material for ramping up and out of Arduino. Would have helped me a lot, at least.

      Good news they do exist (at least if i understood your statement correctly), You just need to search with the keywords "AVR", "atmega328", or whichever version you intend to use instead of "Arduino".

      I attempted to make a simple PLC this summer and these resources were a great help :

      [book] Make: AVR Programming https://www.amazon.com/AVR-Programming-Learning-Software-Tec...

      and this complementary (or introductory) video to the book by the author i believe https://www.youtube.com/watch?v=ERY7d7W-6nA

      [Youtube-videos] A playlist of Cornell's ECE 4760 AVR Lectures by the very chill "Bruce Land" (from 2012) : https://www.youtube.com/playlist?list=PLD7F7ED1F3505D8D5

      The course website (labs, exercises and readings) : https://people.ece.cornell.edu/land/courses/ece4760/index_20...

      Homeworks : https://people.ece.cornell.edu/land/courses/ece4760/homework... Labs : https://people.ece.cornell.edu/land/courses/ece4760/labs/old...

      Although the course was centered around an atmega16 or something? i really don't recall sorry but the knowledge i gained was invaluable and easily transferable to a 328p.

      Fundamentals of Microcontrollers - Arduino bare-metal breakdown (A playlist of a guy "Mitch Davis" exploring an atmega328 barebone and using tools like AVRdude etc..) https://www.youtube.com/playlist?list=PLNyfXcjhOAwOF-7S-ZoW2...

      Atmel Programming Tutorial (by Chris Dahms ) https://www.youtube.com/playlist?list=PLoLaqVexEviMZu55Y4JO6...

      Hope this helps.

      thread
    4. rramadassApr 2020
      Neat! I think your choice of C and Python as the languages to be taught is very right. The idea of showing the use of C in both Desktop/Server and Embedded environments has long been the approach i had advocated. C is truly the de-facto "universal" language and students should be made aware of it from the start.

      I would suggest the following additions;

      * The Arduino "language" is C++. Use this as a gentle introduction to C++ as a "better C". From there you can move on to proper C++ (do NOT teach "Modern C++" in the beginning). The intent is to show how "C + some syntactic sugar for expressing abstractions" is quite powerful and that is what is C++. This should prepare the students to embark on a proper study of C++.

      * Instead of using the Arduino "language+library" through the IDE, show them how to use the same GNU gcc toolchain to program the MCU directly in C. See Make: AVR programming by Elliot Williams for details. This teaches the students the idea of a "cross compiler toolchain" and all other related matters from first principles.

      thread
    5. rramadassMar 2020
      I can recommend the following for Embedded Programming;

      * Michael Pont's Embedded C and Patterns for Time-Triggered Embedded Systems (PTTES). They are chock full of invaluable C code (for 8051); in particular, beg, borrow or steal PTTES (free pdf available). Also checkout his other books and his company SafeTTy Systems.

      * Make: AVR programming by Elliot Williams teaches you to directly program the ATmega328P on a Arduino Uno.

      * Introduction to Embedded Systems: Using Microcontrollers and the MSP430 by Jimenez, Palomera et al. is an excellent textbook explaining each hardware aspect of an embedded system and how to program them.

      Note: All the above are for bare-metal embedded programming. For Embedded Linux on RPi, i suggest Exploring Raspberry Pi: Interfacing to the Real World with Embedded Linux by Derek Molloy.

      thread

    Related

    Cover of Designing Embedded Hardware
    2008–2025

    Designing Embedded Hardware

    John Catsoulis
    2 recommend · 5
    Cover of Compiler construction for digital computers
    2015–2026

    Compiler construction for digital computers

    David Gries
    1 recommend · 7
    Cover of See MIPS run
    2012–2021

    See MIPS run

    Dominic Sweetman
    6 recommend · 7
    Cover of Programming from the Ground Up
    2009–2026

    Programming from the Ground Up

    Jonathan Bartlett
    36 recommend · 56
    Cover of Creation
    2010–2025

    Creation

    Steve Grand
    4 recommend · 8
    Cover of Code Complete
    2007–2026

    Code Complete

    Steve McConnell
    393 recommend · 894
    Cover of Managing Projects with make
    2013–2024

    Managing Projects with make

    Andy Oram
    recommend · 5
    4
    Cover of Making Software
    2012–2024

    Making Software

    Andy Oram
    12 recommend · 30