Setting up Beaglebone for an Embedded Linux project
There are many different board options for an IoT project. Perhaps for most users, Beaglebone < https://beagleboard.org/ > would not be the first choice. The wider support options and easier path to set up out of the box make Raspberry Pi a more popular option. The Beaglebone Project is a relatively old board project with the Beaglebone having been first released in 2013. There are projects out there that may do a better job at addressing the latest needs. Raspberry Pi is also more popular as the barrier to entry is much lower in terms of the skill set required to set up and configure the board. Beaglebone is more complicated and the entry level is higher in terms of what it takes to set the board up.
Out of the box support for peripherals
Support out of a box for peripherals is something to consider. Beaglebone is stronger for IoT projects than Raspberry Pi in this regard. If in your IoT project, you are going to be relying on a lot of peripheral devices, then Beaglebone will probably make a good choice due to there being a lot more ports available to use. This means that a lot of extra devices including sensors can be connected directly through more ports. The Beaglebone Black also supports analogue inputs unlike the Raspberry Pi. This means that you will not need to rely on analogue to digital converters if you use analogue inputs with the board. If your focus is on controlling peripherals then Beaglebone is a better choice and this may include sensors for measuring different values such as temperature or humidity, or soil moisture. In all likelihood, some of these sensors will be analogue and will not be directly compatible with the Raspberry Pi. To use sensors directly with a Raspberry Pi board, you would need digital sensors. These sensors are normally more expensive as analogue to digital converters need to be integrated into them. If you have an analogue sensor you also need to manage it at the application level but is more accurate. With some sensors, you cannot always use this analogue to digital conversion externally for timing reasons.
More custom, more Beaglebone
If you are using Beaglebone, then it is likely you will want to customise your setup more than with Raspberry Pi. You are more likely to be an expert and experienced user as an embedded IoT developer and less likely to be a generalist programmer. If you have a more custom software stack then you will need to invest more in updating the stack so that you don’t have outdated software running on your device. Prototyping with a Raspberry Pi will be a little easier, so for kickstarting an IoT project from scratch. If you are more experienced with embedded then you go for Beaglebone as it will be more optimised for your needs. One the project goes to production, it will be easier with Beaglebone as it will have just the custom functionality to put in a custom board for mass roll out.
Read these articles on Beaglebone in an embedded Linux project