Blog
Support for Raspbian Pi 4 – Buster.
by Lowa on Jan 7, 2020

Raspberry Pi Support
We currently support Raspberry Pi models 3B running Jessie and 3B+ running Stretch. We have not worked on a Buster version for the Raspberry Pi 4 and it's unlikely we will do that in the future. This article provides some background information behind that decision and explains the alternative we're working on.

Initial Experience
We were very excited about the Raspberry Pi when the model 3B running Jessie was released. It worked well and it looked like a great solution for an inexpensive alternative to a computer for controlling train layouts. It looked so promising we started working on a layout automation server based on the Raspbian Pi. We designed a LEGO® compatible casing and printed a couple of prototypes.


Prototype of the Raspberry Pi based automation server.

Model 3B+ - Stretch
But then the 3B+ boards were released... we quickly found out that the nControl version we complied for 3B/Jessie did not run on 3B+/Stretch and that every new Raspberry Pi version would require a different version of nControl. That's not ideal but it's manageable.
Unfortunately we also ran into connectivity issues: on our 3B+ boards running Stretch the WiFi connection dropped from time to time. That’s a problem if you’re using WiFi controllers. We search for patches, upgrades, hints, etc. but never found a solution.
When we added support for the LEGO® PU hubs we ran into another connectivity issue: the 3B+ boards could connect to the PU hubs using the onboard Bluetooth chip but when we sent an instruction to the hub the 3B+ boards immediately lost the connection with the PU hub. We encountered the same behavior when connecting to SBrick controllers. However, we didn’t lose the connection when we used a BLE112 dongle on the 3B+ boards to make the Bluetooth connection. An online search confirmed widespread Bluetooth connectivity issues with the 3B+ boards. It's unclear whether these issues are related to the hardware of the 3B+ or the Stretch drivers. We ran the same tests using the onboard Bluetooth chip of the 3B board and did not encounter any connectivity issues, so these issues are clearly related to the 3B+ / Stretch combination.
We ran into other issues on the model 3B+ as well. For example, when switching two boom barrier motors simultaneously on the Raspberry Pi model 3B+ the USB controller frequency reset due to insufficient power. This problem could be resolved by adding a powered hub between the USB controller and the Raspberry Pi. However, we never had this issue with the model 3B. So it appears that the Raspberry Pi 3B+ doesn't seem to be able to provide as much current to the USB devices as the model 3B. We didn't run any specific tests but our general experience with the Raspberry Pi boards lead to this conclusion.

Conclusion
Although we expected the upgrade from model 3 to model 3+ to have minor implications it came with a never ending series of problems. Unfortunately the Raspberry Pi boards did not live up to our expectations. The combination of all these issues made us lose confidence in the Raspberry Pi as a long term solution for a low cost computer for automating LEGO® train layouts. As such we have not worked on an nControl version for the Raspberry Pi 4 / Buster and we don’t have any immediate plans to do so.

Alternative to the Raspberry Pi
We are currently looking at mini PCs as an alternative to the Raspberry Pi boards. They are comparable in size and as we don't use any of the GPIO pins in our applications they are a potential alternative from a technical point of view. The prices of mini PCs have gone down significantly over the last years and you can find some around $100. That’s still more than a Raspberry Pi board but if you include the cost a case, power adapter, high speed SD card, fan, etc. the difference is no longer significant, especially if you consider the mini PCs are more powerful.
We’re exploring the possibility to create an automation server version of nControl that would not require a screen, keyboard or mouse. It would run on a mini PC and you would control it over WiFi using a web interface on a phone of tablet.

Raspberry Pi based automation server prototype (left) vs. low cost mini PC (right).