DIY Powerwall - Part 2

Finally some time for an UPDATE! The short story…I finally processed enough 18650 cells to start the build. For the long story, keep reading and check out the video. In this post, I am going to walk through some of the bits and pieces I have had to gather and sort out prior to starting the cabinet install. More often than not when undertaking a project like this, we never think about all the small details which must be taken care of prior to a build being completed. This is no different. As we know, lithium batteries, if not treated correctly, can be somewhat volatile, thus, some extra safety precautions need to be taken before bringing the batter online.


The Shed - No chance am I putting this build inside the house!

Having a suitable location for your powerwall is probably one of the largest considerations of the whole build. As mentioned earlier, if lithium batteries are not treated correctly it could end up in a molten mess and no matter how many fire extinguishers you have, the lithium battery fire will consume everything in its path. If you do not believe me, check out some of the videos on youtube! My build takes us out to the shed of course. The shed is not far enough away from my house for my liking, but have to work with what I have.

I was able to pickup this nice B&R electrical cabinet for $150. These cabinets are very sturdy and made from steel. The orange powder coasting was not by choice, but for the price, who am I to complain. The cabinet is large enough to fit my first 14S100P setup, with room to double it at a later date. (Top and Bottom) I am also looking to get some airflow top to bottom in the cabinet at some stage.

I went ahead and mounted some structural pine to the wall. My plan is to now use some slotted C-Channel to mount the inverter and components to the wall.. This will allow me to conceal some of the cabling, whilst maintaining the structural integrity of the ply and wall. I’m yet to decide if I should paint the ply….see what happens. I also need to look at cable management, and how/where to mount all the other associated equipment.

Insulation – As we are working from a common garden shed, I had to insulate the roof of the shed. It was getting WAY too hot inside to house all these components. I ended up purchasing some foam foilboard from the local hardware store and mounted a small 200mm solar vent. It seems to keep the temperature steady. Even on 40deg C days, it seems ok inside. I do plan to hook up some temp sensors into the future. Also some more ventilation. Bring in the cool air from the bottom, vent out the top.


Sorting and Stacking Packs

From what I have read, sorting your cells into equal packs can be crucial to the whole setup. The aim is to have the same (or very similar) capacity in each pack. But how do we do that? well, there are a couple of methods. The first and possibly most accurate is using some online software called “rePackr” which is located here. With this tool, the idea is you enter in the capacity of every single 18650 you have and it tells you which pack to put them in. Pretty much sorts them out so that each pack is as close to the same as possible. The downside is that you need to type in or cut and past in the value of every cell. When your wall contains over 1400 batteries this can become a PITA.

The method I chose to use was a bit more archaic but has been proven to get the job done. I sorted all the batteries out into groups of 50mAh. For example, the cells that are at a capacity of 2050mAh to 2100mAh would all be grouped together. I did this across the whole range of my cells. I think I ended up with 20 groups of cells. From here it was then pretty easy to take one from each group and fill the packs so that they were somewhat evenly mixed. The proof will be in the pack testing. Only then will I know how close I got.

Once we know the remaining capacity of a cell, we then write it on the side of the cell for future reference and we also notate the current voltage of the cell at the time. The cells are then placed into tubs grouped by capacity and left to sit for a minimum of one week. The reason for this is that we want to identify any cells that can not hold their voltage. These are known as “Self Dischargers” we do not want a cell in our packs that cannot hold a charge/voltage. This can have significant effects on our packs once built.


Battery Management and Safety

ok, so we have our packs now and we need a few additional bits of hardware to make sure out battery packs are as safe as we can make them. The first item used is a Battery Management System (BMS). The BMS we chose was the Batrium Watchmon setup. This seems to be the ‘go-to’ BMS for DIY type powerwalls at the moment. They seem to be doing a fair bit of development on the hardware and software which is always good. If you want to check out more of their items head over to the website here. In a nutshell, the Batrium BMS controls the charge states and the balancing of the packs. It is important to control this as we do not want to over/under charge the batteries and we also want each pack to drain and recharge in a balanced fashion.

