.NET a LEGO Mindstorms EV3 with MonoBrick
You know we love us our LEGO's here at Coding4Fun, mix that with that with some C# and we'll be happily building away for days...
The MonoBrick EV3 firmware is a firmware replacement that allows you to program and debug the EV3 brick using the open source .Net framework called Mono. This let’s you program the EV3 in .Net compatible languages such as C#, F# and IronPython. Since the firmware fits on a single SD card you simply boot the MonoBrick firmware directly from the SD card without replacing the standard firmware.
As programs are executed on the Mono Framework programs can be written/compiled on Windows, Linux or Mac OS using either Xamarin Studio or Microsoft Visual Studio. The firmware supports all the features listed below.
- Support for UART, I2C and analog sensors
- Support for all LEGO sensors that comes with the Retail and Educational sets
- Support for a number of HiTechnic sensors
- Motor support including speed, timer and power profiles
- Motor PID position controller
- Motor synchronization
- Vehicle support
- Draw graphics on the LCD
- Write text to LCD including support for custom fonts
- LCD Screenshot dump
- Button support
- Button LED support
- WiFi tested with the NetGear WNA1100 and the Edimax EW-7811UN dongles
- USB support
- Automatic firmware updates over the internet
- and more..
It is fairly easy to get started with the MonoBrick firmware. All you have to do is to follow these steps:
- Create a bootable image using either the Windows guide or the Mac OS/Linux guide
- Install USB driver following this guide or establish a WiFi connection using this guide
- Install the Xamarin Studio MonoBrick firmware Add-in to upload and debug programs.
- Use the documentation and source code for inspiration.
If you want to use Visual Studio simply download the firmware dll and create a new console project with a reference to the downloaded dll and use this guide on manually transferring programs to the EV3.
All guides related to the MonoBrick firmware can be found here
Below the sample program for the color sensor is shown. The program let’s you chose between the different color modes and print the sensor value to the LCD.
MonoBrick firmware is open source and can be found at these Github repositories. Here you will also find source code for the samples found on the firmware image.