What would you like to create with Nerves?

I was going to ask… what is it? But then saw a little turtle!!! Awww!

Can you make the view bigger? (I had to pinch and zoom in)

1 Like

I was thinking of making it larger, but it would be pretty slow. Basically i have a phoenix app hosted by gigalixir’s free tier, and the nerves device is just sending raw bas64 encoded jpegs over phoenix channels, and replacing an <img> tag’s src attribute. I think to make it much bigger, i’d have to build out a real stream somehow.


I would really like to create a air pollution monitor that sends data back to a central server. Probably using a raspberry pi and a PM2.5 sensor.

I work/live in a city with major pollution issues and this might just be the push needed to get my company to get us air filters in the office.


This is a really interesting idea.

For about $35 dollars, you can get this sensor and a PI to drive it. I’d love to see some distributed stats being reported!


I am hoping to start a project that was asked about during my ElixirConf '18 talk. It’s a Phoenix app for projects to send their data to, and provides some basic stats/graphing/etc. End of December I might start streaming my progress on Twitch.


Feel free to ping me when you get to this. We are hoping to make Nerves Hub able to delegate auth for this kind of thing and this would be a great way to field test it.


Sounds great, I’ll be in touch!


From some longer time I have something really big in my mind …

I though about creating my own custom admin & mini-server device with my own 3D printed case and custom branding (only for my own use case i.e. not for selling as a real product - hardware) …

I though about having something which would similarly to 2 in 1 devices. I have looked at devices which allows to change laptop into tablet etc. + some extra things, but I was never sure if it’s technically possible to build something like that (without ordering custom expensive parts).

Imagine that you have 3 parts … each part is exactly same inside, but have different input/output device on top. For example one part could have keyboard, second display and third lots of LCD and LED. Each part should work separately and optionally communicating with other parts using Wi-Fi, but all of them could be also connected at same time and share resources (like internet, power, storage etc.) without putting extra cables for each part (I’m not sure if this one is actually possible).

I though about latest Tegra (now it’s called Xavier if I remember correctly) Developer Kit which would have its own Erlang production node with synced PostgreSQL database, so at end I want to have 3 powerful and synced nodes.

Keyboard does not require any extra description. Part with display could be used for local only scenic-based admin panel (for security reasons). LED board would have most details. Main part would show big full RGB QR code which could store lots of data. There second half could have some statuses and on top (showing for example database or Wi-Fi drivers and/or services status and their activity etc.) + some switches combined with LCD panels around notification part on bottom.