The BMS works by connecting “Longmons” to each pack. These are small bits of hardware which link each pack together and provide the feedback to the Watchmon controller. The Longmons are the workers and do the balancing, monitor temps and a few other cool bits and pieces. The BMS, with the help of some relays, can also be used to trigger a shunt trip. The Shunt trip will basically cut off any use of the batteries during a fault state. For example, if the temp rises past a set parameter, the BMS can trigger the trip and all use of the batteries will be cut. This is just one of the safety features which I intend to implement.

In line with the circuit breaker, we also have some large fuse(s). These 160A HRC type fuses in a disconnect/isolator will also be used. At $12 per fuse and $50 for the holder, you can never have too much circuit protection. So not only will each of the individual batteries be fused, but the entire pack will also be covered.


So that’s it for part 2! Whats next:

  • Bus Bars on packs.
  • Cabinet Install
  • Solar Install
  • Lots of wiring up!

 


How to configure TVheadend server

Recently, I have had a few requests for a “How To” configure the TVheadend server. This article will cover off on the basics to get you up and running. If you want to review the hardware requirements then check out the build post here. When you first open TVheadend via your web browser it can be a bit overwhelming which settings to choose. I have broken it down below into the “wizard” setup and then some manual configuration. I have also listed the steps involved to stream the feed onto the internet so you can view externally!


Jump to what you want!

  • Stream over the internet (Coming Soon)
  • Stream via VPN (Coming Soon)

  • Stream on Android/Iphone (Coming Soon)
  • Watch on Kodi (Coming Soon)


How to configure TVheadend via the wizard

If you are unsure how to get to the web GUI for TVheadend, I would suggest a quick review of this post. Particularly looking at step 3. In a nutshell, you need to use a web browser to configure TVheadend. Go to the IP address you set on your device. If it is your first-time use, you will not get a login screen, however, you should get the wizard to come straight up. If for some reason you canceled the wizard, you can find it by clicking ‘Configuration > Start Wizard’

Open up a web browser and enter the IP address of your TVheadend Server. Also, use the port number ‘9981’. For example http://192.168.1.168:9981

This will bring up the TVheadend Web GUI. On the first startup, you will be presented with the setup wizard.

Select the web interface language and the EPG language if different.

In most cases, you will only need to select the web interface language. Click next.

This section allows you to set ‘allowed’ networks to use the server. You can insert 0.0.0.0/0 to allow all networks, or you can use something like 192.168.1.0/24 to allow anything on that network to access the server. This is a personal preference. You might also notice an open IPV6 entry separated by a comma. This is also acceptable. You can add multiple networks this way.

Add an admin login, keep this super strong, especially if you plan to stream content via the internet. If you plan to allow other users into the network, then set them up here also.

This section will give you an insight into how many adapters the server has picked up. You should see all of them plugged in. If not, then check your connection to the tuner (USB) and ensure the RPi operating system has loaded the drivers. Some TV tuners may not be picked up by Linux.

Network 1 always defaults to IPTV, disregard this and continue to your adapters/tuners. Assign each adapter to a network. In my case, it is DVD-T which is Digital Terrestrial TV in Australia.

Because terrestrial television is transmitted on different frequencies dependant on your location, you need to select a profile that matches the location you are in. This will tell the tuner to look at these frequencies. Go ahead and select the correct profile for your area.

This next screen will begin to scan for all services available for the area that you selected. If you accidentally select the wrong location, then you may run into issues. Also, ensure that your TV antenna is connected at this stage. Some of the tuner details can be found in the window behind the wizard. We can revisit this screen later to fault find signal quality issues.

Now that we have found the desired TV channels, we need to map out all the tags and channel names/numbers. This can be done automatically by selecting the 3 checkboxes. It is possible to re-sort these at a later date. For now, it is easier to allow TVheadend server to sort it out.

Congrats, your server is now set up! Be it at a basic level, you should now be able to consume some IPTV. The next section will cover off on some ways to do this!


Watch a stream with VLC

Now that you have done all the hard work, its time to consume some IPTV. This section will outline how to view a channel with VLC. If you have not downloaded VLC, then you will need to do this first. https://www.videolan.org/ For those of you who are not aware, VLC is a media player that is very popular and compatible with a LOT of different media types. We can use VLC media player to open our TVheadend streams.

Open up the TVheadend web GUI and navigate to the channel you want to watch. Click on the small “info” button on the left-hand side of the screen. This will open up a modal window with which you can grab the stream.

Select the “play program” button. This should initiate a download. This file is basically a .m3u which can be opened by VLC. VLC will then be pointed directly to the stream you selected.

