{"id":1682,"date":"2014-09-10T23:29:40","date_gmt":"2014-09-10T23:29:40","guid":{"rendered":"http:\/\/www.daveakerman.com\/?p=1682"},"modified":"2014-09-10T23:29:40","modified_gmt":"2014-09-10T23:29:40","slug":"lora-handheld-receiver","status":"publish","type":"post","link":"http:\/\/www.daveakerman.com\/?p=1682","title":{"rendered":"LoRa Handheld Receiver"},"content":{"rendered":"<p>One of the nice things about the LoRa devices is that they do all the modulation and demodulation internally. \u00a0So whereas a traditional RTTY balloon tracker needs a PC at the receiving end (or a high end mobile phone or tablet), a LoRa receiver can be made with a simple microcontroller. \u00a0Anything that can talk SPI (a simple serial protocol) will do.<\/p>\n<p>So I decided to do just that, using:<\/p>\n<ul>\n<li>Arduino Mini Pro 3.3V \/ 8MHz<\/li>\n<li>Epson-compatible 16&#215;2 LCD<\/li>\n<li>RFM98W module<\/li>\n<li>Boost converter<\/li>\n<li>3.7V LiPo<\/li>\n<li>USB LiPo charger<\/li>\n<\/ul>\n<p>The Epson LCDs need 5V otherwise the display is blank. \u00a0In theory (i.e. according to specification) they need to be driven from 5V logic but in practice 3.3V logic works. \u00a0This is good because the RFM98W needs 3.3V logic and is not compatible with 5V logic. \u00a0So although it should be necessary to use a 5V Arduino (to keep the LCD happy) and use level shifters between Arduino and RFM98W, I found that it all works happily with 3.3V logic.<\/p>\n<p>Basic wiring information is in the source code which you can grab <a title=\"github repository\" href=\"https:\/\/github.com\/daveake\/LoraHandheldAVR\">here<\/a>.<\/p>\n<p>I put the lot in a case designed for Arduino and LCD, placing an SMA socket at the top (to connect an aerial) and a USB charging socket at the bottom. \u00a0I need to add a power switch (I didn&#8217;t have\u00a0a suitable one to hand) then it&#8217;s finished.<\/p>\n<p>These are all the parts connected and fixed to the case:<\/p>\n<p><a href=\"http:\/\/www.daveakerman.com\/wp-content\/uploads\/2014\/09\/P1090772.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-large wp-image-1685\" src=\"http:\/\/www.daveakerman.com\/wp-content\/uploads\/2014\/09\/P1090772-1024x768.jpg\" alt=\"P1090772\" width=\"640\" height=\"480\" srcset=\"http:\/\/www.daveakerman.com\/wp-content\/uploads\/2014\/09\/P1090772-1024x768.jpg 1024w, http:\/\/www.daveakerman.com\/wp-content\/uploads\/2014\/09\/P1090772-300x225.jpg 300w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/a>(the 2 red wires at the bottom will go to a power switch when I have one). \u00a0Bottom-right is a USB charger for the LiPo, and to the left is a step-up to convert the LiPo voltage (3-4V roughly) to 5V. \u00a0That then drives the LCD and the LDO on the Arduino, which then steps down to 3.3V for the processor and the RFM98W. \u00a0That connects to an SMA socket at the top of the case:<\/p>\n<p><a href=\"http:\/\/www.daveakerman.com\/wp-content\/uploads\/2014\/09\/P1090770.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-large wp-image-1684\" src=\"http:\/\/www.daveakerman.com\/wp-content\/uploads\/2014\/09\/P1090770-1024x768.jpg\" alt=\"P1090770\" width=\"640\" height=\"480\" srcset=\"http:\/\/www.daveakerman.com\/wp-content\/uploads\/2014\/09\/P1090770-1024x768.jpg 1024w, http:\/\/www.daveakerman.com\/wp-content\/uploads\/2014\/09\/P1090770-300x225.jpg 300w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/a>The software waits for a telemetry packet from the LoRa receiver. \u00a0It then decodes the packet and displays the latitude, longitide, altitude and RSSI (signal strength). \u00a0After a few seconds the altitude and RSSI are replaced by a &#8220;time since last packet&#8221; display, and a live signal strength\u00a0bargraph:<\/p>\n<p><a href=\"http:\/\/www.daveakerman.com\/wp-content\/uploads\/2014\/09\/P1090766.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-large wp-image-1683\" src=\"http:\/\/www.daveakerman.com\/wp-content\/uploads\/2014\/09\/P1090766-768x1024.jpg\" alt=\"P1090766\" width=\"640\" height=\"853\" srcset=\"http:\/\/www.daveakerman.com\/wp-content\/uploads\/2014\/09\/P1090766-768x1024.jpg 768w, http:\/\/www.daveakerman.com\/wp-content\/uploads\/2014\/09\/P1090766-225x300.jpg 225w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/a>The software is incomplete (e.g. no facility to change frequency) but that will come soon.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>One of the nice things about the LoRa devices is that they do all the modulation and demodulation internally. \u00a0So whereas a traditional RTTY balloon tracker needs a PC at the receiving end (or a high end mobile phone or tablet), a LoRa receiver can be made with a simple [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[4],"tags":[],"_links":{"self":[{"href":"http:\/\/www.daveakerman.com\/index.php?rest_route=\/wp\/v2\/posts\/1682"}],"collection":[{"href":"http:\/\/www.daveakerman.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.daveakerman.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.daveakerman.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.daveakerman.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1682"}],"version-history":[{"count":1,"href":"http:\/\/www.daveakerman.com\/index.php?rest_route=\/wp\/v2\/posts\/1682\/revisions"}],"predecessor-version":[{"id":1686,"href":"http:\/\/www.daveakerman.com\/index.php?rest_route=\/wp\/v2\/posts\/1682\/revisions\/1686"}],"wp:attachment":[{"href":"http:\/\/www.daveakerman.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1682"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.daveakerman.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1682"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.daveakerman.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1682"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}