July 22, 2024, 05:36:19 AM

eMEGA first impressions

Started by Lorenzog, December 10, 2012, 10:27:20 AM

Previous topic - Next topic



I'm a new user of Duinomite card, and this is my first impressions of the eMEGA version :

Nice product on the web at least, compatible arduino, vga color, Ethernet, basic powerful for small developers.
It is for me!
I buy, I plug and arrive first disappointments:
Arduino compatibility with some limitations, vga black and white, ethernet possible by changing the firmware saying goodbye to basic.
The basic !
My startup screen :

DMBasic Buid Date: Aug 2 2012 Time:13:45:19
www.olimex.com, Based On MMBasic By Geoff Graham

Version 2.7004 very limited compared to versions of basic on Maximite.
Any attempt to change the basic version of this has resulted in a failure.
Downgrading on previous version working perfect, but it's strange, if you type the basic command : PRINT mmver, you had the same result : 2.7004
but on startup screen you can reading :

DMBasic Build Date: Jul 6 2012 Time:10:05:40
www.olimex.com, Based On MMBasic By Geoff Graham

What is the difference between version July and August ?
This is not explained.

No manual, but i found one user manual for all Duinomite cards, last Version 1.03, with very small additives on eMEGA without interest.
Otherwise, the card works pretty well, but with some annoying problems, impossible to use the SD card via USB, inpossible to change the keyboard layout, questions from the user manual that says for example that the yellow LED should be lit when connected vGA, which is not the case for me ...
I bought this card telling me who can do more can do less, reading the glowing reviews on sites that sold it.
Now I'll wait a bit and maybe sell it to buy a maximite who possesses decent version of MMbasic, color, and better documentation.
My final opinion about this card is many possibilities, limited resources.

I'm pretty disappointed, as if I had a ferrari with a ford model T engine.

Anyone confirm... or not .... ?



It is possible to switch to Maximite Basic on some of the Duino boards; I don't know if there is a pre-built hex image for eMega, but the sources are available so it should be do-able ...
You general observations are correct; there is a disconnect between the hardware and the software tools; in fairness it seem that Olimex are hardware design guys and are banking on a community of developers to improve the software tools for their boards ... and the price of the hardware is pretty good for a small volume product ...


Indeed, it seems that this is true, but this product is intended for programmers in basic language, so a Customer unable to modify sources in languages ​​more complex necessitating tinkering sources and recompile.

This is true, this card is not expensive, but it does not keep its promises, I'm not the only one having these problems, I explain here on the manufacturer's website, and nobody solves ...
For the problem of keyboard mapping, for example, on other cards just upgrade to V3 or V4 MMbasic, but apparently this beautiful card can not.

On the Olimex site, so here, on the page devoted to the card eMEGA, software review, I see: Alternative firmware: MaxiMite.
So I followed the link and read the article, I decide to follow the link to version 3.1, but, no exist I see UPDATED DuinoMite MMBasic firmware V4.1 (monochrome) I download the firmware,and hop inject in the card via bootloader, restart the eMEGA---> out of order, then I test all firmware on the page without other result than to render inoperative the EMEGA.

So, my question is still valid:

How to upgrade my card retaining all its features ?
Because for the moment, from what I've read, upgrade to the version 3.1 allows for keyboard support, full screen editor, BASIC code can be written without line numbers, great !!!

But lost:

GPIO support: Full Support for 24 GPIOs
Support for Li-Po battery monitoring
Real high speed SPI is UEXT
Support for COM1-COM4 in DM-BASIC
Mass storage disk drive capabilities
GAMEDUINO Color Graphics support
HELP command
SETUP command
SLEEP and low power modes are supported
DM.VMEM, DM.HWID constant

Not great !!!

And finally, at the end, I read:

Overal we welcome the DuinoMite support in MM-BASIC 3.1, but our advise is to stay to DM-BASIC until the MM-BASIC support is improved as in the current state it's not very useful.

I am unable to find the right sources,if they exist... and unable to recompile for this product.
I bought it for its simplicity of BASIC programming language, like many other users.
I only regret choosing the eMEGA, thinking that it was superior to MEGA, this is apparently not the case.
MEGA apparently did not have these problems keyboard SD card and update MMBasic, it possesses no ethernet port but it is not important because in order to use the ethernet port of the eMEGA must change everything this makes it less interresting (Basic for exemple...).

6 months of existence and no resolution of these simple problems make me doubt a little about the future, I hope I am wrong and that corrections will follow.

Possible, or I dreaming ?