Open the downloaded file with VLC.

Your stream should then begin to play in VLC.



DIY Powerwall - Part 1

Why has the blog been so quiet I hear you ask…..Well…I started work on a DIY Powerwall from recycled laptop batteries. Yes, you heard correctly, I have started building a Tesla style power-wall from 18650 batteries. These are commonly found in Laptop battery packs. A why would I do such a thing, I hear you ask… In a nutshell, I want to save on electricity bills by using Solar a bit smarter and storing the energy for later use. I also wanted to see if it was possible to build a reliable/equivalent power-wall at a fraction of the cost of a Tesla style power-wall.

After a small bit of research, I stumbled across two resources that have become staples in my DIY Powerwall diet. Those are the “Second Life Storage” forum and the “HBpowerwall” Youtube channel, run by Peter Matthews. Using these two resources you can find out just about everything you need to know about building your own power-wall. Check out the links. Also, check out my journey below.


First Steps - Find Laptop Packs, Pull them apart...

Some of the DIY’ers find this step one of the most difficult. Finding laptop battery packs to recycle the 18650 cells from can be tricky. I approached a few battery stores and computer stores but most seemed disinterested in selling me the old packs. I am not sure if it’s a health and safety thing, or they get more recycling them. However, after finding the right people through a few Facebook groups I was able to get a steady supply of laptop batteries through an IT recycler. At first, I purchased 20Kgs of batteries not knowing what I would get. But then went on to purchase 30kgs, 40kg and most recently 60kgs. The break-down of how many usable cells I actually got from these old laptop batteries is below.

Everyone has their own method for pulling apart the laptop packs, however, I will say that safety is paramount here. The last thing you want to do is slice yourself open on the nickel strip or even worse short/explode a cell or two. (Saying that, it’s pretty hard to do this unless you’re super careless.)

I would suggest purchasing the following items:

  • Vice Grips
  • Sharp Small Side Cutters
  • Gloves
  • Eye protection

The end state of pulling the laptop batteries apart is to get the singular 18650 batteries out. Once we have them out and ready to go we can begin to analyse them to see if they are suitable for our powerwall. Noting that these batteries did come from old laptop batteries we really do not know what state they are in, we must “process” the cells to determine the capacity of every cell. Also, try and detect the bad from the good cells.


Step two - process a heap of cells

Once you have started your journey to building a DIY powerwall, you will no doubt need to process bulk cells to weed out the good from the bad. There are many ways to achieve this outcome, however, I will give you a rundown on how I am doing it. (And a basic guide to budget required for processing.) This part is easily the most tedious part of the build. For example, if you decide you would like a 48v 10-12kwh powerwall then you are looking at requiring 1400 cells at a minimum. 1400 may not sound like many, however, after weeding out the bad cells, you soon find that it does take time.

The process that I follow to process cells is as follows. First I will check the voltage of each cell. If a cell pulled directly from a laptop pack is at 2V then it will go into the pile to be charged/discharged via the charge wall. If the cell is below two volts then I will put the cell into another pile which will require a specific charger to get them back to health (If they can be revived…)

For the cells that pass the 2v test, they will then be placed into the cell holders attached to the TP-4056 chargers. These small lithium specific chargers are very cheap and an ideal way to bring any old batteries up to full charge. You can pick these up from eBay very cheap in packs of 10-20. I went with 20.

Once the cells are charged to maximum voltage, the cells are then cycled into the Opus chargers for a discharge test. This is will give us the remaining capacity of the cells. Basically, it ensures that the cell is at 4.20v, discharges the battery to 3v, records the capacity in milliampere hours (mAh), then charges the battery back up to 4.20v ready for the next test.

Once we know the remaining capacity of a cell, we then write it on the side of the cell for future reference and we also notate the current voltage of the cell at the time. The cells are then placed into tubs grouped by capacity and left to sit for a minimum of one week. The reason for this is that we want to identify any cells that can not hold their voltage. These are known as “Self Dischargers” we do not want a cell in our packs that cannot hold a charge/voltage. This can have significant effects on our packs once built.


Step three - prepare processed cells for packs

