Main Site Documentation

Migrate from EmbeddedMaster V3.0 to EMX V4.1


I’m back after a couple of years and need to migrate my app from EmbeddedMaster V3.0 to EMX V4.1. I’ve looked around for some documentation and sample code but cannot find any. My app uses the old SPI display, buttons, serial port, CAN, and sd storage. I took the V3.0 ExampleProject solution and converted it to V4.1 and added all the GHI references and I got a ton of errors. Any help would be most appreciated. Thanks - Mark.


From 4.0 to 4.1 would be an easy move but from 3.0 to 4.x is a major rev change and so many changes have been done, for the sake of providing better features of course.

There is not direct “this is what changed” approach as what changed is more than just a page of text.

The good news is that we are here to help. Start going through the errors and if you are not sure then we can help. Here are the docs

And there is a whole book explaining it all on the download page


Hi Gus, don’t know if you remember but I’m the guy who helped with the CAN buad rate and bit timing thread a while ago. Anyway here a few of my questions:

  1. I’m assuming that the System.SystemManager.Start() and Shutdown() methods are no longer needed since the SystemManager class seems to be gone. Is there anything special to do when your app starts?

  2. Is there sample code for using buttons in V4?

  3. I have the old EM board with the non-TFT display. You mentioned in your documentation that V4 does not support this display directly but there is a way to write to it. Can you point me to some sample code for this? I’ve already updated the Tiny Bootloader and Tiny CLR to V4 on it.

  4. Where is sample code located at? I find that looking at existing code is the best way to figure out and learn how to do something but I’m having a hard time finding any.

Thanks - Mark.

  1. no needed. The book has complete examples on USB
  2. I think this is the same as before but see examples in InterruptPort in the book
  3. Have you looked in the book under “display”?
  4. There are hundreds of examples int eh book did you look?

Form the above answers you can see that everything you asked for is in the free ebook :slight_smile:


I found the book. The title was a little misleading with the word Beginner which through me off. It’s a great resource and it looks like you put a lot of effort into it.

I’m now having problems getting my old EM board up and running on V4.1. I got into the GHI Boot Loader and loaded the EMX TinyBooter and the TinyCLR files for V4.1. However MFDeploy now only recognizes the USB EmbeddedMaster in TinyBooter mode (Up, Down buttons). When I put the board into TinyCLR mode (Select, Down buttons, or just reset), the MFDeploy USB setting does not show EmbeddedMaster. The display on the board shows a date/time and the following lines:

pc =0x…
lr = 0x…
sp = 0x…

When I press the down button it shows all the registers, stack, etc. The select and up buttons takes me back to the above.

Also, I can’t seem to get back into GHI Boot Loader mode anymore. When I start TeraTerm and press the Up, Down, Select buttons, nothing happens. Before I would get the BL response.

The TinyBooter display shows the following:

Ver: 03.00.000
TinyBooter Build 001
SN: 48
HW: M24D22
Interface: USB

Sure hope I haven’t bricked this :(.


Hold the 3 buttons to enter GHI loader and erase all using E command

Now, load everything from GHI sdk file. Make sure to open release notes file to verify the version you have

I am assuming you uninstalled and deleted everything from old 3.0 and started with clean 4.1 and vs2010