Raspberry Pi 3B+ Not Enough Power for MLAT


#1

I have a Raspberry Pi 3B+ running Raspbian and tracking ADS-B seems to work fine but when it comes to MLAT I can never get enough power to my Pi. MLAT stops after 5 minutes from boot. I actually have two of them in two different locations, one using POE and the other using standard USB chargers. I’m only concerned about the POE one right now even though both have power issues.

I’ve gone from a 15.4watt POE injector and a 12watt splitter to what I just installed which is a 30watt injector at 52volts and an 18watt splitter (it says 24watts max but that might be at 12v not 5v). I went from a possible 2.4amps to a theoretical 3.6amps if my math is right. Am I doing something wrong or does anyone else have this issue? I even shorted the usb data pins when I made my power cable for the heck of it. I have bluetooth, wifi, and hdmi disabled to save power. The only usb device is the FlightAware Pro Stick Plus.

If I run the “dmesg” command I always see this happening especially on boot and when MLAT hasn’t stopped yet.
Under-voltage detected! (0x00050005)
Voltage normalised (0x00000000)

I can run “vcgencmd get_throttled” and get a response of 0x50000 which means it has been throttled at least once since boot but it isn’t currently throttled and rarely do I get 0x50005 stating it is currently throttled.

I had a Pi 2B running forever which never had MLAT issues except for when I had to use a power bank when the power was out. Had that Pi until I got a mast on the roof and then I broke that Pi so I was forced to upgrade to the 3B+. It kind of bums me out because I went from a perfectly good system hanging out the window to an antenna on a mast with not so cheap hardware and it has never worked as well after the 3B+ “upgrade”.

I’m not sure if I should invest in a higher powered POE splitter again or buy an older Pi or just give up on MLAT all together. I also thought of powering the Pi through GPIO pins.

Sorry for the long post but any comments or suggestions on my situation are appreciated, Thanks!


#2

If by power you mean processing power, the 3B+ has slightly more power than the other versions.


#3

MLAT should not be shutting down by itself because of voltage issues.

If the 24W splitter is 24W at 12V and is current limited it may actually be limited to 2A. It should state the rated load at 5V somewhere does it not?

Nonetheless I suspect your problems are not power related please post the messages when MLAT stops.
either use journalctl or check /var/log/piaware.log


#4

Power is the most common cause of issues with piaware.
Make sure that you have quality equipment that can actually supply stable power at the rated current.

I am running piaware on several 3B+'s with no issues. 3 by POE.

Since it appears to be being throttled, could the CPU be getting too hot?


#5

Can you post which POE hardware you are using?


#6

The Pi definitely has enough processing power but I’m having issues with electrical power. I’m also just realizing that MLAT is still running when looking at Skyview page but I am getting the red “MLAT” and the “This feeder is not being used for multilateration because its timing information appears to be unreliable. This can be caused by the site location being incorrect, or because your Pi is running out of free CPU.” message on my FlightAware page still.

Not high quality POE hardware but this is what I have and if I understand correctly the splitter is 18W at 5V:
Injector: https://www.amazon.com/gp/product/B00B4H00EO/ref=oh_aui_detailpage_o02_s00?ie=UTF8&psc=1
Splitter: https://www.amazon.com/gp/product/B01JCKHIGM/ref=oh_aui_detailpage_o01_s00?ie=UTF8&psc=1
I have no more than 50ft of cat5e ethernet in total.

I will admit my Pi runs very hot but I haven’t been able to test it at normal temperatures yet with the new POE hardware. I will be adding a vent to my outdoor enclosure the next day it’s not raining. The temperature for it right now is 51C (not great haha). Part of me hopes that is the issue so it would just be as simple as adding a vent.

Here is /var/log/piaware.log from when I last restarted to when FlightAware sees that the clock is unstable.