⬛⬛⬛⬛⬛⬛⬛⬜⬜⬛⬜⬜⬛⬜⬜⬛⬛⬜⬜⬛⬛⬜⬛⬛⬛⬛⬛⬛⬛  ‖  Bluetooth:    ⬛⬜  ‖  CPU:                   1 %  ‖  Battery:                  100 %
⬛⬜⬜⬜⬜⬜⬛⬜⬛⬜⬜⬛⬛⬜⬜⬛⬛⬛⬜⬜⬜⬜⬛⬜⬜⬜⬜⬜⬛  ‖  Database:     ⬛⬛  ‖  Disk usage:           10 %  ‖  Connections:        2 000 000 -
⬛⬜⬛⬛⬛⬜⬛⬜⬛⬛⬛⬛⬛⬜⬜⬜⬛⬛⬛⬜⬜⬜⬛⬜⬛⬛⬛⬜⬛  ‖  Ethernet:     ⬛⬛  ‖  GPU:                   0 %  ‖  Disk input:                10 %
⬛⬜⬛⬛⬛⬜⬛⬜⬜⬛⬛⬛⬜⬜⬜⬛⬛⬜⬜⬛⬛⬜⬛⬜⬛⬛⬛⬜⬛  ‖  Nginx:        ⬛⬛  ‖  Nodes:                 3 -  ‖  Disk output:               33 %
⬛⬜⬛⬛⬛⬜⬛⬜⬛⬜⬜⬜⬜⬛⬜⬛⬜⬜⬜⬜⬛⬜⬛⬜⬛⬛⬛⬜⬛  ‖  OS Updates:   ⬛⬜  ‖  RAM:                   1 %  ‖  Disk usage:                15 %
⬛⬜⬜⬜⬜⬜⬛⬜⬛⬛⬜⬛⬜⬛⬛⬛⬜⬜⬜⬛⬛⬜⬛⬜⬜⬜⬜⬜⬛  ‖  Phoenix:      ⬛⬛  ‖  SWAP:                  0 %  ‖  Notifications:              3 -
⬛⬛⬛⬛⬛⬛⬛⬜⬛⬜⬛⬜⬛⬜⬛⬜⬛⬜⬛⬜⬛⬜⬛⬛⬛⬛⬛⬛⬛  ‖  Wi-Fi:        ⬛⬜  ‖  VM processes:     10 000 -  ‖  Registered:        24 000 000 -
⬜⬜⬜⬜⬜⬜⬜⬜⬛⬛⬜⬜⬛⬜⬜⬛⬛⬛⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜  ‖  Updates:      ⬛⬛  ‖  VRAM:                  0 %  ‖  Signal:                   100 %
⬛⬛⬜⬛⬜⬜⬛⬛⬜⬜⬛⬜⬜⬛⬜⬜⬜⬜⬛⬜⬛⬜⬛⬛⬛⬜⬛⬛⬜  ‖  
⬜⬜⬜⬛⬛⬛⬜⬜⬛⬜⬛⬛⬜⬛⬛⬜⬜⬜⬜⬜⬜⬜⬛⬛⬜⬛⬜⬛⬜  ‖  +------------------------------------------------------------------------------------+
⬛⬜⬛⬜⬜⬛⬛⬛⬜⬛⬛⬜⬜⬛⬛⬜⬜⬜⬜⬛⬜⬜⬜⬜⬛⬛⬛⬜⬜  ‖  ⏐ Erlang 21.1.1 ⏐ Elixir 1.7.4 ⏐ Hex 0.18.2 ⏐ PostgreSQL 11.1                         ⏐
⬜⬜⬛⬜⬛⬜⬜⬛⬜⬜⬜⬜⬜⬛⬛⬛⬜⬜⬛⬛⬜⬛⬜⬜⬜⬛⬛⬛⬜  ‖  +------------------------------------------------------------------------------------+
⬛⬜⬜⬛⬛⬜⬛⬜⬜⬜⬜⬜⬛⬛⬛⬜⬜⬛⬛⬛⬛⬜⬛⬛⬜⬜⬛⬜⬛  ‖  ⏐ DBConnection 2.0.3 ⏐ Ecto 3.0.4 ⏐ Phoenix 1.4.0 ⏐ Postgrex 0.14.1                   ⏐
⬜⬛⬜⬛⬜⬛⬜⬛⬜⬛⬛⬛⬛⬜⬛⬜⬛⬛⬛⬛⬜⬜⬜⬛⬜⬜⬜⬛⬛  ‖  +------------------------------------------------------------------------------------+
⬜⬜⬛⬛⬛⬜⬛⬛⬜⬜⬛⬜⬛⬜⬜⬜⬛⬛⬛⬜⬜⬜⬛⬛⬛⬜⬜⬜⬛  ‖  ⏐ Funtoo Linux current ⏐ 4.8.15-1 ⏐ intel64-ivybridge ⏐ desktop ⏐ x86-64bit           ⏐
⬜⬜⬜⬜⬜⬛⬜⬛⬛⬛⬛⬜⬛⬛⬜⬛⬜⬛⬜⬛⬜⬛⬜⬛⬜⬛⬜⬜⬜  ‖  +------------------------------------------------------------------------------------+
⬛⬛⬜⬜⬜⬜⬛⬜⬛⬛⬜⬛⬜⬜⬛⬜⬛⬛⬛⬛⬜⬜⬜⬛⬜⬛⬜⬛⬛  ‖  ⏐ Last event ⏐ User … has been just registered!                                  ⏐ 🔍 ⏐
⬜⬜⬛⬛⬜⬛⬜⬜⬛⬜⬛⬜⬜⬛⬜⬜⬜⬜⬛⬜⬛⬛⬛⬜⬜⬜⬛⬛⬛  ‖  +--------------------------------------------------------------------------------+---+
⬛⬜⬜⬛⬛⬛⬛⬜⬜⬛⬜⬜⬜⬜⬛⬜⬛⬜⬛⬜⬛⬛⬜⬜⬛⬜⬛⬛⬛  ‖  ⏐ ⏯ ⏐ ⏪ ⏐ :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ⏐ ⏩ ⏐ ⌧ ⏐
⬜⬜⬛⬜⬜⬛⬜⬛⬛⬜⬛⬛⬜⬜⬜⬛⬛⬛⬜⬜⬜⬜⬛⬛⬜⬜⬜⬜⬜  ‖  +---------------------------------------------------------------------------+----+---+
⬛⬜⬜⬛⬜⬛⬛⬛⬜⬛⬛⬛⬛⬛⬜⬜⬜⬜⬛⬜⬛⬛⬛⬛⬛⬛⬛⬜⬛  ‖  ⏐ Wednesday, 5th December 2018, 03:30:00.000000 CET, 337 day, 49 week             ⏐ ⫶⫶ ⏐
⬜⬜⬜⬜⬜⬜⬜⬜⬛⬜⬜⬛⬛⬛⬛⬜⬜⬛⬛⬜⬛⬜⬜⬜⬛⬛⬜⬛⬜  ‖  ⏐ This is example notification …                                                  ⏐ ⫶⫶ ⏐
⬛⬛⬛⬛⬛⬛⬛⬜⬛⬜⬛⬛⬛⬛⬛⬜⬜⬜⬛⬜⬛⬜⬛⬜⬛⬛⬛⬜⬛  ‖  ⏐ Please scan QR Code on the left in order to read more information …             ⏐ ⫶⫶ ⏐
⬛⬜⬜⬜⬜⬜⬛⬜⬜⬜⬛⬛⬛⬛⬛⬛⬜⬜⬜⬛⬛⬜⬜⬜⬛⬛⬛⬛⬛  ‖  ⏐ …                                                                               ⏐ ⫶⫶ ⏐
⬛⬜⬛⬛⬛⬜⬛⬜⬜⬜⬜⬛⬜⬜⬛⬜⬜⬛⬛⬜⬛⬛⬛⬛⬛⬛⬜⬜⬜  ‖  ⏐ …                                                                               ⏐ ⫶⫶ ⏐
⬛⬜⬛⬛⬛⬜⬛⬜⬛⬛⬜⬛⬜⬛⬜⬜⬛⬛⬛⬜⬜⬛⬛⬜⬛⬜⬜⬛⬜  ‖  ⏐ …                                                                               ⏐ ⫶⫶ ⏐
⬛⬜⬛⬛⬛⬜⬛⬜⬜⬜⬜⬛⬜⬛⬛⬜⬜⬛⬛⬜⬜⬛⬜⬛⬛⬜⬜⬜⬛  ‖  ⏐ …                                                                               ⏐ ⫶⫶ ⏐
⬛⬜⬜⬜⬜⬜⬛⬜⬛⬛⬛⬛⬜⬜⬜⬛⬛⬛⬜⬜⬛⬛⬜⬛⬜⬛⬜⬛⬜  ‖  ⏐ …                                                                               ⏐ ⫶⫶ ⏐
⬛⬛⬛⬛⬛⬛⬛⬜⬛⬛⬛⬜⬛⬛⬜⬛⬜⬛⬛⬛⬛⬜⬜⬜⬛⬜⬜⬛⬜  ‖  +---------------------------------------------------------------------------------+---+