It will depend on a lot of factors how you will proceed with building your packs. Each choice will have pro’s and con’s. Go with the method that best suits your cell count and abilities. At present, I have not 100% decided on the method I am going to use, however, I am re-wrapping the vast majority of my cells first. Once I have 1400 quality cells, I will then arrange them into 14 packs of 100 cells. (14S100P) This will give me a 48v nominal power-wall around the 10-12kWh.

So where am I at right now… Well I have processed approximately 60Kgs of recycled laptop batteries. I set my limits for the cells to go into my wall at 2000mAh. I currently have 4 packs with 100 cells in each pack. If I lower my standards to 1800mAh I could probably have a 5th pack built, but for now, I plan to stick to the magic 2000mAh in capacity for my wall.


Once I move onto the next phase of this build, I’ll post Part 2. The next post will cover off on some of the following bits and pieces:

  • Cell pack builds (Once I decide which method to use)
  • Some tips and tricks for better pack build.
  • Solar/Inverter installation and connection to battery packs.
  • cost/cell breakdown
  • Anything else I can think of that may be relevant! (Let me know in the comments what you want to know?!)


Controlling GPIO with your travel router

The GL-inet range of travel routers are sold with the understanding that we can use them as more than just a router. The idea of being able to interconnect them with everyday items is very appealing. They call this the ‘internet of things’. So the curiosity got the better of me and decided to see if we could do the most basic of tasks. Switch a relay module!

Sounds simple, and sure enough, once we did a bit of research, it was. Keep reading to find out the basics of setting up your GL router to trigger a relay module using the built-in GPIO pins. If the config stuff is a bit boring for you, skip directly to the working video below!


Some light reading/research

  • http://wiki.openwrt.org/doc/hardware/port.gpio (Understand how OpenWrt and GPIO works)
  • You will require a GL-inet router. We used a GL-MiFi and a GL-AR150
  • You will also require a 5V relay and some headers/jumpers to connect
  • A soldering iron


Pinouts (For reference)


Solder some header pins to your device

First of all, you will need to decide which what sort of relay you are going to use and which pins to utilize. I only had 5V relay spare, thus I need to grab 5v from the board and a signal from a GPIO pin. Connect the 5V + and GND up and the signal/GPIO.

The gallery above has the pinouts for the GL-MiFi and the AR-150. Check these to determine the pins you want to use.


Add some config to the router

SSH into your router, locate the file: /etc/rc.local – Add the config below. Remember to set the pin number to the GPIO you intend to use. This will enable ‘output’ on that particular GPIO. Also, make sure you insert before ‘exit 0’


Add some config to the router

Shutdown your router. Connect up your relay to the 5V source, and the GPIO you selected in the rc.local config. Power back on your router, SSH back in and run the commands below. “1” will turn the relay on, and “0” should change the state so that it is off.



REVIEW: GL-MiFi 4G Smart Travel Router

If like me, you travel a lot, then having a solid travel router that allows me to work on the move securely and with anonymity is a necessity. The GL-MiFi router has proven to be a solid and reliable unit that has some perks that other travel routers cannot match. This review will cover some of the pros and cons. However, saying that, the Pros far outweigh the cons!

The GL-MiFi is powered by an Atheros AR9331 processor, is small, lightweight and contains a slot for various PCIe 3G or 4G modules. Combine that with 150Mbps Wi-Fi and you have yourself a very powerful little device. The GL-Mifi runs an embedded OpenWrt system, is extremely extendable via hardware and software. It can be used in mobile applications, industrial, commercial or at home.


Pros

  • 3G/4G capable
  • Built in Battery for mobile use
  • OpenVPN client capable
  • Excellent portability
  • 6-8hrs uptime on battery

Cons

  • When trying to charge the battery, router turns on.
  • GL-inet frontend software can be clunky at times.
  • Sim card can easily be inserted incorrectly.



Specifications

CPU  Atheros AR9331, @400MHz
Memory  DDR 64MB/ FLASH 16MB
Interfaces  1 WAN, 1LAN, 1 USB2.0, 1 micro USB (power), SIM card slot, MicroSD card slot, Antenna SMA mount holes
Frequency  2.4GHz
Transmission rate  150Mbps
Tx power (maximum)  18dBm
Protocol  802.11 b/g/n
Power supply 5V/2A
Power consumption  <3W
Dimension, Weight 105*72*27mm, 170g


The Hardware

