EMx 074: Inky Displays With Lars Wikman and Emilio Nyaray
This episode of Elixir mix opens with Lars Wikman and Emilio Nyaray sharing how they came to be working together on a project called Inky. Inky is an E-Ink display that works with Nerves and Elixir. The project started when Lars wanted to use the Inky device from Nerves but didn’t want to install Python to do it. Emilio wanted to join because he found it fascinating to be able to control this device with Elixir. Lars and Emilio share some details of how this project came about and how it works.
The inky comes in multiple sizes with the smaller pHAT display being about the size of a business card and the Inky wHAT being closer to the size of a Raspberry Pi. Lars shares that one of the biggest gotchas with these displays is the refresh rate. Once the pixels are changed the device can be turned off and still remain the same because they are physically changing. The panelists highlight that very little troubleshooting time had to go in to the Nerves portion of the project. Lars describes how he began looking at using Nerves just after it was announced and how he decided to use it in this project. He also shares how he wants to take on a project to put together a cross stitch of a bigger display that can change each day. One way to do this is by putting multiple pHATs together but Lars would prefer to use a wHAT.
The conversation then moves to Emilio sharing his journey to the Inky project. He has been working with Erlang professionally for a year. Ever since he worked with a startup in 2012-2013 where they used Erlang, he has had a strong desire to work with functional programming. This desire eventually lead him to work with Elixir and Phoenix to write a timesheet application as a consultant. When he got in to working with Nerves he borrowed a touchscreen at work and was blown away by how it worked. Emilio also details an audio controller interface side project that he is currently working on. The panelists then talk about the elixir community, what they love about it, the friendliness of the small community, and some individuals that have had an impact on them.
The discussion then moves on to the profiling tools eprof, fprof, and cprof. These tools are built into the Erlang Ecosystem. Eprof is a time profiling tool. Fprof is a time profiling tool as well, but it uses trace to file for minimal performance impact. Cprof is a simple call count profiling tool. Emilio shares how he came to be familiar with these, how he used them, and the benefits he saw in his application from using these tools. These profiling tools are also available in Elixir. The panelists also discuss eflame which is a flame graph profiling tool that is very easy to use. Emilio and Lars detail how they used a low dependency approach to be able to fake a display on the desktop for Inky and develop on the desktop.
- Mark Ericksen
- Josh Adams
- Michael Ries
- Lars Wikman
- Emilio Nyaray
- Sentry.io use code “devchat” for two months free on Sentry’s small plan
- Adventures in .NET
- Ruby Rogues
- Lars’ writing on Inky
- Inky pHAT
- Inky wHAT
- Raspberry Pie
- Elixir Forum E-Ink Display
- Elixir Circuits
- Connor Rigby Github
- Joe Arms Controlling Sound With OSC
- Boyd Multerer Github
- Erlang eprof documentation
- Erlang fprof documentation
- Erlang cprof documentation
- Eflame Github
- Lars Wikman: @lawik on twitter
- Emilio Nyaray: @nyaray on twitter
- Emilio Nyaray Github
What is an Inky?
Inky is an E-Ink display that works with Nerves and Elixir.
What is an E-Ink display?
An E-Ink display is digital display technology that is intended to simulate paper. It has very low power consumption and very little glare.
How resilient are E-Ink displays?
The pixels in an E-ink display have a low refresh rate. With the lack of constant change, an E-Ink display can be suddenly turned off and come right back to where it was.
What are some profiling tools that exist for Erlang?
There are profiling tools by the names of eprof, fprof, and cprof.