Nobody from Olimex to help me ?



Hey Lorenzo,

The latest and recommended firmware for the BASIC for DUINOMITE-eMEGA is named "Olimex DuinoMite eMega MMBasic Project .hex" (note the eMega name and also the space before the dot ., it is good idea to remove it) and can be downloaded from the GitHub page: https://github.com/OLIMEX/DuinoMite/tree/master/SOFTWARE/FIRMWARE. You can download the whole package clicking on Downloads -> Download as .zip.

You can upload it on the board either by the bootloader (holding the button to enter bootloader mode and then restarting the board before releasing the button; this tool would prove useful: https://www.olimex.com/Products/Duino/Duinomite/_resources/Olimex-Bootloader_Applicatoin-for-Duinomite.zip) or via any PIC32 compatible debugger/programmer.

Technical support and documentation manager at Olimex



I know that, this is the version shipped with my card, V 2.7004
Aug 2 2012
It is not that it will fix the problems but thank you for trying.



Lorenzog, have you got any further on this, as I am now in the same boat, I have the card but because you can not use Ethernet and it is a tad limiting, I am also not such a happy bunny with the purchase. To make matters worse, I just found another card SolderCore that has basic and total functionality of the card... Wish I found that out before buying this card !   

The only other thing I have found is that if you own a pickit, then you can change the bootloader and use Pinguino and then the sketches, but I don't own one and you then move away from Basic interpreter which was one of the main reasons for getting the card !

Would be very interested if you have managed to do anything or is it sitting back in the box ?


Hi tk,

I talked a bit here about problems encountered with my eMEGA board, but I received a message :

   Maybe you shoulds buy another board and leave our community alone?

    This is the territory for hobbyists and developers.

THX for the welcome to your world, and to your help Taucapic, Olimex wil send you the board of your dream...

I think this is especially the territory of those who think being part of a special community of people.
Half geek, half normal, and wishing to be admired on both sides, something impossible ...
I also the territory of those who have a card offered by Olimex if they say only good
things about Olimex products on their blogs and websites.

But this is not the territory of the truth.

Hey, it's not my problem, my problem is simply to have bought the "Evolution" of a board
called MEGA, and I foolishly thought according to the old proverb:
- Who can the most can least ...
In this case, it was an error.

This card, for unexplained reasons before I talk about here, but now explained on the auction site, is unable
to act as his little sister, can not evolve to its basic language, there is even an employee of OLIMEX, hi ! Tsvetan, who dared
to say that we should not buy this card to program her in BASIC !!!  ;D
This is not my company has spent his entire advertising campaign on this specific point.
This is not my company has inserted the MMBasic language in the rom of the board.

Already, you see, it was going wrong.

The story :

Initially, I demand my money back or exchange against MEGA version, by the person who had sold me the card.
I was legally right, but I've had NO response from the seller, even worse, when I wanted buy another card, I noticed that I had been banned.
The seller is called OLIMEXERY he officiates on ebay UK, it has 100% positive ratings, despite a negative and eight neutral, that is the logic of ebay ...
Even if you give it a positive review, you will be banned if you say for example, my case, missing documentation or its products could better packaged beings.

After this episode,I spent a few posts on this Forum to try to get new basic version to have some advantages available to the MEGA, like
the full page editor, being able to change the keyboard layout and other cool things...
Ouch !!! Bad news, simple need to modify and recompile the source code, great, someone can say why I bought a board programmable in BASIC ?

So, I stopped crying and I decided that obsolete version of the basic suit me.

But new problems have emerged.
Problem on the output composite video, I explain and someone of the staff made me understand that I was an idiot, hi again Tsvetan !
But nice, he agreed to take the card, saying:
" Which you choose something and can use is equal to your abilities to program
Note Duinomite That is Open Source project, if you can not program in C I Strongly advice you not to choose another board from this family..."

Open source, open source ... not for all !!! Basic of my eMEGA is closed source, my board not completely open source... Part of a open source project !
Tsvetan, you even hear yourself when you speak ?
Blah blah blah..., You need to know programming card for developers as open source, this is serious, here there is no place for Dummies ...
Ok guy, but it's not me you see on youtube playing the pacman and space invaders  ;)

My eMEGA ready to post in direction of Bulgaria, I received a thank you email from the technical staff of Olimex because I find a bug ...easy...
Thx come with a new firmware, trying the code and the composite video works, I'm happy, therefore I decide to keep my board ... THX Lub

I forget everything bad and start serious things.

No full page editor, I do not care...
Numbers of lines, I do not care...
No labels, I do not care...
Keyboard layout, I do not care... but I bought a qwerty keyboard  ;)

