Projects to start with Nerves

Hi all,

I would like to start playing with nerves at home (in the free time).

Where can I find ideas for small beginner friendly projects to realize in a tiny apartament?

Better if they don’t involve extremely expensive devices


I think I wrote the same idea in other posts too, but one relatively simple and useful project is to implement an indoor air quality monitoring device. You can use a RPi and a sensor like the BME680, which measures temperature, atmospheric pressure, relative humidity and gas resistance (which is a proxy for concentration of volatile organic compounds, a common class of air pollutant).

You can either connect a display, or even simply run a Phoenix app on the device, so that you can check the air quality from your smartphone. For example and inspiration, this is how the UI of my old BME680 based project looks like:

In my project, I run a Phoenix app on Nerves, using the elixir_bme680 library to interface with the sensor (I had to write the library myself back then, but nowadays there is also the great BMP680 library). The UI is implemented with LiveView, rendering SVG (but standard HTML would work perfectly well if one does not need anything fancy). I also log the measurements on CubDB and provide a way to download the historical data.

If you need more guidance, another option is to purchase the book Build a Weather Station with Elixir, which also guides you through a similar project.


Another really fun project is to implement a low-cost thermal camera using the Melexis MLX90640 sensor. Long time ago I wrote elixir_mlx90640 to interface with it from Elixir/Nerves.

Here is an example project using it, using an old Nerves version, but as of a few months ago still functional.

1 Like

Thank you.

Have you advices about which hardware to buy?
I am in a very tight budget.
Is the Raspberry 3 enough, or do I need 4?
I see that the books use a Raspberry Zero, but I don’t know how it compares with the 3 and 4


I used a Raspberry Pi Zero W for both the two projects I mentioned above, and it works absolutely fine (just a bit slow for the thermal camera, but the library could be optimized to send frame pixels in a more efficient format than a JSON array). The RPi Zero is smaller and generally less powerful than both the 3 and 4, so definitely the RPi 3 is a good option too.

The thermal camera sensor is unfortunately a bit pricey (but professional thermal cameras are way more expensive, usually in the thousands of euro). The BME680 can be found from several sources, and has good prices.

1 Like