When you first get your hands on the router, you notice that the enclosure is very solid. (As you can tell, I have dropped this unit twice… and it still works!) Nothing about the physical form of this router says “cheap” or “made in China”, The quality is second to none. All clips, buttons, and panels feel as if they will last the distance. This gives me confidence, I was certainly not afraid to throw it in my backpack with all the other crap I carry around.


3G/4G Module(s)

One of the standout inclusions in this travel router is the modulized 3G/4G PCIe cards that can be included. We ordered the Quectel EC25-AU with the unit. The seamless integration of this module with the built-in WiFi means that we can share a 3G/4G connection with as many devices as we need to. The configuration is as easy as inserting a sim card and selecting the region and provider. The module connects very quickly, so long as you have a data plan you will have connectivity to the internet. Of all the GL-inet travel routers the GL-MiFi is the only one with integrated cellular. Sure the other travel routers can use a USB dongle and tether, but nothing beats the quality and reliability of these built-in modules. For more info on the Quectel 3G/4G modules check them out here.


The Software

The GL-MiFi runs an OpenWrt firmware with a custom front-end user interface for its users. I think the ‘vastness’ of the LuCi interface could be a bit daunting for some, so they decided to write a front-end graphical user interface (GUI) that is easier to use and understand. From a basic user point of view, I think they achieved this goal. However some of the more advanced tasks you still need to achieve from the LuCi interface.

The custom interface interacts with OpenWrt and at times can feel a little bit clunky. Firmware improvements are being rolled out all the time and in the few months I have had the unit, I can see that the GL-inet crew are developing this frontend and fixing bugs as they come up.


The Fun Stuff

By Far the coolest part of the GL-inet routers is the fact that they can operate as an OpenVPN client and a Tor router. (We will do a post soon on setting up as a Tor router.) However, for now, we are going to focus on the OpenVPN side of the device. The OpenVPN client can be used in two ways. Either connect to your own self-hosted VPN server or connect to one of the popular paid VPN services. The paid services allowing anonymity and safety of your data whilst traveling, or operate through your own self-hosted VPN for access back into your business or home network. A typical setup of the OpenVPN service through a paid provider can be found here. (The setup on this router is the same for the MiFi)

If you have a keen eye on the GL-inet routers then you might have also seen in the newest firmware an ‘OpenVPN server’ being rolled out in beta form. I am yet to have a play with this, however, it is exciting to see a device no bigger than a rich-mans wallet hosting its own VPN server.


What next?

So many cool things still yet to be achieved with this router. Here is my list, in no particular order, of the bits and pieces I want to achieve.

  • Solar power kit to run the MiFi indefinitely.
  • Run up the Tor firmware.
  • Look at Mesh firmware
  • 3G/4G VPN tunnels into other networks
  • Control relays from GPIO pins onboard.

If you have any thoughts on what else we could do here, let us know in the comments below. Very keen to get your thoughts!!!



How to setup VPN on a mini travel router

In this scenario we want to use a mini travel router to act as a VPN client so that when we connect any device to it we know the data will be safe and traverse via a VPN. This kind of setup has a few benefits. The first being the fact that we only need to load one VPN config onto the router and any device that connects to it will use the VPN. This saves us time in setting up our phone, PC or tablet with the VPN config. We can assume that when connected to the travel router we are using the VPN.

The second is portability and travel. Using the travel router in a hotel or a restaurant means that our data is safe and secure. (Assuming you connect to the local wifi with the travel router in bridge mode.)

For this demo we have decided to use the GL-AR300M Mini smart router. This router acts as an OpenVPN client which is what sets these small devices apart from any others. Not all travel routers have this functionality.


Signing up to a VPN service

The first thing we need to do is sign up to a VPN service. Yes we could run our own VPN server, but whats the point when you can get top class servers and better speeds for a few dollars a month. Not all VPN services are alike. Some keep logs, some don’t, some allow P2P traffic, some don’t (Few VPNs have been able to prove they don’t keep logs….but from a security point of view, a VPN with no logs suits us the best.) We also want to look at where the servers reside and what services we can put over the VPN. For example we do not want to connect to a server in Europe if we are located in Australia. However the Australian server may not allow P2P traffic or torrenting. These are just a few of the things to consider when signing up.

We use IPvanish, it is a reliable, no logging VPN services which we have no issues with. Feel free to give it a go. Or do a quick google search and you will be inundated with services to use.