You probably think that typical personal project would not even use 0.01% of it and you are 100% right. From few years there is a huge project in my mind which would use such a monster fully, but it’s just too more work for me now. A final version would be definitely my biggest work in whole life (also looking in future).

Just to compare how such project is going to be big … CMS, Forum and Shop would be only plug-ins for this project + every of such plug-in would have much, much more features than software I have seen already. I even want to split them into smaller parts, because they would be just too big and otherwise there could be a problem like KDE 4 had with their kdelibs libraries.

I don’t believe that I could finish even minimal version of such project in less than 1 year working full time - no matter if I would have enough money for custom device or not. In final version this project, its dependencies and related code would require to create dozens or maybe even hundreds of new libraries and smaller projects which would be helper tools for this project directly and/or helper tools for using it (for example in case writing plug-ins for it). When I would have enough money I would definitely place some job offers for creating lots some libraries. Or maybe yet another way for describing how it’s going to be big … Think that sub-sub-sub point of specific category in my plan would require more than 10 new libraries and even it have its own sub-points. If it’s still not enough then think that such plan (not final one) describes only work for one plug-in! :077:

All plans are already in my mind. Of course I can’t share them now, but I would definitely place some job offers if I would have much more money. Since it’s big project I think that firstly I would like to buy house before I will do it, so it’s going to take really long before it would be even touched.

