Sometimes you just need a node, and you need it cheap.
When you’re looking for off the shelf nodes, you’ve got several options. Think about the TTN Uno, but also products from Sodaq, several RN2483 breakout boards and more. All of them are however rather expensive, and besides many people think it’s more fun to make a node themselves. And then it starts.. there are many, many ways to build it and the choices may look overwhelming. This tutorial shows a step-by-step explanation how to build a barebone node. This is done using the cheapest components around resulting in a bill of material of slightly over 10 euro (ebay, and excluding power supply and casing.)
As said, this recipe explains how to build a simple but usable node focusing fully on price. To keep it clear I won’t describe all alternatives and considerations, but I’d like to mention two remarks: this node uses an RFM95W which is unlike the RN2483 not LoRaWAN certified. For TTN use this doesn’t matter but probably you’re not allowed to use it on commercial LoRa networks. The reason to use it anyway is that it is considerably cheaper than an RN2483 and also that it’s much easier to solder. The second trade-off between price and power is that the memory is rather limited. This doesn’t matter for many straight forward applications but for more advanced purposes you may run short.
- Arduino Pro-Mini AT328p – the 3.3v version. The 5v version is not suitable
- RFM95W LoRa transceiver
- Antenna: 82mm copper wire preferably 1,5mm or thicker, or a 868mhz helical antenna. Unlike you would expect a simple wire works better than the nice looking helicals
- Thin, colored solid wire
- To load software onto it you also need an FTDI interface with USB cable and some dupont connector wires
Note that there are small differences in Arduino pin layout between the different manufacturers. This doesn’t matter. The most important difference is that sometimes the row on the short side (TX/RX/VCC/GND) is mirrored, meaning you have to connect the FTDI the other way around. Just check the pins and it’ll be fine.
Arduino Pro Mini
The wiring should look like below. The black/white wire is a white one in the pictures.
Well, that’s it. This tutorial assumes that you will mount them on top of each other, which is easier than it looks like. In case you still prefer not to do so you can use so called ‘prototype PCB boards’ to mount them next to each other. Regarding the wiring I suggest not to change the mentioned wiring since this fits the LMIC library wiring and it also simplifies using each other’s software. At the end of the day that TTN compatibility may be more important than a wire that’s possibly routed in a slightly smarter way.
Remark: if you consider modifying your arduino to decrease the power consumption you should do this before you start with the assembly. Across the internet several options are described like unsoldering the led or voltage regulator, but that’s beyond the scope of this document. Besides perhaps it’s better to keep your first node as simple as possible and skip this kind of optimization.
The wire should be stripped with a few mm's on one end, and about a centimeter on the other end. Exceptions are red and black where an additional 3 or 4 cm may be useful because you may need those for sensors or power supply.
Leave this length of isolation:
Start with orange, yellow, black, red and white. Solder these to the RFM.
Bend in shape
Push the wires through the Arduino holes. Bend the ends to make sure they stay where they are
Now add the blue and purple wire. It's best to first only solder them to the RFM and on the arduino side just bend them to keep them in place. Once all these three are connected to the RFM it's time to solder them to the arduino. These wires are the exception of doing so at the very end because they will be subject to some more tension when the RFM is located in it's final position. Remember: the final position of the RFM vs the arduino depends on how you solder these wires so make sure they are as you like them to be. It's a good idea to bend the blue wire a bit to keep A0 accessible.
Bend the RFM upward on the other side so it's a bit diagonal. Add the brown, grey and green wire. Only solder the RFM side at this time.
Now it's time to place the RFM in it's final position. Fold the wires in such a way that they remain where they are.
For the VCC and the GND it's in particular important that you'll be able to solder additional wires to it when needed. So make sure to bend the wires in such a way that they act as a kind of hooks, in order to avoid that they will slip away when the solder is fluid again.
Now it's time to do the final soldering and cut the wires (except red and black perhaps). Add some headers for easy interfacing with sensors and the result should then look like this:
Now don't forget to solder your antenna to the header marked with 'ANT' in the wiring diagram. Once you've done and after uploading software the node works!
This is a basic node. You could use this for TTTmapper sending random data, but it’s also suitable to add many common Arduino sensors like the DS18B20 and many more. If you do please send me the source code so together we can build a library with off the shelf examples.
A nice TTNmapper casing
Soil moisture sensor
Use in a waste bin (used as a proof of concept for use in industrial size containers)
Use one of these libraries to make your node talk to TTN
You can find code that sends hello-world like data on
(submitted examples of sensors added to this barebone node will be added to this page)