I program, it works, I start with my electronic interfaces, and another problem falls on me :
I need to send PWM through one or more pin.
Not possible, well not really, not like this, it is possible through the audio output, but before you do desolder the voltage divider.
And got only one output signal...  :o
What the fuck !!! >:(
Send PWM throught pin in Basic code is possible with all models of duinomite except eMEGA,the last born Duinomite board, EVEN THE FUCKING BASIC VERSION !!!
I quit my projects, because I think there is a good reason for the presence of the voltage divider, and I have other projects
where I used the audio output for anything other than sending pulses.
I did not want to put / remove components whenever using audio output, and i need more one output for PWM.

No, it is not possible to continue with this board, I only have troubles and troubles again with this shitboard, is the ugly duckling of the family...
Not resentful, I ordered the MEGA board here, but I read in the basic manual V3.X there were limitations, still problems in perspective ...
I've read:
The main difference compared to the standard implementation of MMBasic on the Maximite is that I / O pins 7 to 10 and 19 and 20 are not supported.
This is a hardware limitation Imposed by the hardware, not MMBasic.

Signed: Geoff Graham

The hardware of Duinomite is clearly implicated ...

6 digitals pin less, and other limitations that I would not quote, careful with shields...

My opinion,

My passion for arduino compatible but improved products, no longer exists.
duino : compatibility too narrow with Arduino.
mite : compatibility too narrow with Maximite.
duinomite : if you want all features, say goodbye to sdcard, video output, and other useful things why you have chosen this board.

Scalability zero for the newest born which is unbelievable, it is even less talented on normal utilisation than
the previous board, it is rare to see such a thing ...

Results :

My eMEGA board back in her box, and for a long time I think, except a miracle of Olimex or somebody of the territory of developers  ;)
She will come out only to be sold, or given to an enemy.

I will expand my notions in C language ...positive point for me, but Which makes it less interesting use Duinomite or Maximite.
So I ordered a Arduino board, interest is her huge library, price, ressources, full compatibility with herself :-) allowing the use of
all existing shields, without the need to cut a particular track for operating a single LCD.

The human side:

I was disappointed by the member taucapic, who wanted me out of " the territory for hobbyists and developers ".

I was disappointed by the ebay seller: OLIMEXERY who think only sell and ban its own customers.
If not part of the company Olimex, I recommend asking him to change his name, in the interest of Olimex.

I have been disappointed by Tsvetan that without knowing me,  make a fool of me, I sincerely feel sorry for his colleagues, clients,friends...
If part of the company Olimex ...  ;D

Only one guy in the staff had a normal response :

Thank Lub thank you for not making the mistake of your colleague Tsvetan about me, and for your prompt reaction.
If part of the company Olimex, I recommend to increase his salary, because it does its job properly.

But :

I bought two cards, I lost a lot of time, I got insulted, I discovered a problem on a board, and Olimex not even offer me a sticker...

scandal !!!  ;D



I just buy the Duinomite e Mega

in the HardwareProfile.h

   //SPI Configuration
        #define SPI_START_CFG_2     (GetPeripheralClock() / SPI_FREQUENCY)

    // Define the SPI frequency
    #define SPI_FREQUENCY         (10000000)

    #define SD_CS            PORTGbits.RG12
    #define SD_CS_TRIS         TRISGbits.TRISG12
//    #define SD_CD            PORTFbits.RF0
//    #define SD_CD_TRIS         TRISFbits.TRISF0
//    #define SD_WE            PORTFbits.RF1
//    #define SD_WE_TRIS         TRISFbits.TRISF1

    // Registers for the SPI module you want to use
    #define SPICON1            SPI3ACON
    #define SPISTAT            SPI3ASTAT
    #define SPIBUF            SPI3ABUF
    #define SPISTAT_RBF         SPI3ASTATbits.SPIRBF
    #define SPICON1bits         SPI3ACONbits
    #define SPISTATbits         SPI3ASTATbits
    #define SPIENABLE           SPI3ACONbits.ON
    #define SPIBRG             SPI3ABRG
    // Tris pins for SCK/SDI/SDO lines
        // Description: The TRIS bit for the SCK pin
        #define SPICLOCK            TRISDbits.TRISD15
        // Description: The TRIS bit for the SDI pin
        #define SPIIN               TRISFbits.TRISF8
        // Description: The TRIS bit for the SDO pin
        #define SPIOUT              TRISFbits.TRISF2

      #define putcSPI(data)       SpiChnPutC(SPI_CHANNEL3A, data)
      #define getcSPI()           SpiChnGetC(SPI_CHANNEL3A)
      #define OpenSPI(config1, config2)      SpiChnOpen(SPI_CHANNEL3A, config1, config2)
        // Will generate an error if the clock speed is too low to interface to the card
        #if (GetSystemClock() < 100000)
            #error Clock speed must exceed 100 kHz

