Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.
|
Forum Index : Microcontroller and PC projects : Maximite - DuinoMite Prog. Differences.
Page 2 of 11 | |||||
Author | Message | ||||
Geoffg Guru Joined: 06/06/2011 Location: AustraliaPosts: 3194 |
OK, I think I had better give up on this. I was interested because I thought that I might fold the DuinoMite modifications into the base MMBasic code but I cannot see how the firmware can hide these complications. The message seems to be, just wait and see and I will do that. Geoff Graham - http://geoffg.net |
||||
Olimex Senior Member Joined: 02/10/2011 Location: BulgariaPosts: 226 |
Geoff, you did great work with 2.7 and the IO headers, this makes very easy the different board support, so we will add DuinoMite GPIO header very easy, if you want the DuinoMite IO headers and MPLAB project files to be included in your ZIP let me know I can e-mail you when we are ready. Tsvetan |
||||
Geoffg Guru Joined: 06/06/2011 Location: AustraliaPosts: 3194 |
Thanks, don't forget that you must publish your source anyway under GNU GPL 3. Geoff Geoff Graham - http://geoffg.net |
||||
Greg Fordyce Senior Member Joined: 16/09/2011 Location: United KingdomPosts: 153 |
I can see where board like the Duinomite will be useful, but I hope a version of the MM that is compatible with Geoffs design will be continue to be availible. Don has already stated that he wants to drop the SM1 in this quote from another thread.[quote]To my knowledge, Richard of tctec, has manufactured for Dontronics around 220 units, covering both the SM1 and EV versions. I still have a few left in stock, but I will be running these out, and stocking only the new DuinoMites eventually. [/quote] Hopefully when Dontronics discontinues the SM1 another company will step in with a ready to go replacement. At the moment the Duinomite looks a bit more complicated with it's shared pins. While some people will like the Arduino shield compatibility, I think the SM1 (or equivalent) will still appeal to lots of people due to it's simplicity. |
||||
donmck Guru Joined: 09/06/2011 Location: AustraliaPosts: 1313 |
And that would have been great Geoff. I looked at your miniMaximite schematic, and it was simple and straight forward, I look at the DuinoMite schematic, and I end up with a great list of questions myself, so I am hoping that MM-Basic will cater for these differences, and they will be invisible to the user. I feel each and every pin of the 20 I/O pins will need to be fully explained, so that they can be understood by all. Cheers Don... https://www.dontronics.com |
||||
donmck Guru Joined: 09/06/2011 Location: AustraliaPosts: 1313 |
The main reason I had to move away from the tctec boards was that they were costing basically twice what we could get produced overseas by Olimex, so if I didn't do it, someone else would have. I also wanted Arduino compatibility, and this wasn't going to happen with the Australian boards. In time, I see Chinese ebayers having a go at all variants also. I am sorry about the shared pin situation, and the complexity of the schematic. I hope most people understand that I wasn't in a position to keep control over this with my recent health problems. I wish it had been otherwise. I feel Olimex have built a swiss army knife, and it needs field tests to prove it as being a good product, and to gain customer support and confidence. And I am especially sorry to Geoff, as I would have loved to see the DuinoMite configuration included in the compile options for the Maximite source. Perhaps it is something that can happen in the future when the finer points are ironed out. Cheers Don... EDIT: I have just asked Tsvetan of Olimex for an in depth explanation of the 20 GPIO and shield pins, and we should have this document in a few days. https://www.dontronics.com |
||||
ksdesigns Senior Member Joined: 25/06/2011 Location: United StatesPosts: 143 |
Have most of the 2.7 working on the board now :) ken |
||||
Olimex Senior Member Joined: 02/10/2011 Location: BulgariaPosts: 226 |
Don asked me again to explain the differences between GPIO use in DuinoMite and MaxiMite, so here is what they are: all MaxiMite GPIO pins go stright to PIC32 ports and you can access them with the PIN() command in Basic in DuinoMite GPIO pins 1,2,3,4,13,14,15,16,17,18 also go directly to PIC32 ports and can be used without interference, so you have 10 of 20 GPIOs absolutely independant which you could use for your GPIO boards GPIO 5,6 also can be used without interference if you do not use UEXT connector nor Arduino shields other GPIOs also could be used but with some precautions GPIO 7,8,9,10 are shared with SD-CARD and UEXT this means if you use internal flash DISK in 2.7 firmware and do not use UEXT these are also free to use GPIO11,12 are shared with the external RS232 driver and connector so you can use them only if you do not use the external RS232 connector GPIO19 is used as CS for UEXT so you can't use it when UEXT module is connected, if you do not use UEXT module you can use GPIO19 but note that it is weak pulled up and if VGA is connected it will be pulled down with 10K to Ground. GPIO20 can't be used if VGA signal is generating Generally we can assume roughly that on the GPIO you lose 10 out of 20 signals if you do not use the shared signals, so we see what we lose now let's see what we gain with DuinoMite which Maximite do not have: access to all UEXT modules -> http://www.olimex.com/dev/OTHER/UEXT.pdf unlimited number of relay outputs, optoisolated inputs, precision AD and DA converters, thermocouple inputs, WiFi, Bluetooth, Zigbee, 868/915Mhz transcievers, GSM, GPS, adding voice to your project with MOD-MP3-X, Ethernet connectivity, RFID tags readers, IRDA, different LCDs, 3-axis accelerometers, EKG heartbeat sensors, and many new to come. so due to UEXT you lose 2 to 8 GPIOs on the GPIO connector but you have access to lot of ready made and available LOW COST solutions which otherwise you should prototype on MaxiMite and make custom solutions Arduino shield uses almost all GPIOs, so if you put Arduino shield on the DuinoMite you will have even less GPIOs which are not used, but with this you have access of HUNDREDS already made shields http://shieldlist.org/ which come with OPEN SOURCE libraries and over 10 000 ready made projects which you can use to step on and build your project the low power mode, the battery monitoring feature will open up handheld applications for DuinoMite as well, MaxiMite will always consume 140mA to conclude my overall believe is that this GPIO connector importance is greatly over exposed here in the forum, c'mon let's face it how many boards exist on the market which use this connector? and which functionality can't be used anyway if you have 10 instead 20 GPIOs non multiplexed? I have seen few anouncements on this list for adding RS232 or relays or similar which is already available for UEXT, so I do not understand what exactly peoples will lose when do not have 20 but have 10 pins? but in other hand have opportunity to use thousands of open source projects as base when use DuinoMite with Arduino shields or with UEXT connector. on top of this Maximite have no UART, RTC, OTG, Ken yesterday wrote me that he is playing with MIDI shield and MIDI requires 31250 bps and you can't do this with the bit banged 19200 bps MaxiMite UART but he is able to to this with DuinoMite as real uart is used on our board I did my the best to explain GPIOs and if you have questions let me know, English is not my native language so I appologize in advance if something is not clear but I will try to explain more if there are additional questions |
||||
Olimex Senior Member Joined: 02/10/2011 Location: BulgariaPosts: 226 |
Just to add also regarding the programming of the GPIOs. We will have demo code for use with *ALL* of our UEXT modules and everyone who is interested to have Bluetooth or Ethernet or GSM etc will be able to use the codes provided. Of course this will take time, but it will be released with all sources We also are building few very interesting Arduino shields as for instance stackable multi channel EKG/EMG sensor board which allow muscules gesture analyze and you will be able to make such amazing project like the one shown here http://www.youtube.com/watch?v=R1agrUM4KYs |
||||
Greg Fordyce Senior Member Joined: 16/09/2011 Location: United KingdomPosts: 153 |
This is what will keep me from using the Duinomite for my current project. Don has described it very well when comparing it to a swiss army knife. No doubt that many people will like it, but I will need all of the GPIo ports of the MM for my current project and I will need to make a custom I/O board for my specific needs. If I want more, the UBW32 looks interesting now that Geoff has decided to support it. Maybe some of the code from the Duinomite could be rolled back into the UBW32 code. For example the idea of hardware serial ports as well as bitbanged serial. I think that these are availible on the UBW32 board if I am understanding the board schematics. Having extra serial ports that can handle higher baud rates would be nice. Maybe some more analog in would be nice as well. |
||||
vasi Guru Joined: 23/03/2007 Location: RomaniaPosts: 1697 |
Well, that is not entirely correct. Olimex didn't made a clear distinction but, if you quote his entire post and not only that phrase you will see that ... [quote]other GPIOs also could be used but with some precautions GPIO 7,8,9,10 are shared with SD-CARD and UEXT this means if you use internal flash DISK in 2.7 firmware and do not use UEXT these are also free to use GPIO11,12 are shared with the external RS232 driver and connector so you can use them only if you do not use the external RS232 connector GPIO19 is used as CS for UEXT so you can't use it when UEXT module is connected, if you do not use UEXT module you can use GPIO19 but note that it is weak pulled up and if VGA is connected it will be pulled down with 10K to Ground. GPIO20 can't be used if VGA signal is generating [/quote] ... if you want to go only with raw GPIO on Maximite way, you can use 18 pins if you don't use any of Arduino and UEXT connectors, and 19 if you don't use VGA. But, ... [quote]but I will need all of the GPIo ports of the MM for my current project and I will need to make a custom I/O board for my specific needs.[/quote] because of that, you can read again this quote of Olimex: [quote]access to all UEXT modules -> http://www.olimex.com/dev/OTHER/UEXT.pdf unlimited number of relay outputs, optoisolated inputs, precision AD and DA converters, thermocouple inputs, WiFi, Bluetooth, Zigbee, 868/915Mhz transcievers, GSM, GPS, adding voice to your project with MOD-MP3-X, Ethernet connectivity, RFID tags readers, IRDA, different LCDs, 3-axis accelerometers, EKG heartbeat sensors, and many new to come. so due to UEXT you lose 2 to 8 GPIOs on the GPIO connector but you have access to lot of ready made and available LOW COST solutions which otherwise you should prototype on MaxiMite and make custom solutions Arduino shield uses almost all GPIOs, so if you put Arduino shield on the DuinoMite you will have even less GPIOs which are not used, but with this you have access of HUNDREDS already made shields http://shieldlist.org/ which come with OPEN SOURCE libraries and over 10 000 ready made projects which you can use to step on and build your project [/quote] Anyway, [quote]If I want more, the UBW32 looks interesting now that Geoff has decided to support it.[/quote] Duinomite has (or it will have) hardware support for PIC32 peripherals and I think this means basic programs with less lines or better speed. Yes, maybe UBW32 is better suited for a breadboard project if you have plenty of components and sensors already but, DuinoMite modularity and available peripherals make it more appropriate for quick prototype on School labs, professional(industrial and research) labs, and also home labs. IMHO, I think a Duinomite Mini with UEXT peripherals looks very professional as a finished project on your client's car, home, shed, or workshop. But I see no problem in developing the concept on Maximite, then porting it later on a DuinoMite supported by your client. Anyway, a lot of choices using MMBasic on PIC32 (I think Microchip is rubbing his hands with joy <- sorry, Google translation). P.S. For commercial projects, I think we need a possibility to disable LIST command? It is possible to use Maximite/Duinomite in commercial projects? I understand that the owner can use it on his own business/industrial automation, or an industrial department can order a set of Duinomites for internal use but making projects for living require some source protection... Otherwise, the use is only personal and internal. Well, good enough for the majority... Vasi Hobbit name: Togo Toadfoot of Frogmorton Elvish name: Mablung Miriel Beyound Arduino Lang |
||||
Vikingboy Regular Member Joined: 23/09/2011 Location: AustraliaPosts: 82 |
Hi, I am new to allot of this so please excuse me if if these questions are a little simple ,but i am a little confused. As we all know on the Maximite also now using the cross product from Don etc we too can access Arduino shields hardware devices, however the problem is software, all these shields come almost exclusively with sketches and support for the arduino IDE, are Olimex going to offer mmbasic support for their Arduino and also their Uext devices to make them accessible to us in the mmbasic environment. Also a technical type question, you refer to the use of the GPIO pins as being "multiplexed" , to me this implys some type of array or time shared situation to allow the simultaneous use of the pins, however to me it seems from your explanation that the pins are simply shared and can only be used for one purpose at a time, Is this the case ? rgds, Andrew |
||||
Olimex Senior Member Joined: 02/10/2011 Location: BulgariaPosts: 226 |
Hi Andrew Our plans are to add software support for all our UEXT modules and the Arduino shields which we produce. I'll try to explain again for the "shared" pins. Lets for instance take GPIO#10. This is SPI-CLOCK or RD1 port on PIC32MX795F512. This signal goes on several places like: UEXT connector, GPIO#10 and SD-card SCK i.e three different peripherial modules may use it. If there is UEXT module which uses SPI it's obvious you can't use GPIO#10 as there PIC32 will output the clock used by SPI to shift data and if you have connected something there when you send and receive data from the UEXT there will be frequency on this GPIO. Also the software which runs on DuinoMite will be aware that when SD card operations are done the UEXT CS signal should keep UEXT device not active so they do not interference with the SD-card. if your software do not use UEXT module with SPI nor SD-card you can wire whatever you want on GPIO#10 and use PIN(10) to access it Tsvetan |
||||
vasi Guru Joined: 23/03/2007 Location: RomaniaPosts: 1697 |
On Microchip microcontrollers, a pin can have more than one functionality (being part of an internal peripheral or more) but only one functionality can be available at a time, depending how you configure your microcontroller. On Maximite, the pins of the microcontroller are just plain I/Os and you can use them to emulate by software the required protocols and internal peripherals. On Duinomite, you have access to internal peripherals and other functions assigned to microcontroller pins but, you can use one functionality at a time. On Duinomite you can't see only the Maximite external connector. If you use Arduino shields or UEXT peripherals, those become part of your schematic and you must take care of that "one functionality at a time per pin". Is the same as on PICAXE microcontrollers. Vasi Hobbit name: Togo Toadfoot of Frogmorton Elvish name: Mablung Miriel Beyound Arduino Lang |
||||
donmck Guru Joined: 09/06/2011 Location: AustraliaPosts: 1313 |
This is the sort of healthy discussion I really wanted on this subject, thanks for jumping in Tsvetan, and others. As the standard MM doesn't have the UEXT connector, the RS-232 circuit, or the Arduino Shield, and to try and compare apples with apples, to be fair, you need to disregard these three items. In fact, only the mega version has the RS-232 circuit installed. So this firstly clears pins 5 & 6 because of the UEXT and Arduino. Pins 11 & 12 will be cleared if the RS-232 circuit isn't used. (installed on Mega only) If you don't use an SD card, then 7, 8, 9, and 10 become available. I'll bet users can make use of these pins to some degree with an SD card, with careful programming, but I'll leave that one for further investigation. The reason I say this, is that there is a chip select to control the SD card I/O. And like everyone else that understands the UEXT connector, why would you need 20 GPIO pins when you can virtually multiplex any number of I/O lines on a serial interface using either 232 type serial, rs-485, I2C, SPI, did I miss anything? Vasi basically explained this in his own words, I thought a slightly different slant may help, but we both mean the same thing. I would also like to point out that RS-485 can be used for runs of up to 3000 metres. For Australians, this coming week, starting tomorrow, we will be running 500+ RS-485 TAB betting terminals over the spring racing carnival, and Melbourne Cup day. Mick will have better figures than my now 13 year old guess. http://www.tab.com.au/Default.aspx?State=&State=&gclid=CJ2us dPaiawCFYSI4godGFmDmg Cheers Don... https://www.dontronics.com |
||||
Greg Fordyce Senior Member Joined: 16/09/2011 Location: United KingdomPosts: 153 |
I guess what I was saying is that the duinomite looks like a great series of boards that can run MMBasic, but they are not fully MM compatible. Maybe if there was a version that used the 100 pin PIC32 instead of the 64 pin (I hope I've got this bit right), then you could "have your cake and eat it too". The extra pins would allow full compatibility with the MM and not interfere with SD card, vga, arduino shields and UEXT connections. Greg |
||||
bigmik Guru Joined: 20/06/2011 Location: AustraliaPosts: 2914 |
Hi All, I have to add my 2 cents worth and also make an apology.. I have to admit to my ignorance about the complexity of the DuinoMite design. I always thought that the overall affect of the 20 GPIO (General Purpose I/O Pins) was going to be exactly work alike to the Maximite... it is obvious that this is not the case, for that I apologise for misleading statements I made but at the time I believe that this was the case... Apology Over.. Now, The Arduino footprint (from the opinion of all in the DuinoMite team) was a very important step for us to take, as there is a myriad of boards out there for various applications, this range is increasing by the day. Also OLIMEX do have a great range of modules that will plug into the UEXT connector which would increase the range of plug in devices that `theoretically' the DuinoMite would be able to support. To enable both of the above features meant morphing the MaxiMite design to suit, things like true UARTs on the correct pins/ DUAL mode functionality of the I/O pins, depending on software configuration, and in a couple of places hardware linking. The Arduino Shields and UEXT are generally controlled by software natively written in C, but there are two paths here... some shields can quite easilly be written to in BASIC (LCD/Push Button and those controlled by serial or I2C for example).. And as Olimex has committed to the DuinoMite Project, I have No doubt, in time, that basic extensions will be written (certainly for the UEXT range) to drive many of the other modules. How that will be done is not 100% clear to me but as this IS an OPEN project input from the `masses' will no doubt morph the DuinoMite further still. That is why I feel that the DuinoMite is an Evolution from the MaxiMite. It has a lot more to offer looking forward. And if that is not enough Don and Tsvetan have carefully considered their margins and are offering them at prices that make the `commercial' MaxiMites turn red with embarrasment. Thats My 2c Regards, Mick Mick's uMite Stuff can be found >>> HERE (Kindly hosted by Dontronics) <<< |
||||
bigmik Guru Joined: 20/06/2011 Location: AustraliaPosts: 2914 |
Greg Hi Greg, I wouldn't be surprised if Tsvetan and Don looks into this as a possibility..(No I havent got any inside goss on this project. its just that I know Don and Tsvetans love of this project) It would probably sway many of the MaxiMiter `blue bloods' to the DuinoMite and I am certain that Don and Tsvetan could keep prices more competitive than `commercial' MMs. But of course this would be Chapter 2... we have to get Chapter 1 off the ground first. Regards, Mick Mick's uMite Stuff can be found >>> HERE (Kindly hosted by Dontronics) <<< |
||||
sparkey Senior Member Joined: 15/06/2011 Location: AustraliaPosts: 819 |
here here .... technicians do it with least resistance |
||||
VK6MRG Guru Joined: 08/06/2011 Location: AustraliaPosts: 347 |
I can't see a problem with the shared pins on the DuinoMite! As long as you are aware that you can only use the GIO pins or the UEXT or the Arduino headers at a time (depending on the configuation) this will be ok. Its easier to ask forgiveness than to seek permission! ............VK6MRG.............VK3MGR............ |
||||
Page 2 of 11 |
Print this page |