Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
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
    M

    MCU on Eclipse

    mcuoneclipse.com · Personal blog · on HN since 2013

    Embedded developer blog on microcontrollers, ARM Cortex-M, FreeRTOS, debugging tools, and DIY electronics projects.

    Visit blogRSSHN submissions
    Hardware & ElectronicsSystems & PerformanceProgramming
    What HN says

    HN commenters link its practical embedded posts, such as avoiding dynamic memory, address sanitizer on microcontrollers, and low-power techniques.

    Stats for nerds
    26HN people shared it
    22linked in comments
    550story points
    Mar 2025last shared
    2020people per year2025

    Top posts on HN

    1. 1
      How to make sure no dynamic memory is used
      2 people · 109 points · first shared 2022 · 42 comments on HN
    2. 2
      ARM Cortex-M, Interrupts and FreeRTOS
      2 people · 93 points · first shared 2016 · 12 comments on HN
    3. 3
      DIY ‘Meta Clock’ with 24 Analog Clocks
      1 person · 86 points · first shared 2019 · 18 comments on HN
    4. 4
      DIY Split Flap Display
      1 person · 83 points · first shared 2022 · 14 comments on HN
    5. 5
      DIY RFID Business Card and Badge Holder with Victorinox Swiss Army Knife Tools
      1 person · 77 points · first shared 2024 · 4 comments on HN
    6. 6
      Using a Time-Of-Flight LIDAR Sensor
      1 person · 64 points · first shared 2016 · 25 comments on HN
    7. 7
      Reverse Engineering of a Not-So-Secure IoT Device
      4 people · 19 points · first shared 2019 · Discussion on HN
    8. 8
      Position-Independent Code with GCC for ARM Cortex-M
      1 person · 4 points · first shared 2021 · Discussion on HN
    9. 9
      Navigating AI: Critical Thinking in the Age of LLMs – MCU on Eclipse
      3 people · 3 points · first shared 2025 · Discussion on HN
    10. 10
      Semihosting with VS Code on RP2040
      1 person · 3 points · first shared 2023 · Discussion on HN

    What HN people wrote when they linked it

    • kragenMar 2025

      In my sibling comment about the overall systems aspects of the situation, I asserted that there was in fact enormously more information available for how to program in the 32-bit ARM assembly used by the ATSAMD20 than in Z80 assembly. This is an overview of that information, starting, as you did, from the Internet Archive's texts collection.

      Searching the Archive instead for [arm thumb programming] I find https://archive.org/details/armassemblylangu0000muha https://archive.org/details/digitaldesigncom0000harr_f4w3 https://archive.org/details/armassemblyforem0000lewi https://archive.org/details/SCE-ARMref-Jul1996 (freely available!) https://archive.org/details/armassemblylangu0000hohl https://archive.org/details/armsystemarchite0000furb https://archive.org/details/learningcomputer0000upto https://archive.org/details/raspberrypiuserg0000upto_i5z7 etc.

      But the Archive isn't the best place to look. The most compact guide to ARM assembly language I've found is chapter 2 of "Archimedes Operating System: A Dabhand Guide" https://www.pagetable.com/docs/Archimedes%20Operating%20System.pdf#page=20, which is 13 pages, though it doesn't cover Thumb and more recently introduced instructions. Also worth mentioning is the VLSI Inc. datasheet for the ARM3/VL86C020 https://www.chiark.greenend.org.uk/~theom/riscos/docs/ARM3-datasheet_ARM-Family-Data-Manual-VLSI.pdf sections 1 to 3 (pp. 1-3 (7/56) to 3-67 (45/56)), though it doesn't cover Thumb and also includes some stuff that's not true…

    • rpaddockOct 2023

      I can add a bit of historical context here. John wrote that during the development of WINAVR, the first GCC compiler for AVR. The discussions can be found in the AVR-GCC mailing list archives.

      When the 'Small' optimization is used in AVR GCC it is aggressive and leads often to broken code if 'volatile' is not properly used.

      AVR GCC, using Small optimization, would remove any variable that has no side effects from the compiler's view. Setting a value in an interrupt handler would be outside of the view of the compiler's abstract machine, so 'flag' variables were often removed. Changes in hardware registers fall into the same category.
      These removals result in broken code.

      Volatile is never a replacement for atomics or proper locks/mutexes/semaphores.
      If hardware such as an interrupt handler or hardware register is not involved, then using volatile is a creating a race condition, which may or may not ever become apparent.

      Erich Styger wrote more recently about volatile here.

      https://mcuoneclipse.com/2021/10/12/spilling-the-beans-volatile-qualifier/

      John and I both make an appearance in the linked parent particle to that one.

      Any earlier one of Erich's:

      https://mcuoneclipse.com/2013/08/14/volatile-can-be-harmful/

      If changing the optimization level breaks something, it is probably a missing volatile when doing bare hardware.

    • jeffstephensNov 2020

      I found k3s to be VERY noisy in logs - I definitely recommend log2ram if you want your SD card to last very long! (Or use different external storage). I had two Pi nodes with corrupted filesystems until I made the switch.

      https://mcuoneclipse.com/2019/04/01/log2ram-extending-sd-card-lifetime-for-raspberry-pi-lorawan-gateway/

    • elcritchFeb 2020

      Hmm, maybe you could possibly instrument the functions[1] to write the function address to a register, presuming you have enough program space. Presuming you're in C and your compiler supports that.

      1: https://mcuoneclipse.com/2015/04/04/poor-mans-trace-free-of-charge-function-entryexit-trace-with-gnu-tools/

    • ebanorafaelApr 2023

      Adding to other replies

      https://mcuoneclipse.com/2021/05/31/finding-memory-bugs-with-google-address-sanitizer-asan-on-microcontrollers/

      https://interrupt.memfault.com/blog/ubsan-trap

      I've tested the UBSan, it worked with some limitations but helped me catch some old hidden bugs.

    • johndoe0815May 2024

      The link leads to some politics article that is not accessible in the EU.

      This is probably the correct one: https://mcuoneclipse.com/2024/05/22/low-power-optimization-techniques-for-arm-cortex-m0-microcontrollers/

    Related

    Interrupt (Memfault)interrupt.memfault.com51 people

    From zero to main(): How to write a bootloader from scratch

    Interrupt (Memfault)
    Company · last shared 2026
    Jay Carlsonjaycarlson.net44 people

    Exploring different microcontrollers less than $1

    Jay Carlson
    Personal · last shared 2026
    cpldcpucpldcpu.wordpress.com30 people

    The “terrible” 3 cent MCU – a short survey of sub $0.10 microcontrollers

    cpldcpu
    Personal · last shared 2024
    Tom Verbeuretomverbeure.github.io39 people

    Tesla's FSD – A Useless Technology Demo

    Tom Verbeure
    Personal · last shared 2026
    Arm Community Blogcommunity.arm.com147 people

    An update on GNU performance

    Arm Community Blog
    Company · last shared 2025
    Don Lancasterlaughtonelectronics.com20 people

    One-bit Computing at 60 Hertz

    Don Lancaster
    Personal · last shared 2024
    Chips and Cheesechipsandcheese.com185 people

    Google's Liquid Cooling

    Chips and Cheese
    Publication · last shared 2026
    GNOME Blogsblogs.gnome.org490 people

    AirPods fast connect security vulnerability

    GNOME Blogs
    Company · last shared 2026