G120 Module

Helo, I’m new here and with .NET MF.
I bought some G120 and G120HDR units.
I have experience with PC programming, 8-bit MCU programming and PCB design.

Ok, my doubt here is how I get started with the G120 module ?
I have downloaded the .NET MF and the SDK but I’m a bit confuse in how to setup a simple project in Visual Studio.

I have done a simple project using .NET MF console application template.
It was just a ping by USB. It seems that all is working, but now I want to know what can I do with this nice SoM…

[em]I can use VB and C# so the language is not a problem… I’m just confuse about some options here…[/em]

In visual studio, when creating a new project there are templates for .NET MF and also GHI Gadgeteer… What should I use in order to have more features ?

I could see that Gadgeteer template has support to designer then I can visually link the modules, but I couldn’t find the G120 board there… What should I do ?
Is there support for G120 in this project template ?

After installing everything I was advised to perform an update in the firmware… The USB link is fine, but I couldn’t understand why it is not working…
I see the instructions to place jumpers in some pins… but this sounds a little bit confuse to me… What means “the USB mode” ?

I would be very grateful if someone can help me to start with this SoM…
Sorry If I’m asking something that may appear stupid for you but I’m totally lost over here…
Also, I want to hear from you the answers, because I want to start developing with the right foot and avoid waste of time…

Please if is there some programming guide for the G120 module let me know (I didn’t found anything).

Thanks in advance.

Welcome to the forum.

G120 is a “module”, and a G120HDR more a complete “mainboard” but it doesn’t have power and uses standard PTH header (much easier to prototype :slight_smile: ). Neither of these are a “Gadgeteer” board explicitly, which is why if you use the Gadgeteer templates you won’t find G120 there. The closest you will see is a Cobra II, which is based on the G120.

So for you, there’s no point to use Gadgeteer template as there’s no official support for a G120 (on it’s own) within Gadgeteer. Using a Cobra II will however work in some respects.

You can think about Gadgeteer as an additional layer of abstraction and drivers for certain modules, to help make it very easy to prototype things - and potentially making it easier to put in business logic rather than just getting the hardware working. This is also seen as making things easier for beginners. So for an experienced person, there’s probably no compelling reason to go to Gadgeteer, it doesn’t significantly change the underlying capabilities.

So when it comes to firmware updates, lets start with a G120HDR. So you’ll connect it into your PC with a USB cable, and you’ll hear Windows recognise the device and device manager will show the device. Typically it’ll show a .Net micro device of some kind. That means that netmf is running and communicating back to the PC. From there, you can check with MFDeploy that you can PING the device, and you’ll get “TinyCLR” returned. You can then check “Device Capabilities” and you’ll see the information about the netmf firmware currently loaded. So then the next step is to put the device into a different mode where you can go through the firmware process. This is “bootloader” mode and will allow you to update the Netmf. Each board is different in how you get into bootloader, and from GHI Electronics – Where Hardware Meets Software you can see the pins you have to connect to GND to get into the GHI bootloader mode (LDR0 and LDR1). Then you can use the G120 Firmware updater program, or the manual process much the same as the EMX process that the wiki describes. It’s really important to get the SDK and firmware on the board matching otherwise you get problems that your code won’t work or may not be reliable.

Hope that’s enough to get you started!

While those are excellent products, I recommended to start with a gadgeteer kit.

For what you have, I would start with HDR and not use anything gadgeteer yet as your board is not a gadgeteer mainboard. Start with the ebook we have under support it will show you everything.

Thank you very much guys.

I guess Brett has cleared almost everything for me.
I was thinking in wrong way.

I just have some other questions:

My goal with G120 is to replace in my designs the MCU so I can easily programm from Visual Studio and also using a great framework with so many libs.
Gus, my point is to implement this in commercial electronics that I’m developing, I know that gadgeteer can do this but not at the level that I want.

For example I’m designing a new PCB where I want to use G120 to control some motors, read sensors, communicate by CAN bus…

This electronic is going to mass production after prototype.

So that is my question…
Can I use G120 for projects like that ? Projects for mass production ?
I’m talking about details like: bootloader, firmware updates, Implementation of USB on my PCB to load the code…

Would you recommend this module for this purpose ?
Because I’m very confident that it can be used that way, I’ll need probably to check one by one about versions… but after this I guess that is just to load the code and move on to the next board (in a line production).

The G120 is targeted to commercial applications.

The advantage of the Gadgeteer form factor is you easily build a prototype, without the expense of PCBs, and begin developing software. When the PCB is ready, the software can easily be transferred to your custom board. Of couse, you would not use the Gadgeteer software if you intend to move to a custom board.

The other alternative is to use one of the new Cobra II boards, which use the G120 chip, for prototype development.

@ giovaniluigi - I was trying to say that gadgeteer is a good place to start and prototype but then G120 would be perfect for production. Gadgeteer is not required, just a way to speed things up.

Either way, we are here to help.

hmm, yeah I got actually.

Just one more question :slight_smile:

The USB connector seems to be the only need for implementing in commercial electronics.
I will place a mini USB in my PCB design to load the code and thats it ?
I’m asking because it seems very obvious and then I’m not very sure hehe

Should I concern about firmware updates ? I mean, including some jumpers on the pins to perform the update ?

the Cobra II is GHI’s “reference design” for what a commercial board should offer. The full design is due to be published soon, I’ve heard, so using that to guide you would help shortcut some of these decisions. I would say YES you want firmware update capability on your custom board, and YES to a USB port

We highly advice to use the keep the buttons.