"... and no one shall work for money, and no one shall work for fame; But each for the joy of the working, and each, in his separate star, shall draw the thing as he sees it, for the god of things as they are"

-Kipling

 

Why the Beagle Project

Summary

Besides its intrinsic "fun-ness", I do actually have a practical motive for working with the Beaglebone Black. One of the main things I would like to implement in my ongoing Wellity CNC router rehabilitation and modernization project is a Digital Read Out (DRO) and console. Initially I looked at using a Netduino Plus2 for this purpose and achieved some success with it. As useful a bit of kit as it is (and it is a very well done microcontroller board) it soon became clear that I would run out of I/O pins. By the time the VGA video output got handled and the interface to the IR Remote Control was configured it was clear that I would not have enough pins to effectively interact with the Wellity router in order to control it and still be able interpret all of the status signals the machine would be returning. Simply put, there just were not enough I/O lines. After playing with several tradeoffs I decided to look around and see what else was available that might be useful.

The Beaglebone Black has a maximum possible of 65 I/O pins, although 25 is a more realistic number if you wish to use the HDMI output and the EMMC internal memory. This should be sufficient for my needs. It is also Open Source and has an active developer community. The downside is that the main development languages are C, C++ and Python and there were not a lot of people programming it in C# - or if they were, they sure were not writing about it on the "teh internets" when I was looking.

As to why I choose to use C# and Mono - well lets just say I'm not a big fan of Python and leave it at that :-)