Main Site Documentation

FEZ Domino with C/C++ programming


I love the FEZ Domino and its .NET MF but I was wondering if GHI is planning on a version which can be programmed in C/C++ with full USB-debugging support.

.NET MF is nice but sometimes you need more horsepower, more control, larger program memory and larger variables memory (RAM).

And yes, I now there’s an ARM board from Leaflabs which does just this, minus the USB-debugging.


Good joke! I had to check the calendar to see if it was April 1st.


Search the forum. There is a way to remove all GHI code from the device and then you can put anything you want on it. This is irreversible, though.


Even better, keep everything there and only write your program in RLP, that is C native coding.

The great benefit from FEZ and similar product is having the managed system take care of most of the application. Taking this away is like uninstalling windows from you PC and going back to MS-DOS :slight_smile: Of course this is my own personal opinion.


Does RLP have USB debugging?


You mean step in native code using a USB debugger? It is very very difficult to make it happen. I actually have never seen anyone who was able to accomplish this yet. A decent stepping in native code usually means a $$$$ JTAG debugger with $$$$ software, never a USB cable. Although some have built JTAG right on the dev board!


Is it possible to pass debug messages of some sort from RLP to NETMF and back up the Usb debug channel?

So basically, an RLP function like RLPDebugPrint(*message) that will by GHI magic appear in the debug console in Visual Studio. Maybe a callback into special NETMF stubs the user can override?

It’s not “real” debugging, but one should at least be able to see what’s going on in the RLP code.

Or a more adventurous approach… Connect the SPI pins on the Domino to the JTAG pins on the chip and write a JTAG to Usb pass-through app. That should blow someone’s mind (or the board :))


The best way is to send debug messages on serial port. This is how old engineers did it.


Like I said, sometimes you want more control and bigger programs.

I spent a lot of time figuring out how to get the SCP1000 working because I couldn’t find any proper documentation on how to do a multi-bit SPI transfer. With C it takes me more time, but I know it will work since I can access the hardware directly. Some things I got working very quickly with FEZ Domino, others took a lot longer because of lack of samples or proper documentation. Generally the USB debugging works very well and integrates perfectly with Visual Studio so that’s a good thing.

I’m also wondering how big a C# program one can run on a FEZ Domino. I’m building a complex program to control an amateur rocket and .NET code seems to eat up flash space quickly.


There is an overhead in assemblies so it will seem like you are out of memory but then code will not grow as fast.

I have seen some large projects that didn’t even come close to filling the flash.