Where to obtain the config files for OpenVPN?

As we are using the GL-AR300M and it uses the OpenVPN protocol we must search our VPN provider for an OpenVPN configuration and certificate. Without this we cannot connect securely to the VPN service. Most services will have a location and the files will be split into servers. Pick the server you require and download the OpenVPN config and certificate. In out case we downloaded every single OpenVPN config for all servers. We then extracted the config we wanted (A Melbourne based server) and created a .zip file with only that config and the certificate.


Loading the config onto the travel router

Depending on how the OpenVPN config is delivered to you, there may be an additional step to create a zip file with the certificate and the config. At times the OpenVPN config file can include the certificate. But generally for VPN services a separate VPN certificate is used.

Log into the GUI of your router and located the OpenVPN tab. From here we can either upload the OpenVPN config or our ZIP file containing the config and the certificate. Once installed, we can then go ahead and activate the VPN profile. You will see a log at the bottom which indicates if/when it is connected and how much data is passing over the VPN. You can also look into using other settings to confirm that the VPN is being used.

You may be greeted with some VPN authentication. You only need to do this once and it is most likely the same login that you use for the VPN service. For IPVanish it will be the email that you registered with and the same password you use to log into the website.

Once Authenticated, the VPN should be good to go, simply click the ‘enable’ checkbox and ‘apply’ the settings. You should then see the VPN begin to connect. If you get errors in the log at this stage it will be an error with the certificate, OpenVPN config or your Authentication. It is possible to load up multiple OpenVPN configs. Use the dropdown box to select the server/config you want to connect through then click apply.


Some assumptions we have made...

This tutorial assumes that you have already connected your travel router to a hotspot with internet ie. Hotel, Maccas, Home. Obviously this is the link that we will tunnel through with our VPN service. There are some settings to ensure that internet does not work without a VPN connection. This ensures that the VPN is being used at all times. Also we set the DNS to use Google DNS. (8.8.8.8 as primary and 8.8.4.4 as alternate.)


Confirm VPN is working

One way to confirm that your internet traffic is travelling through the VPN is to use the https://ipleak.net/ website when you are connected. You should see that ‘your’ IP address is that of the VPN server you have selected. Also can check to make sure the DNS servers being used are masked.


Powering Ubiquiti links from 12v

So it seems that I can power a Ubiquiti Bullet and Rocket directly with DC 12v. In the past I have been chasing POE and wasting precious milli-watts converting 12V to POE standard (Usually 24v or 48v) then powering the devices.  A power saving can be made by connecting direct to 12V. If using a solar setup, the power savings can mean more up-time, and better use of your batteries. Some testing will follow this blog post. However in the interim, it seems pretty stable here in the workshop.


How to make your own cable for 12v power supply.

  • RJ-45
  • RJ-35 Crimp
  • Pliers
  • Box Cutter
  • Straight through Ethernet cable

In a nutshell, the Ubiquiti Bullets and Rockets grab power from 4 pins on a standard RJ-45 connector. In our case here in Australia (Blue/White-Blue) pins 4 & 5 will carry 12v+ and pins 7/8 12v-.


Prepare your cable

If you have the resources to cut up a straight-through cable, then go ahead and cut one end off. (Otherwise you will have to complete two terminations) Strip the cable back a bit to expose the pairs of wires. Identify the solid blue and Blue-White wires. These will be your 12V Positive injection points. Now identify the Solid Brown and Brown-White wires. This will be your 12V Negative injection point. From here identify the remaining cores and insert them into an RJ-45 housing.

  • PIN 1 – White-Orange
  • PIN 2 – Orange
  • PIN 3 – White-Green
  • PIN 6 – Green

Now crimp your RJ-45 and you are all done. The bare wires can be used in anyway to inject 12v. ie Barrel jack. I would use a fuse close to the source to protect your equipment. Also confirm the pinouts prior to plugging in. The last thing you want is to fry your Ubiquiti gear.


Or Don't hack up a cable and buy some injectors

If you want that more professional look, then you can always purchase a few of these injectors. Have a look at the specs though and make sure the power inputs are on pins 4/5 and 7/8. Let me know how your setup goes? I really need to do some testing on the longevity of this type of setup. My only concern is that the fluctuating 12v from batteries could damage the Ubiquiti gear over time. Maybe I need to look at a circuit to provide clean power.