But I can't write on the SD card

you would have a code that works on the duimite e Mega

thank you

franck lecat


I offered refund or board replacement with other, but you said you want to keep this board
I explained to you that DM-BASIC MM BASIC take about 100KB of 128KB PIC32 memory and there is no way Ethernet support to be implemented as no space as only 30KB is free for BASIC programs and variables
the ONLY way you can use Ethernet on this board is to use C language and there is demo code for this, but you said you require us to write firmware for BASIC usage ot the Ethernet, this is not possible
Duinomite Basic is open source and all project suouces are on GitHub so I do not understand you writting about the closed source, MM BASIC is closed source DM-BASIC is not
DM-BASIC User manual explains what commands are implemented, you just refuse to understand that DM-BASIC and MM-BASIC are not written by Olimex nor we can write for you new custom commands which you miss to complete with your project
Good luck with the Arduino progrmming.

@lecat we will check in Monday, but to the best of my knowledge SDcard is upported in eMega and you an use it in DM-BASIC
what version of DM BASIC you have loaded to your board? please upgrade to the latest version from the link Lub posted for Lorenzog



What interests me about duinomites, and I think the majority of users of theses, is to have the opportunity
to develop completely independent way on an Arduino compatible I/O board without the need for external machine to create the code.
If you remove these possibilities of your boards, you do not sell more.
C language requires a PC, to compile and transfert the code ... puts your board like an Arduino unit.
It is even more difficult than Arduino, I tried to use MPLAB, and it is already complicated
even before the start, just to find the right version ...
I have nothing against the C language, except that in my case, I wish, for practical reasons
not having to use a PC to change the code of the board.
So the embedded language must give me full control of the board's I/O and ease of code editing, even if it is a simple Basic language.

The problem eMEGA board is that it is not possible to simply evolve the basic like for the MEGA version.
That is why I ordered and received ... MEGA version, I'm very happy with this board, it turns into MMbasic 3.2 or 4.2
and it is a pleasure to be able to use the full screen editor, the command PULSE, and other features that do not have on eMEGA because of its DMbasic 2.7.

While there have been no problems to pass the MEGA from DMbasic version 2.7 to MMbasic version 3.2 or 4.2

My interest in ARDUINO is only to use the immense resources on the web, I would not compare this point with DUINOMITE ...
It is also used for increasing my skills in C without the need to use MPLAB is a real gas plant  ;D.

I still use a priority, the Duinomite MEGA, which allows me more freedom when I start a project from scratch.

Turn Version 3.2 on eMEGA is not possible, because MMBasic is closed source...
You can write for me new command, it's great !
I want only one commands for my eMEGA DMbasic V2.7 :

The PULSE command, not on sound output and on more than one pin.

And if possible because I test this with my new MEGA and I like this really usefull adds:

1/ Config keyboard command.
2/ Adding the full page editor.
3/ Adding use of labels.
4/ Adding the possibility to remove the use of lines numbers.

But you in error for this points :

Ethernet :

I do not care since the beginning of my problems.
I understood that it was not possible to use this function from the basic, okay for me, other features
of the card are more important.

With regard to the exchange of the card :

I had asked because I thought that the composite output was down, while it was only a firmware bug.

So, if you still want to exchange my eMEGA, sleeping in her box...
It's ok for me, against UEXT modules and somes composants...

MMbasic :

I never thought OLIMEX had created MMbasic.
I just think it would have been natural eMEGA card can work with version 3.2 or 4.2 of MMbasic as his little sister, but I now Why.

I made one mistake, I thought the eMEGA board was a improved version of the MEGA board, while
they are apparently two different products well despite their great similarity.

So, I like OLIMEX products... and continue to use it.



The big thing that has had a huge effect is that MMBasic used to be Open Source (which is the DMBasic version) but suddenly went CLOSED SOURCE.  That means many things but has especially been bad for anyone with an eMega.

Many features (PWM on various pins, no line numbers etc etc) are only in the closed source MMBasic and it also does not really support the eMega.