Jul 25 19:07:09 raspberrypiADSB piaware[528]: creating pidfile /run/piaware/piaware.pid
Jul 25 19:07:09 raspberrypiADSB piaware[528]: ****************************************************
Jul 25 19:07:09 raspberrypiADSB piaware[528]: piaware version 3.5.3 is running, process ID 528
Jul 25 19:07:09 raspberrypiADSB piaware[528]: your system info is: Linux raspberrypiADSB 4.14.52-v7+ #1123 SMP Wed Jun 27 17:35:49 BST 2018 armv7l GNU/Linux
Jul 25 19:07:11 raspberrypiADSB piaware[528]: Connecting to FlightAware adept server at piaware.flightaware.com/1200
Jul 25 19:07:11 raspberrypiADSB piaware[528]: Connection with adept server at piaware.flightaware.com/1200 established
Jul 25 19:07:11 raspberrypiADSB piaware[528]: TLS handshake with adept server at piaware.flightaware.com/1200 completed
Jul 25 19:07:11 raspberrypiADSB piaware[528]: FlightAware server certificate validated
Jul 25 19:07:11 raspberrypiADSB piaware[528]: encrypted session established with FlightAware
Jul 25 19:07:12 raspberrypiADSB piaware[528]: adept reported location: -------------------------ft AMSL
Jul 25 19:07:12 raspberrypiADSB piaware[528]: logged in to FlightAware as user KirbyH
Jul 25 19:07:12 raspberrypiADSB piaware[528]: my feeder ID is ------------------------------------
Jul 25 19:07:12 raspberrypiADSB piaware[528]: site statistics URL: https://flightaware.com/adsb/stats/user/KirbyH#stats-73650
Jul 25 19:07:12 raspberrypiADSB piaware[528]: ADS-B data program ‘dump1090-fa’ is listening on port 30005, so far so good
Jul 25 19:07:12 raspberrypiADSB piaware[528]: Starting faup1090: /usr/lib/piaware/helpers/faup1090 --net-bo-ipaddr localhost --net-bo-port 30005 --stdout --lat ------ --lon ------
Jul 25 19:07:12 raspberrypiADSB piaware[528]: Started faup1090 (pid 957) to connect to dump1090-fa
Jul 25 19:07:12 raspberrypiADSB piaware[528]: multilateration data requested
Jul 25 19:07:12 raspberrypiADSB piaware[528]: Starting multilateration client: /usr/lib/piaware/helpers/fa-mlat-client --input-connect localhost:30005 --input-type dump1090 --results beast,connect,localhost:30104 --results beast,listen,30105 --results ext_basestation,listen,30106 --udp-transport 70.42.6.156:6588:3081220611
Jul 25 19:07:13 raspberrypiADSB piaware[528]: piaware received a message from dump1090-fa!
Jul 25 19:07:13 raspberrypiADSB piaware[528]: mlat-client(966): fa-mlat-client 0.2.10 starting up
Jul 25 19:07:13 raspberrypiADSB piaware[528]: mlat-client(966): Using UDP transport to 70.42.6.156 port 6588
Jul 25 19:07:13 raspberrypiADSB piaware[528]: mlat-client(966): Listening for Beast-format results connection on port 30105
Jul 25 19:07:13 raspberrypiADSB piaware[528]: mlat-client(966): Listening for Extended Basestation-format results connection on port 30106
Jul 25 19:07:13 raspberrypiADSB piaware[528]: mlat-client(966): Input connected to localhost:30005
Jul 25 19:07:13 raspberrypiADSB piaware[528]: mlat-client(966): Input format changed to BEAST, 12MHz clock
Jul 25 19:07:13 raspberrypiADSB piaware[528]: piaware has successfully sent several msgs to FlightAware!
Jul 25 19:07:14 raspberrypiADSB piaware[528]: mlat-client(966): Beast-format results connection with ::1:30104: connection established
Jul 25 19:07:44 raspberrypiADSB piaware[528]: 33 msgs recv’d from dump1090-fa; 33 msgs sent to FlightAware
Jul 25 19:12:44 raspberrypiADSB piaware[528]: 329 msgs recv’d from dump1090-fa (296 in last 5m); 329 msgs sent to FlightAware
Jul 25 19:17:44 raspberrypiADSB piaware[528]: 711 msgs recv’d from dump1090-fa (382 in last 5m); 711 msgs sent to FlightAware
Jul 25 19:22:23 raspberrypiADSB piaware[528]: mlat-client(966): Receiver status: connected
Jul 25 19:22:23 raspberrypiADSB piaware[528]: mlat-client(966): Server status: clock unstable
Jul 25 19:22:23 raspberrypiADSB piaware[528]: mlat-client(966): Receiver: 139.0 msg/s received 34.9 msg/s processed (25%)
Jul 25 19:22:23 raspberrypiADSB piaware[528]: mlat-client(966): Server: 0.0 kB/s from server 0.0kB/s TCP to server 0.5kB/s UDP to server
Jul 25 19:22:23 raspberrypiADSB piaware[528]: mlat-client(966): Results: 1.8 positions/minute
Jul 25 19:22:23 raspberrypiADSB piaware[528]: mlat-client(966): Aircraft: 7 of 17 Mode S, 14 of 17 ADS-B used
Jul 25 19:22:44 raspberrypiADSB piaware[528]: 1202 msgs recv’d from dump1090-fa (491 in last 5m); 1202 msgs sent to FlightAware