Third-world countries have better internet then me!

We moved into a brand new home about 3 months ago. Most people would have checked out the comms infrastructure in the area prior to buying. Silly me however assumed that being only 20km from the center of Perth city we would be able to achieve decent DSL speeds. Well… I can tell you that no matter how close you are to the city, it is always wise to check out the telephone exchange in your suburb. After moving in and being sold “ADSL2+” we were very disappointed with the speeds and began looking for alternatives. This is my journey…


"ADSL2+"

After moving in I contacted our Telecom company as you do, and requested ADSL2+ be installed. After a few days sure enough we had been setup with ADSL2+ and a 1000Gb Monthly data plan. I was pretty excited that the service had been setup so quickly, however the joy was short lived after I ran a speedtest… 1.6Mbps … consistently.

To keep the story short, I went back and forward with the telecom company tech support to see if it was a fault or just the standard. As it turns out they could not offer any better speeds into my residence. The company ended up refunding everything because it was not even possible to use the data in a month with speeds like that.

We all have “that mate” who boasts about his internet speed, and it just so happens my mate has up to 100Mbps and is only 900m away. (Yes….devastating I know…). So I hit him up to see if we could pipe some traffic over to mine. But first I needed to see if we had “Line of sight” (LOS) between the two houses. This is what we had to work with.

~900m shot, one house elevated above the other, a few parks in the way. Easy you say! well….it seems the trees are the limiting factor here. We have large pockets of trees in the way.

What I will say about the Airgrids though is that they are super simple to assemble. (Tool-Less design) and really fast to get up and running. With the Airgrid having the radio inside the feed-horn, all you require is a piece of cat5 and the POE injector and your in business. I foresee the Airgrids being used in rural environments with direct LOS to the target. I would probably look elsewhere if I was trying to push further then 10-15km though.


5Ghz (Make note to self: 5Ghz does not like trees!)

My first attempt at setting up the link failed miserably. Now 5Ghz obviously gives us the most throughput. But with the gear I had, I was unable to even achieve a link.

I purchased the Airgrids for an economical $99ea. Hopeful I may achieve even half the 80Mbps suggest on the ubiquiti planner. The Airgrids are a single channel radio operating in the 5Ghz unlicensed band. For the price and output they appeared to be a good bet. Me being a bit of a novice though didn’t take into account the “tree” effect on 5Ghz. It seems that there is a substantial difference in punching power between 5Ghz and say 900Mhz. (Which I ended up with!)


2.4Ghz (Success - But only just! Not our final solution)

Since 5Ghz for me was a total failure, I decided to give 2.4Ghz Unlicensed a crack. The first thing I want to say is that I did not use rockets with rocket-dish antennas. Everyone has told me, “you would be surprised how much better the good gear works” and I agree, however with a $1200+ outlay I decided to try single channel radios first. I could get my hands on some Ubiquti bullets and some cheap 28dBi grid antennas to test the link first.

I did have initial success getting the links up and running, however no matter what I did I was unable to improve the signal strength. I tried to get as much elevation as I could on each roof mount, I tried lowering the channel widths etc etc. At times I would get a solid 5Mbps of internet traffic but most of the time I would equal my 1.6Mbps that I had with DSL.

Maybe I could double the throughput with Ubiquti MIMO Rockets and dishes, but I was still weary to spend money on the gear only to experience the same “flutter” that I was on single channel gear.


900Mhz (Winner Winner! For this link anyways.)

A mate of mine suggested I give 900Mhz radios a go to see how that went. I was starting to see that as we stepped down the frequency range the “punching” power through the trees was indeed getting better. However using the 900Mhz band in Australia is a little bit tricky and you have to be careful with your setup so that you do not break the law. From what I can tell, 922Mhz is the only frequency you are allowed to use and can use up to 10Mhz channel width on this frequency. Thus the throughput is lowered significantly. However If I can still achieve 20Mbps of actual throughput then I’m still winning.

The other consideration is the power levels. You really need to drop the power (Most 900Mhz Ubiquti radios that come out of Australia are limited by firmware so you cannot push the limits anyhow.) From what I can tell some of the 3G mobile services sit on the 900Mhz range and the ACMA does not want unlicensed users to interfere. Which makes sense.

With all that in mind, if you have another radio sitting on 900Mhz close by you could be in trouble because you cannot move from 922Mhz.

So our initial testing saw us setup 2 x 900 Rockets with the MIMO 16dBi Yagi. We had it sitting on the roof and it already had a link. Not very good but was in. Once we got it up the mast and semi aligned we could see straight away that a lot of the “flutter” had disappeared and the signal strength was sitting solid. A quick speed test saw us get a solid 10mbps on a 5Mhz channel width. This put a smile on my face.


PiFrame - Surfboard

The idea behind this was to create an aesthetically pleasing frame for an old screen that I had lying around. No chance was I going to create a standard boring square frame and hang this on the wall. It has been done before…. A few weeks prior to making the surfboard frame I had seen a really nice piece of static wall art with a massive photo framed into a board. It looked unreal and was the inspiration for this surfboard PiFrame.


Parts List

  • Suitable wooden panel approx 18-20mm thick. (I used 1800x600 Panel, 18mm thick)
  • An old LCD monitor (Preferably with buttons including power on the bottom or back. not on the front.)
  • A Solid wall mount (I used a small VESA mount extendable arm - yes it holds the weight fine....)
  • RPI2 with Raspbian installed.
  • 5v PSU - (I used good quality Meanwell enclosed PSU)
  • HDMI cable
  • USB wifi module
  • 240v IEC cable - Y cable with two inputs.


The Frame

For the Initial board I decided to use the workshop CNC router to speed up the process. The first thing we did was decide upon the shape for the board. The classic thruster shape seemed like the best choice as we could scale it down to fit the 1800×600 wooden panel easily. After drawing up the basic board shape in solid works I moved the drawing over to Aspire. We use Aspire to create our tool paths for the CNC. We then measured the outer edges of the monitor without compensation. The LCD monitor needed to press fit nicely into the wooden panel.

Cutting out the basic template is pretty quick and easy with the CNC router. After we have the basic frame, a quick sand all over using 80grit and 120 grit sandpaper…..then some wet and dry. A base coat of blue paint was applied and a light wash of white. Another quick sand to give it the ‘weathered’ look and a coat of clear varnish has the frame ready to seat the LCD monitor and electronics.


The Hardware

The cut-out for the LCD into the frame was just about perfect and the monitor pressed in nicely, at this stage we didn’t really even need to secure it to the screen as it was a very nice fit. (You may want to affix the frame to the monitor!) Mounting of the hobby enclosure was through 4 x self tapping screws. Just make sure you do not punch through the front of the frame. The electronics hobby box was a bit of a mash together as you can tell, but if you spend a bit more time on it, im sure you can mount everything a bit nicer than what I have.

For the wall mount we decided that the most flexible option was the LCD monitor swing arm. You need to be careful with the weight on these things, however after a bit of experimenting we found that the short arm was perfect and stable enough to hold the weight of the LCD, the frame and the electronics.


The Software

  • Raspbian OS on RPi
  • Sign Up for an account at DAKboard.com (This is a BETA web configuration I used to display items in the frame)
  • Install Chromium web browser on the PI. (A perfect browser for Kiosk mode - see Dakboard.com for install)

I stumbled accross a little web site that specialises in turning a monitor into a useful device that is actually asthetically pleasing. It involves setting up an account and setting the Pi’s web browser to kiosk mode and loading the page in full screen. Once loaded it can show data such as, Date, Time, Weather, iCal calendar entries and link to dropbox or flikr to display HD background photos. Not a bad setup, but i stress that it is in BETA and has a few bugs. I believe there are other project floating about that can do similar. (Post them in the comments, I’m keen to explore other possibilities.)


What Next?

Let me know if you want a detailed article on all the installation steps including step-by-step install of the software. Please comment below.


Raspberry Pi HAT design files

I have embarked on a journey to create a Raspberry Pi HAT for a little project of mine and I wanted to share a couple of things that I think may help you speed up your development time in the future. As of 11/5/16 I have tested out the DXF importing it into KiCad and using as the edge cut profile. The blank PCB’s test HATS we had made up fit nicely on the RPi2. As I push further on this journey I’ll continue to post any design files that I feel could help you with future iterations.

I can confirm that this fits onto the rPi3 also.


RPi HAT Files