Ah, I almost forgot …There are going Christmas, but I will try to finish something before them - it would be my small surprise. :smiley:


In the recent past I had some fun with building a thermal camera and an indoor air quality monitoring device, but in the future I would really love to build some open source scientific equipment, like those listed here: http://physicsopenlab.org/low-cost-diy-scientific-equipment/


I wanted to integrate with a PLC device and be able to both talk to it and also get data from it. That’d be very useful. I think this, plus connecting Nerves to GSM (been done before) is very attractive to get Nerves in manufacturing/other things. We could have push events coming from those little devices to a server somewhere, get insight from it.


After about a year of spare-time hacking, I finally have an update to my library to reply to you. :sweat_smile:
I think this would be a great tool that you could use to set up a bunch of NeoPixel strips or grids, in whatever arrangement you want for a music installation, and use the drawing commands to create whatever kind of visualization you want across all of them as a virtual screen. The strips come in various “densities” from 30 LEDs/meter to 144 LEDs/meter, with the obvious cost implications. :grimacing: You can also get them already arranged in a grid.

It would also make for a pretty amazing computerized Christmas light platform. :heart_eyes_cat: /cc @ConnorRigby

You’d need to get a nice power supply to power the LEDs themselves, but the controller itself would just be a Raspberry Pi Zero running a Nerves firmware, so you could generate the visualizations using whatever means can imagine (Phoenix Channels to feed data from some other device, etc.).


Nice one Greg! I wondered where you were :lol:

I’m on my mobile atm, but definitely going to check those strips out! In the meantime I look forward to seeing all of your displays :003,

1 Like

I had planned on using nerves_neopixel/blinkchain to control my christmas tree, but i didn’t have a level shifter on hand so i way overcomplicated the problem.

  1. arduino to control the leds
    • With a nrf24+ radio to be controlled wirelessly
  2. Rpi3 + nerves + scenic app to control the lights wirelessly
    • another arduino w/ nrf24+ radio to control the other arduino


Haha, whatever gets the job done!
FWIW, you can “sacrifice” a NeoPixel to act as a level-shifter by supplying it with 4.3V instead of 5V, but powering the rest of the chain with 5V (by cutting the PCB trace, for example). The first one will be dimmer, so you can either hide/not use that one, or just not worry about it if it’s something like a Christmas tree light.

I can’t find the article, but I think someone had a way to do a similar thing without even needing a diode - maybe just driving the first pixel with straight up 3.3v and the tolerances were “close enough”.


So many interesting projects… I am not sure this is the right topic for posting this, but during the next few years I’d like to automate many things in my house and it seems nerves could be a good choice for that. A short list of things I want to automate and/or remote control :

  • lights (dimmer, redder light during the night. Auto light outside during the night if a person is there…)
  • camera that work only when movement is detected
  • water for the garden
  • music (select automatically which speaker(s) to activate depending on our position in the house. This will have to take into account the cable lengths in order to synchronise the sound)
  • food and water dispensers for animals.

I’ve never done any of that though, so if you have some nice thorough tutorials that could help I’ll be thankful.


Another idea for you all :lol:

Nerves Kitchen Hub

A smart hub (Nerves based) for dumb devices, like ovens, steamers, kettles even.

You connect to the smart hub via your app, and tell it to do things like turn on the kettle, switch off the oven, turn off the hob even!

There would need to be some sort of universal language for the dumb devices, accommodating commons such as on/off, up/down etc and then those devices talk to the hub. It would mean super cheap to manufacture and incorporate into kitchen appliances, and also takes the risk out of too may IoTs connected to the web as they are connected to the hub and not to the web (so can’t be hacked in any meaningful way).

Maybe I’ve had too much red wine :044:

1 Like

Regarding Elixir camera that tracks a movement:
Here is a small example for similar project.
You can also see the example of its work here: Elixir Smart Home - 047 Daemonize CCTV application and send Telegram notifications - YouTube

It does not use Nerves, but you can port it to some board if required.

I have also started to create Elixir Smart Home solution. Here is an Elixirforum thread for it. The project is in early stage now.


A thermostat would be cool. One that adjusts based on temperature, inside and outside.

1 Like

I created a reactive TUI framework for industrial lean focused applications.

Do you think TUIs stand a chance in this day and age of high end graphic displays?


I think it depends on the price of those displays. If bigger HD displays get cheaper (or are they already?) due to economies of scale, then most industries will switch to that.