Forgot to add this but after taking so long to post this, I still see MLAT planes in Skyview 20min after clock is unstable.


#7

So i guess the --------------- are redactions on your part and you have checked the configured location? Timing information includes the position of the receiver.
Maybe you mixed up the two receivers positions?

51C is perfectly acceptable and certainly not a problem.

Best way to test if the POE is the problem: Power it via a capable USB power supply. Probably a problem because you have everything install on a mast :confused:

You could also limit the raspi frequency which could reduce spikes in power demand. It will be slower but that should be still plenty fast enough for MLAT.
If i remember correctly my MLAT worked just fine with my raspi 3b+ at 700MHz.
Not sure how much that would help much but it’s relatively easy to try especially when you can’t just hook up another power supply. (google should be better at telling you how to change the freq than me)

The splitter may well have a current limit of 2A even at 5V and just not declare it so yeah the splitter looks like the reason of the low voltage. Can of course also be the cable connection from the splitter to pi.

I got myself a meanwell power supply with a screw block to attach mains input and 5V output.
Also got a USB cable half with wires that is capable of enough current without much loss.

Powering through the GPIO pins you lose some input protections as far as i know. Maybe look at the cables connecting the splitter with the raspi and try and beef them up if you are able?

Good luck!


#8

Latitude and longitude are set properly so the hyphens are just replacements I did. Locations aren’t reversed I just double checked in case haha. I will try limiting the processor to 700MHz first and see what happens. Even though it’s on a mast I can mess with it without too much hassle. I might make another cable so that I can measure the amps with my multimeter or I could buy one of those cheap usb voltage and amp meters but I can’t imagine they are really accurate. My last splitter was labeled well and was micro usb rated at 2.4amps but that didn’t have enough juice even paired with 30w injector. This could be just in my head and maybe I’m making it up but I think with that 2.4a splitter I wasn’t able to see MLAT continuously after the clock unstable message like I’m able to do now, or maybe MLAT did finally give up. I don’t see any MLAT currently in Skyview but it’s currently a time of day when there are hardly any planes anyway.

I just got a 12v to 5v 10a converter for a completely different project but I could rig up my 12v 30a power supply with it as a test and maybe a 5a fuse just so nothing bad happens when testing. :laughing:

I will underclock the cpu in a minute and if that doesn’t work I will measure the amps from splitter to Pi. The “usb” cable I made could be at fault. Half of that 1ft cable I made is 22awg (that is what it was labeled and I hope it isn’t actually less) and the other half is 20awg which I know I wasn’t lied to on that half. I just wish I could buy the cable I need locally so I would be able to see what I’m actually getting. Everywhere I look there’s no description of wire gauge. I don’t want to power through GPIO pins for the lack of protection, but I might try it as a last resort.

Thank you for the help and information. I can’t get on the roof for a few days because of rain but as soon as I can I will test all the hardware. Thanks!


#9

Ok, had a quick look, always interesting to see what hardware is available. It was difficult to find documentation, but two things struck me a odd.

Someone asked on amazon about how much power is supplied at the different voltages of the splitter, and the supplier just stated the 12V 2A number, and not the 5V and 9V number. Maybe there is a 2A limit, which might not be enough for a 3B+.


#10

Yeah I saw that before I ordered it but I took a chance with it. I guess the only way I will be able to tell for sure is to measure it myself and I will probably have to use thicker gauge wire on my cable from splitter to Pi to be certain.


#11

You could set the POE converter to 12V and use your 12V to 5V converter after it.

I can well imagine it would work better because the suspicion that the POE converter is Amp limited.

I would have suggested it earlier but didn’t know how electrically equipped you where :wink:


#12

Oh wow I never even thought of that. I will have to try it!


#13

Hi everyone :wave:
its a big post
Hi @KirbyH
well

  1. current
    if you give more Amps the board will take what it needs, if you give less its not good

As @wiedehopf suggested it could be

The splitter may well have a current limit of 2A even at 5V and just not declare it so yeah the splitter looks like the reason of the low voltage. Can of course also be the cable connection from the splitter to pi.

Please see this video of LED you may get an idea, that when you reduce Amps the brightness reduce so you may apply to the raspberry pi as it work hard not getting what it needs https://www.youtube.com/watch?v=U4S_aaolTGo

2.Voltage
Giving to much voltage will burn the board as @wiedehopf suggested

You could set the POE converter to 12V and use your 12V to 5V converter after it.

  1. Over heating

