Skip to main content
Books, videos, and music - all free from your public library!
LoginSign Up

Footer

Hoopla logo, Go to homepage
  • For Patrons
  • For Libraries (opens in new window)
  • For Vendors (opens in new window)
  • Facebook (opens in new window)
  • X (opens in new window)
  • Instagram (opens in new window)
  • YouTube (opens in new window)
  • TikTok (opens in new window)
  • LinkedIn (opens in new window)

Our Company

  • Our Story
  • Get Hoopla for your Library (opens in new window)
  • Get your content on hoopla (opens in new window)
  • Join our team (opens in new window)
  • Accessibility Statement

Our Content

  • Audiobooks
  • Ebooks
  • Movies
  • Television
  • Comics
  • BingePasses
  • Music
  • The Loop Blog

Help

  • Help Center
  • Submit Feedback
  • Facebook (opens in new window)
  • X (opens in new window)
  • Instagram (opens in new window)
  • YouTube (opens in new window)
  • TikTok (opens in new window)
  • LinkedIn (opens in new window)
  • Download on the App Store (opens in new window)
  • Get it on Google Play (opens in new window)
  • Available at Amazon Appstore (opens in new window)
© 2026 Midwest Tape, LLC. All rights reserved. Privacy Policy | Terms of Use
  • Hoopla logo
    Powered by Hoopla
  • Browse
  • My Hoopla
  • Log In
  1. Navigate Home
  2. Ebooks
  3. Build a Binary Clock With Elixir and Nerves

EBOOK

Build a Binary Clock With Elixir and Nerves

Use Layering To Produce Better Embedded Systems

Frank Hunleth
(0)
sign up
Pages
108
Year
2022
Language
English
Publisher
The Pragmatic Programmers

About

Want to get better at coding Elixir? Write a hardware project with Nerves. As you build this binary clock, you'll build in resiliency using OTP, the same libraries powering many commercial phone switches. You'll attack complexity the way the experts do, using a layered approach. You'll sharpen your debugging skills by taking small, easily verified steps toward your goal. When you're done, you'll have a working binary clock and a good appreciation of the work that goes into a hardware system. You'll also be able to apply that understanding to every new line of Elixir you write.

Combining software with hardware can be frustrating, but you can become proficient in no time by taking a simple, logical approach. Blinking a single LED is the traditional "hello-world" of embedded systems. Building your own binary clock is the logical next step. It blinks groupings of LEDs based on the system time. This guide walks you through a working project using the techniques used by experts who build software for hardware every day.

This common sense project moves forward in tiny, logical steps. As you progress, you can verify each step before moving on to the next. You don't have to be a Nerves novice to benefit from this project. Become a better Elixir programmer as you build your own desktop showpiece. With a layered approach to software design, you'll learn to control the complexity of your programs the way the experts do by focusing on one small slice of your system at a time.

When you're done, you'll have your own binary clock, and also more of the tools you need to design and build your own Nerves and Elixir projects. You'll also be a better programmer with a deeper appreciation of layering techniques for controlling complexity.

What You Need:

This project is for Elixir developers who want to get started with Nerves, or improve their skills. The project is designed for Elixir 1.11 and Nerves 1.7, but later versions will probably work as well with slight modifications. The project uses a Raspberry Pi zero with a set of components. With slight modifications, you can make this book work with other components as well.

Related Subjects

  • Computer Engineering
  • Computers
  • Adult Nonfiction
  • Mainframes & Minicomputers
  • Hardware
  • General (Languages)
  • Languages
  • General (Personal Computers)
  • Personal Computers

Artists

Frank HunlethAuthor
Bruce TateAuthor