The TMPDIR podcast

The TMPDIR podcast

By TMPDIRTechnology
Download on the App Store

The TMPDIR podcast episodes

  • Low-Power Cellular IoT with Jared Wolff of Circuit Dojo

    Available on your favorite podcast platform.

    In this episode, Cliff talks with Jared Wolff,

    founder of Circuit Dojo and an expert in
    low-power, cellular-connected microcontroller systems. We cover the Nordic
    nRF9151, battery-powered LTE-M and NB-IoT design, satellite connectivity,
    Zephyr RTOS, and building a self-hosted IoT server in Rust.

    • Jared's path: from taking apart computers and a first Arduino, to hardware
    • validation on the iPod team at Apple and at Cisco, to Bay Area startups and
      consulting in Connecticut.
    • Circuit Dojo makes the nRF9160 Feather and the
    • nRF9151 Feather, compact
      Feather boards supporting
      LTE-M, NB-IoT, and non-terrestrial networks, at about a fifth of the size of
      Nordic's development kits.
    • The nRF9151 is a
    • pre-certified system-in-package with a modem CPU and an application CPU.
      It has enough resources to run a full IoT application, which keeps OTA
      updates simple.
    • The nRF91 as a PPP modem for an OpenWrt router,
    • paired with an nRF52840 running as a Thread radio to build a Thread border
      router. Linux handles the NAT64 and IPv6 work that is hard to fit on a
      microcontroller.
    • Low-power design lessons:
      • Know what every part does when the system is powered down; prove out
      • power switching on development kits before the first spin.
      • Give real-time clock chips their own power domain and isolate them
      • carefully.
      • Hunt phantom current with the Nordic Power Profiler Kit or a
      • Joulescope; watch the nRF52 NFC pins.
      • The nPM1300 PMIC ship mode
      • reaches nanoamps; active standby with a cellular connection is about
        4–5 µA.
      • Zephyr handles much of the peripheral
      • power management for you.
      • Reliable cellular is mostly about connectivity logic: handling marginal
      • signal, relocation, and underground installs gracefully. Site surveys
        matter; one install had to move from LTE to Ethernet.
      • Satellite (NTN) on the nRF9151 with Skylo and
      • Myriota, using an NTN-enabled
        Soracom SIM, for low-bandwidth messaging or CoAP
        over UDP in remote locations.
      • Other radios: Wi-Fi HaLow (802.11ah) for long-range links, LoRa, and
      • DECT NR+, which needs separate proprietary modem firmware.
      • Zephyr RTOS: a steep start, then "batteries included." Claude Code handles
      • Zephyr well with the kernel and HAL sources in the West workspace.
        Jared's YouTube channel has many
        Zephyr tutorials and live streams.
      • Lion, Jared's upcoming self-hosted IoT server: a single Rust binary with OTA
      • and data handling, using CoAP over DTLS with CBOR (an approach inspired by
        Golioth), plus a Zephyr client library. Getting
        server-side DTLS working in Rust was the hardest piece.
      • AI in hardware: a Claude skill for
      • GitPLM Parts library work that pulls
        datasheets and creates KiCad symbols and footprints.
      • Tool recommendation: a Prusa 3D printer. Jared
      • prints test and programming fixtures with pogo pins in-house, in place of
        machined fixtures that cost $500 to several thousand dollars.
      • Advice for young engineers: learn on your own, build and break things, study
      • existing reference designs, and then add your own improvements.

        Discuss this episode at our

        community site.

        51 min
      • Our Podcast Workflow: Zola, VDO.Ninja, OBS, and Claude Code

        Available on your favorite podcast platform.

        In this episode, Cliff and Khem walk through the complete toolchain behind this

        podcast: self-hosted static site generation, a virtual recording studio built
        on WebRTC, and an automated publishing workflow. After 53 episodes and six years
        since our July 2020 start, the process has grown into something we can run
        end to end in minutes, and we are happy to share the whole recipe.

        • Hosting is a static website built with Zola, a
        • Rust static site generator. We ran Hugo with a podcast
          theme for years and recently switched; both build a large site in fractions
          of a second, and Zola is a little cleaner for our needs.
        • A podcast is fundamentally an RSS feed, much like a blog. Apple, Spotify, and
        • YouTube consume that feed. The work in self-hosting is generating the right
          RSS tags and the metadata Apple expects.
        • simplepod, the Zola theme Cliff wrote
        • for this show. One directory of episodes in, a complete podcast feed out.
          We built it after running into limits with the more complex Hugo theme.
        • Getting listed: register with Apple, Spotify, and YouTube, and the remaining
        • directories generally find you from there.
        • The server is a small Linux VPS at about $5 a month, fronted by
        • Caddy for automatic HTTPS.
        • Recording with VDO.Ninja: browser-based WebRTC built for
        • podcasting. The server arbitrates the call and then hands off to a direct
          point-to-point connection, so latency stays as low as it can be.
        • The recording trick we like most: VDO.Ninja spawns a headless Chromium
        • instance that joins as another participant, and OBS
          records that. No desktop audio capture and no hand-mixing of mic and speaker
          levels, since VDO.Ninja normalizes levels across participants.
        • Tips for effective audio in podcasts and video
        • conferencing,
          the checklist we have collected on our forum over the years: use a headset
          with a built-in mic or a studio mic rather than a laptop microphone, and
          prefer wired connections for both network and audio.
        • Why latency matters. Even a few hundred milliseconds starts to feel clunky.
        • Cliff's theory is that this is what makes video calls tiring: you spend
          effort subconsciously working out whether it is your turn to speak.
        • Post-processing is light: Audacity pulls the
        • audio out of the OBS recording, we add intro and outro music, and run
          compression to optimize levels. Good mics mean we rarely need noise filtering.
        • Redundant recording. Everything is captured locally, so both of us run OBS,
        • especially with a guest on the call.
        • Publishing is a Claude Code
        • skill: it checks prerequisites, scaffolds the episode from a template,
          transcribes with Whisper in a Docker
          container, builds the outline and metadata from the transcript, and commits.
          An rsync script deploys the site in seconds.
        • Start with a shared outline. A dozen lines covering topics and order takes
        • most of the stress out of being on a podcast, for hosts and guests alike.
        • On the list next: scripting the audio processing to add intro and outro and
        • trim silence, and a video version for YouTube using VDO.Ninja's layout and
          director controls.

          Discuss this episode at our

          community site.

          19 min
        • Refactoring English: Writing and Self-Publishing with Michael Lynch

          Available on your favorite podcast platform.

          In this episode, Michael Lynch returns to discuss finishing and self-publishing

          Refactoring English, his book on effective
          writing for software developers. Michael is a former Microsoft and Google
          engineer who founded and sold the TinyPilot hardware business, and writes about
          indie software at mtlynch.io.

          • Where the book stands: written out of order over 19 months against a six-month
          • estimate, now in its first full read-through, with a 1.0 release targeted for
            mid-August. He treats the ebook like software — ship 1.0, then keep improving.
          • Why a writing book for developers when 80–90% of the techniques are universal:
          • the value is in the framing and the examples — commit messages, pull request
            descriptions, and design documents rather than generic prose.
          • Structuring for return on investment. Reader surveys said one thing and reader
          • confusion said another, so he ordered chapters so that someone who stops a
            third of the way through still gets the most value. Chapter two is a single
            page: read your writing aloud.
          • Writing in your own voice. Readers rejected a chapter on "content marketing"
          • and accepted the same material as "finding customers through blogging" —
            people buy the book because they want his thinking, not the expected framing.
          • AI and writing: why relying on AI parks you at a local maximum, and Michael's
          • rule that AI should act as a teacher and never write into your documents.
          • The biggest anti-pattern he sees in developer writing — meandering into
          • implementation details before establishing why the reader should keep going —
            and the journalism parallel of the inverted pyramid.
          • Writer's block, focus, and phase separation: writing and looking things up are
          • different activities, and mixing them costs you the flow state.
          • Releasing in public: a Kickstarter that went from 60% to 120% of goal in the
          • final days after a Hacker News front page, and how early access feedback
            supplied motivation more than it supplied edits.
          • Cutting aggressively — publishing less than half of what he writes, "kill your
          • darlings," and using a Git repo as the safety net that makes cutting easy.
          • Self-publishing lessons: regional pricing (and why Stripe makes it harder than
          • it should be), cross-promotion learned from an indie romance novelist, and
            roughly 600 customers to date.
          • The toolchain: Asciidoctor for PDF, HTML, and EPUB
          • output and its limits on layout control; Nix for
            reproducible builds and pre-commit checks; Hugo for the
            website; a custom word-word tool for repeated words;
          • Cliff suggested Typst as a Word replacement for nicely
          • formatted PDFs like datasheets.
          • Reading recommendations: The Elements of Style, Joel Spolsky's software
          • writing, and Write Useful Books by Rob Fitzpatrick.

            Discuss this episode at our

            community site.

            1 hr 4 min
          • Space Grade Linux, Yocto, and Embedded Linux in Orbit with Tim Bird

            Available on your favorite podcast platform.

            In this episode, Tim Bird (Sony) joins us to discuss Linux in space:

            • Tim's path from early embedded Linux at Lineo (Sharp Zaurus) to 20+ years
            • at Sony on cameras, TVs, phones — and now Sony's space work (Space
              Communications Corp, the SLIM micro rover, and the STAR SPHERE satellite).
            • How much Linux is already in orbit: ~50% of satellites by project, ~90%+ by
            • raw count thanks to Starlink's 10,000+ Linux-based satellites.
            • The Space Grade Linux (SGL) project: modeled on Automotive Grade Linux,
            • currently an ELISA work group, targeting a standalone Linux Foundation
              project in 2026. Delivers a meta-sgl Yocto layer with planned integrations
              for Space-ROS, Core Flight System, and F Prime.
            • The "big five" challenges of space — radiation, thermal cycling, vacuum,
            • launch vibration, and no service calls — and how commodity hardware
              (Ingenuity's Qualcomm processor, Perseverance's base station) is pushing
              past traditional rad-hard designs.
            • Emerging work on fault-tolerant file systems (FTRFS, ZFS), QEMU-based
            • radiation simulation, OTA updates at fleet scale (SpaceX Starlink), and
              why AI workloads on orbit favor a general-purpose OS.
            • How to get involved: monthly SGL calls, the meta-sgl repo at
            • github.com/elisa-tech, and the BeagleV-Fire
              reference board.
            • Advice for newcomers: embedded is in a golden age — start cheap (Raspberry
            • Pi, Arduino-based kits like CrunchLabs), blink some LEDs, and grow from
              there.

              Discuss this episode at our

              community site.

              1 hr 9 min
            • 2025 Review

              Available on your favorite podcast platform.

              In this episode, we reflect on 2025:

              1. Intro and theme

                • Cliff and Khem look back on 2025, focusing on how AI, Zephyr/Yocto, and
                • tooling changed daily engineering work.
                • AI as co-developer

                  • Khem shifts from hand-written scripts to delegating tasks to AI as a
                  • co‑developer, not an autonomous agent.
                  • Cliff adopts terminal-first AI tools (Cloud Code, etc.) for Bash, Ansible,
                  • Dockerfiles, and content workflows (newsletter/blog, diagrams).
                  • Doc Driven Development workflow

                    • Cloud Code plugin: Doc Driven Development, part of Cliff’s Claude plugins:
                    • tmpdir-claude-code-marketplace.
                    • Workflow: write docs → AI generates plan → review → AI generates code,
                    • treating AI like a compiler whose inputs (docs/plans) are versioned.
                    • Zephyr and AI-friendly context

                      • Work with Zephyr (and West) keeps BSPs and app code in Git repos, making it
                      • easy for AI tools to see full build context and outperform GUI‑centric MCU
                        tools with hidden code.
                      • Zephyr is expected to become the default RTOS as capable MCUs remain
                      • inexpensive.
                      • Yoe, Yocto, Jetson, and OTA

                        • Jetson Nano and AGX Orin have been added to the Yoe Distribution as
                        • reference platforms with swupdate-based OTA and a rootfs+data
                          partitioning strategy aimed at real products, not demos.
                        • A rolling-release Yocto model plus meta-tegra’s upstream‑first approach
                        • keeps changes small and manageable.
                        • Staying close to upstream and ensuring BSP changes land there first is
                        • called out as key to long-term maintainability of embedded products.
                        • Kas and project structure

                          • The Yoe Distro is migrating from shell-based project definitions to Kas for
                          • more structured, composable project descriptions and easier
                            reuse/inheritance.
                          • Editor and shell stack

                            • Helix editor: helix.
                            • Yazi file manager: yazi or org:
                            • yazi-rs.
                            • Lazygit: lazygit.
                            • Zellij terminal workspace: zellij.
                            • Cliff standardizes on Helix plus Yazi, Lazygit, and Zellij for a fast
                            • terminal environment; Khem aliases vi to Helix after finding it better
                              for huge files than Vim-with-plugins.
                            • Khem experiments with Nushell’s table-centric pipelines, seeing potential
                            • with AI but noting syntax incompatibility with traditional shells.
                            • Custom tools: BRun and HFID

                              • BRun (Cliff’s project): brun.
                              • BRun provides a YAML-defined, local workflow runner (GitHub Actions–like)
                              • for native Yocto builds, with chained tasks and smart notifications
                                (emails, Notify.sh, tail logs on failure).
                              • HFID is provided as a hosted service (not open source); concept and usage
                              • are described at HFID and in posts linked from
                                BEC Systems.
                              • Desktops, Omarchy, distros, and servers

                                • Khem runs Hyprland tiling on Arch for low-memory build machines while still
                                • using KDE elsewhere; Arch makes switching easy at login.
                                • Omarchy, DHH’s Arch+Hyprland Arch based distro for developers, is
                                • highlighted as a polished, opinionated entry point for new Linux users:
                                  omarchy.org.
                                • Omarchy is great for people who want a ready-made Arch+Hyprland setup,
                                • while vanilla Hyperland is a better fit for experienced users who already
                                  have strong preferences.
                                • Arch on servers works well when combined with Ansible-based configuration
                                • and non-golden-machine practices so systems can be rebuilt quickly if
                                  needed.

                                  Discuss this episode at our

                                  community site.

                                  49 min
                                • RISC-V and FPGAs with Ted Speers from Microchip

                                  Available on your favorite podcast platform.

                                  In this episode, we discuss with

                                  Ted Speers the history of FPGAs and the
                                  inclusion of RISC-V technology in Microchip's latest
                                  PolarFire products.
                                  Ted is an industry veteran and shares his experiences, including why they chose RISC-V and
                                  the resulting benefits. Pay special attention to his general advice starting
                                  1:15:26.

                                  Strategy is not being some smart guy figuring out we are going to do this,

                                  this, and this, and it's all going to work out. Strategy is creating options
                                  for yourself. You always want to create optionality. As soon as you get locked
                                  into one track, that may lead to failure. So creating optionality, if you are
                                  a young person, is what you want to do with your career. One way to create
                                  optionality is to meet people. The way you make your own luck is create the
                                  options. Then you are in a robust, anti-fragile position.

                                  Ted recommends books by Nassim Nicholas Taleb such as The Black Swan.

                                  Discuss this episode at our

                                  community site.

                                  1 hr 21 min
                                • Mastering Embedded Linux Development with Chris Simmonds and Frank Vasquez

                                  Available on your favorite podcast platform.

                                  In this episode, we discuss Embedded Linux with the authors of Mastering

                                  Embedded Linux Development. Highlights:

                                  • How this book came to be.
                                  • What is new in the fourth edition.
                                  • Development platforms used in the book.
                                  • Common Embedded Linux pitfalls.
                                  • Why Yocto instead of Ubuntu.
                                  • Android in embedded systems.
                                  • And lots more ...
                                  • If you are interested in Embedded Linux, this book is an excellent reference

                                    that covers a lot of topics (710 pages!!!).

                                    You can buy this book at most of the usual places. I got a

                                    DRM free version at Packt.

                                    Discuss this episode at our

                                    community site.

                                    1 hr 31 min
                                  • Clang/LLVM in Yocto

                                    Available on your favorite podcast platform.

                                    Clang was recently moved from a seperate layer into oe-core. In this episode

                                    Khem shares why this happened and why Clang may be a good fit for your product
                                    development.

                                    Discuss this episode at our

                                    community site.

                                    32 min
                                  • Avocado OS with Justin Schneck

                                    Available on your favorite podcast platform.

                                    In this episode, we visit with

                                    Justin Schneck from
                                    Peridio about how Avocado OS is solving various problems
                                    in the embedded Linux space. Avocado's attributes are composability,
                                    extensibility, and security. This platform composes embedded runtimes, which
                                    seems like a practical alternative to containers at the edge.

                                    Discuss this episode at our

                                    community site.

                                    56 min

                                  About The TMPDIR podcast

                                  From the publisher's feed

                                  TMPDIR is a podcast about embedded Linux, Yocto/OpenEmbedded, Zephyr, and IoT product engineering. Cliff Brake and Khem Raj dig into BSPs, OTA updates, Linux kernel and device tree work, firmware and…

                                  More shows like The TMPDIR podcast

                                  The Changelog: Software Development, Open Source by Changelog Media

                                  The Changelog: Software Development, Open Source

                                  288 Listeners

                                  LINUX Unplugged by Jupiter Broadcasting

                                  LINUX Unplugged

                                  274 Listeners

                                  Embedded by Logical Elegance

                                  Embedded

                                  190 Listeners

                                  Darknet Diaries by Jack Rhysider

                                  Darknet Diaries

                                  8,063 Listeners

                                  The Pragmatic Embedded Podcast by Luca Ingianni, Jeff Gable

                                  The Pragmatic Embedded Podcast

                                  11 Listeners