Raspberry pi can work till 100 degree Overheating of FlightFeeder

:thinking: :face_with_monocle:

Guys this is my suggestion only. Im not saying that you may be wrong, base on research from here and there. I have seen many guys using POE. But im not sure if the MLAT processing is doing that …
@KirbyH Do you have an option to run an temporary power extension to the site and connect and run a test to see if you get the same issues?


#14

Please read the second half of the sentence. “After” in this case means between the POE power and the Pi. He mentioned he had a buck converter laying around this is what i was referring to.

The MLAT is dependent on the clock on the dongle running steady without hiccups. Power drops may cause the dongle to stop working momentarily which would stop MLAT from working. It might be something else but as long as he gets low voltage warnings it’s one thing to eliminate.


#15

Thanks @wiedehopf wiedehopf. I think I have to read the whole doc again, because I plan to set up 3 more sites which shall be use for MLAT. but there will be site which shall be using POE.


#16

POE is not the problem. He just seems to have been unlucky with the POE products he got.

Just wanted to clear up that i did not propose to run the pi on 12V :stuck_out_tongue:


#17

Feeding 5V on long PoE cable may cause excessive voltage drop and low voltage at RPi.

For long PoE cables, a 48V DC supply at router/switch, and a down convertor to 5V at RPi works satisfactorily.

.

Po_E_48_V

There are two types available. Some models are not AF compliant, and some other are “AF-compliant”. Go for “AF-compliant” POE. It will only apply power after being “asked” for it, and will protect non-POE devices, if you plug them in.

Some cheap non-standard POE stuff will fry your non-POE devices if you forget, and plug them in without the POE splitter.

Below is one such complete kit. This item is given as an example for guidance only. If you search Amazon and eBay, you will find many other makes and prices.

AF-compliant:

Injector TP-Link TL-PoE150S
amazon.com/gp/aw/d/B001PS9E5I

Splitter TP-Link TL-PoE10R
amazon.com/gp/aw/d/B003CFATQK

Injector User Guide / Specs:
static.tp-link.com/resources/document/TL-POE150S_V3_User_Guide.pdf

Splitter User Guide / Specs:
static.tp-link.com/resources/document/TL-POE10R_V4_User_Guide.pdf

.
.


#18

I tried underclocking my Pi with a few different variations of min and max clocks and ended up with max 600MHz and min 400MHz which lasted for a few hours vs ~15minutes without MLAT having any issues but it did eventually stop working on the website. I was surprised it ran for so long! It still shows MLAT on Skyview though and it has been 16 hours since I last restarted (still at 600MHz max and 400MHz min).

It’s 52V 30W from the injector to the splitter (about 50ft of cat5e) and only the last 1ft of cable is 5V usb directly after the splitter (52V to 5V). The 1ft of cable may need to be a thicker wire gauge. I would love to make a cable with 18AWG to be safe but I haven’t had luck finding anything yet. As soon as I get a chance I am going to set the splitter at 12V instead of 5V and use my 12V to 5V 10A buck converter. If that doesn’t end up working I will bring a 110V AC extension cord outside to the Pi with my 12V 30A power supply and the same 5V 10A buck converter. I might as well bring out a few different usb chargers I have that are more than 2A to test out at that point. Also adding a little vent on the enclosure as soon as possible and maybe that will cool it down a couple of degrees and prevent some thermal throttling if it was doing so but I don’t think that is the issue, could be wrong though!

The original POE setup I had (Note I am not using these anymore) was a TP-LINK TL-PoE150S https://www.amazon.com/gp/product/B001PS9E5I injector as mentioned by abcd567 and a UCTRONICS 5V 2.4A splitter https://www.amazon.com/gp/product/B01MDLUSE7. For a little while I ran the 30W injector and the UCTRONICS together but none of these configurations were working.

I guess I’ll have to get on the roof and really do some messing around. Thanks for the replies!


#19

(Re-) Checking the specifications, this one also only supplies 2A at 5V, which, too, might not be enough for a 3B+.


#20

Just leave the minimum at 600 i don’t believe reducing it further changes much.

Glad it helped a bit i was not sure as regarding the temperature someone said it does not make a difference. But it does seem to smooth out the power required. I believe some power supplies are just slow to adjust output power.

Regarding the cable: If you can solder just cut up a random cable and reduce it to the length you need or insert a piece of other cable. You only need 2 strands if the usb cable is only for power, you should check out the cable with a multimeter when you have cut it and stripped some insulation.

Maybe the POE splitter was thermally throttled :wink: