![]() |
Forum Index : Microcontroller and PC projects : PIC32MZ and the Maximite
Page 1 of 4 ![]() ![]() |
|||||
Author | Message | ||||
Geoffg![]() Guru ![]() Joined: 06/06/2011 Location: AustraliaPosts: 3285 |
Long term followers of the ‘mites will remember the PIC32MZ chip that was introduced by Microchip just over a year ago. On the surface it looked like the perfect upgrade for the Colour Maximite with four times the memory and three times the speed. As a bonus I was working with a US company to port MMBasic to this chip and they were going to fund part of the work. Unfortunately I must report that this project has been abandoned. In short the PIC32MZ and its software development system (Harmony) are just too immature and complex at this time and the cost was going to be too great. When I started with the PIC32MX I thought that it would simply take a recompile of the MMBasic code with some adjustments to suit the new chip. I have done basically the same with the PIC32MX170 in the Micromite and it takes some time but is not impossible. However the PIC32MZ is different. Microchip had abandoned their old MLA software support system and wanted you to use their new Harmony system. The problem with this is that even after 15 months of updates Harmony still has many bugs and documentation issues and requires a rewrite of large areas of MMBasic. The PIC32MZ itself also has a number of challenges. It has a number of serious silicon bugs and many of the sophisticated parts of the chip are poorly documented. I believe that Microchip see the PIC32MZ as a completely different beast to the PIC32MX used in the Colour Maximite, they see the PIC32MZ as running a high level operating system such as an embedded Linux or an RTOS while the PIC32MX is viewed as an embedded controller with most programmers interfacing directly to the silicon. The difference is significant because with the former the programmer would only interface to the operating system API and there would be little need to fully document the interface to the silicon. Perhaps in the future Microchip will have a Linux and/or RTOS software components in place and debugged but at this time the only alternatives are either to write directly to the silicon or use Harmony and neither are viable in a cost effective way. It will be interesting to see how the future treats the PIC32MZ. I view it is a chip with small scale parents trying to grow up into the sophisticated world of processors running Linux in products like cars, entertainment systems, etc. Meanwhile there are the ARM derived processors that easily run Linux and are growing down into the world of controllers. It is a highly contested space and the stakes are high as more and more consumer products become intelligent. Geoff Geoff Graham - http://geoffg.net |
||||
robert.rozee Guru ![]() Joined: 31/12/2012 Location: New ZealandPosts: 2437 |
your post makes for a good read ![]() we see many companies follow the path that microchip is trying to take, and most of them largely failing. rather than being led by customer interest and feedback, the company decides that it is instead going to drag the customer (scream and scratching) along the path that the marketing department envisions. the problem is that marketing departments often understand little more than glossy cardboard boxes and buzzwords - they lack that 'oh so rare' commodity called "wisdom". an amusing example: i once worked for a place that used to make "widgets" that kept 90% of potential customers happy. one day someone near the top decided to bet the family jewels on designing a wonderful new "widget" that would be everything for every customer, thereby gaining an extra 10% of the market. the project came to completion after many years and yielded: a "widget" that cost twice as much as the existing one, was half as reliable, and that made up just a tiny fraction of sales. last i heard the same 'someone near the top' was betting the remaining family jewels on an even better, bigger "universal widget". where does this leave the maximite? i have voiced my opinions before, that the maximite is a fine little device, but far too expensive for what it is and does. today, it really needs to be price-competitive against the RPi model A+, which retails for us$20 plus the cost of boxing it up with PSU, etc. i do believe a "colour maximite version 2" kitset could be achieved in this price range, while sporting a few useful enhancements. keep the existing 32MX695/795 processor, backport the micromite feature set where appropriate, rework the keyboard code, strengthen the video hardware, move to executing basic code from flash, and replace the 5v regulator with a chinese switchmode 'brick'. after donning my flameproof overalls, might i also suggest you mull over the idea of porting the maximite firmware to run on the RPi model A+ hardware? keep the code as close to the metal as is possible - provide no gui, have a viciously pruned linux jump directly into mmbasic, with i target boot time of less than 2 seconds. just my 2 cents worth, rob :-) |
||||
Lou![]() Senior Member ![]() Joined: 01/02/2014 Location: United StatesPosts: 229 |
Geoff, Thanks for the PIC32MZ update. For my 2 cents I am a microcontroller head and the MX170 is great for my projects. The 28 and 44 pin MX170 uC's in all their size and pin configurations will power my projects for years to come and I thank you for all your efforts. The 64 or even 100 pin MX470 will be great for larger uC projects requiring more port lines. Perhaps some of the time that would have been invested in the MZ can be used for the MX470 project. Thanks to you and Peter for expanding into that chip. I have MX470 chips and carrier boards on order and will jump into the beta testing when the parts come in. Thanks for the NEC IR and the other clock chip support on the MX170's. The NEC will be a great boost for the IR remote control guys since in my estimation 80% of the remotes use the NEC format (at least the ones I have here at the house). Lou Microcontrollers - the other white meat |
||||
CircuitGizmos![]() Guru ![]() Joined: 08/09/2011 Location: United StatesPosts: 1427 |
Oh man. I can't express adequately my own frustrations with part of what you expressed Geoff. My experiences mirror your own. Every time I have to deal with a new microcontroller, It comes with a library of completely crappy code that the silicon vendor or the tool vendor pushes. They claim it makes things easier and it only does so to the person or team of idiots that wrote the code. The actual silicon, for example a timer, is HIDDEN behind some library routine. The library routine isn't simple because it links in with a ton of other routines to be a part of some crappy OS that they envisioned. The timer routines are only useful once you load in their bloated "helpful" libraries. Then if they aren't buggy, they only work in the limited way that the library writing goon understands, not how they might be used in the real world. Last time I was frustrated by the "wonderfully helpful" library routines I had worked my way through the first task on the development hardware of blinking an LED on a 32 bit processor. How much ROM/FLASH was used turning an LED on and off? Just under 10k. The worst aspect is debugging. I never know the value or meaning of anything because everything is defined, redefined, and re-redefined through a network of nested include files. Micromites and Maximites! - Beginning Maximite |
||||
Herry![]() Senior Member ![]() Joined: 31/05/2014 Location: AustraliaPosts: 261 |
To my mind that sounds exactly like a certain manufacturer of o/s version 8 (and 8.1)! Great that you knew when to pull the plug Geoff. Saves yet another rewrite... Alan Senior?! Whatever it says, I'm a complete and utter beginner... |
||||
boss![]() Senior Member ![]() Joined: 19/08/2011 Location: CanadaPosts: 268 |
And must the chip be Microchip made? If I read all that troubles around 32MZ HW and Harmony SW I have to ask if isn't right time to replace the sick horse. STM32F756NG High-performance and DSP with FPU, ARM Cortex-M7 MCU with 1 Mbytes Flash, 200 MHz CPU, Art Accelerator, L1 cache, HW crypto, SDRAM, TFT or Infeon Tricore CPU Clock: 180 MHz Including: - TriBoard Hardware - USB cable - Power Supply - Extension Board - Free TriCore Entry Tool Chain - Getting Started, first 3 Steps to - Install the Tools - Set up your Hardware - Write and debug your first Program On-Chip Memory: - 4 MByte embedded program flash with ECC, - 16KByte EEPROM (emulated by 64KByte data Flash), - 156 KByte on-chip SRAM, - 4KByte data cache, - 16 KByte instruction cache. Bo |
||||
hitsware Guru ![]() Joined: 23/11/2012 Location: United StatesPosts: 535 |
> where does this leave the maximite? One of the very few 'platforms' utilizing Basic. Perhaps the only one using floating point and for sure armed for so many perifriels(sp?) A niche, but a legitimate one. > i have voiced my opinions before, > that the maximite is a fine little device, > but far too expensive for what it is and does. > today, it really needs to be price-competitive > against the RPi model A+, which retails for us$20 > plus the cost of boxing it up with PSU, etc. From my perspective, only a Stamp, PicAxe, or Nano might come close. So damn the cost. |
||||
boss![]() Senior Member ![]() Joined: 19/08/2011 Location: CanadaPosts: 268 |
@hitsware The MMBasic is written in C, so then probably most of code will either directly transferable or with just little modification. Only HW dependent routine should fully replaced and I believe the big company (like ST or Infeon are) has development tools and support more sophisticated. I don't care about chip price, because the similar chips price are almost the same. Regards Bo |
||||
Grogster![]() Admin Group ![]() Joined: 31/12/2012 Location: New ZealandPosts: 9593 |
I would second that idea. As Rob says, now that they are on to the RPi Mk.2, the original A version can be had for peanuts, and you get a very, very powerful platform to base a MMBASIC port on. Just how much effort would be required to port from PIC to ARM architecture, I do not know, although, I would not be surprised if it was a page-1 rewrite, as they are so different hardware platforms. Certainly this is an idea I would like to see pursued or commented on by others, as you have all that nice hardware ready to rock: HDMI or Composite out for the colour output, I/O pins, SD card for storage, USB keyboard and network(perhaps). This might be me just dreaming, as it may not be practical to port MMBASIC to the RPi A, but I would LOVE to hear other members opinions of that idea - including Geoff, naturally. I actually LIKE win8 and 8.1 - a bold statement in a public forum, probably! ![]() I HATE the Metro start screen that was forced on you, which is probably the bit you are referring to, but that is easy to circumvent with the likes of Classic Shell which is totally free, and will give you back a full START menu, and will boot right to the desktop for you. Once Metro is out of the way(although it is still in the background), 8 and 8.1 become quite good DESKTOP OS's, IMHO. But I digress...... Smoke makes things work. When the smoke gets out, it stops! |
||||
Herry![]() Senior Member ![]() Joined: 31/05/2014 Location: AustraliaPosts: 261 |
That was it. I confess to being so busy I did not realise that there was such an easy way to circumvent it. Also, will W8/8.1 run Word 2010 and VB6, both of which I use every day? Senior?! Whatever it says, I'm a complete and utter beginner... |
||||
Grogster![]() Admin Group ![]() Joined: 31/12/2012 Location: New ZealandPosts: 9593 |
Should do. Flick me a PM, and we can exchange emails - that stops the thread from digressing into another subject too much! ![]() Smoke makes things work. When the smoke gets out, it stops! |
||||
TassyJim![]() Guru ![]() Joined: 07/08/2011 Location: AustraliaPosts: 6269 |
I like the Pi and have the new Pi 2 to play with. My HDMI 7inch touch display arrived today... They make a good display device as a front-end for my 'mites. While I would love MMBasic on the Pi, most of my use is for data acquisition and the multitasking operating system on the Pi makers the timing rather 'loose', just like Windows systems. Most of the drivers for the various sensors seem to be flakey due to the lack of reliable timing. For any critical timing, you have to resort to micromites etc. Re W8.1 I don't know about VB6 but I run Office 2003 without any obvious problems. Jim VK7JH MMedit |
||||
Grogster![]() Admin Group ![]() Joined: 31/12/2012 Location: New ZealandPosts: 9593 |
What about that fabulous thing that Oldbitcollector and his chums were selling? The thing that used the Micromite for the editor, and used a Propeller for the VGA and sound etc? Perhaps this is the way to go? Keep MMBASIC within a "Core" chip(the 170 or 470 series), and let the other chips do the hard work? I have one of those kits, but I heve never got around to building the bloody thing - so much other stuff, then Christmas came around, so I suppose I should dig it out and build it! ![]() Smoke makes things work. When the smoke gets out, it stops! |
||||
Geoffg![]() Guru ![]() Joined: 06/06/2011 Location: AustraliaPosts: 3285 |
Thanks for the words of support and appreciation. It was a terrible waste of time and very frustrating when I realised that it was not going to work out. This has come up many times before. The Maximite was conceived as a simple, low cost, single chip computer. Last time I looked the STM32 did not have framed SPI which is essential in creating stable VGA like video. Yes, you could add extra hardware to generate the video, but then it would not be a "simple, low cost, single chip computer". I don't know where this comes from. The Maximite is about as simple and cheap as they come for a "build-it-yourself" computer. The Altronics kit is expensive but that is due to excessive profit, not the design or BOM. Porting MMBasic to the RPi is something that I have considered and may still do. The problem is that MMBasic is more than a BASIC interpreter, it has evolved into something that has intimate control of the I/O and hardware on the chip and that would be very hard to do on the RPi with Linux in the way. In my efforts to get MMBasic running on the PIC32MZ I found it was easy to get the interpreter running, it was the close control of the hardware that was impossible. I suspect that the same would happen with the RPi and the many other similar boards on the market. Geoff Geoff Graham - http://geoffg.net |
||||
Grogster![]() Admin Group ![]() Joined: 31/12/2012 Location: New ZealandPosts: 9593 |
I'd have to agree with that - everything is on the one chip, and that chip is only about fifteen bucks or so - pretty cheap, it has to be said. To keep things simple and cheap, how about a "Two-core" Maximite, based on two seperate 695 chips? The SPI channels that were used to drive the VGA in the original, could be used to drive a 2nd chip which could be dedicated just to VGA and sound, for example. Or perhaps a 695 with MMBASIC core in it, and a cheaper 470 for the VGA and sound? I think the 470 has the speed - it may not have enough SPI channels. The advantage of that, would be you should free up more memory in the same chip for MMBASIC to use at the interpreter end of things. I guess that is what the MicroMite Companion is, really. How about the new 470 being developed, paired with the Propeller for VGA and sound? ![]() Yes, I know - not single-chip anymore, but just how critical is that if you can build a better mouse-trap? Smoke makes things work. When the smoke gets out, it stops! |
||||
plasma Guru ![]() Joined: 08/04/2012 Location: GermanyPosts: 437 |
Hi, I really think stm32 is the way to go because it is one chip and not one board as the pi. On youtube are some stm video with stm32 and Vga video so i think it must be possible. And the next f7 has more power as the mz. And the rpi is really a different beast. The chip has ogl-es but limitet hardware io. Even the new and really faster dual core one. Mmbasic running without many components whats what I like so i prefere the stm. An rpi port is possible and maybe a new experience. Mfg |
||||
robert.rozee Guru ![]() Joined: 31/12/2012 Location: New ZealandPosts: 2437 |
I don't know where this comes from. The Maximite is about as simple and cheap as they come for a "build-it-yourself" computer. The Altronics kit is expensive but that is due to excessive profit, not the design or BOM. I'd have to agree with that - everything is on the one chip, and that chip is only about fifteen bucks or so - pretty cheap, it has to be said. yes, i was referring to the altronics kitset, which seems to have been the most widely advertised form. i do believe there are other colour maximite offerings out there that are somewhat cheaper, but still none beat the price of the RPi model A+ at us$20. this is not a clearance price, but reflects the actual cost of production and distribution. the A+ was only released late last year and is very much a current product. ![]() some might have missed the point that there are SIX distinct variants of the RPi. the A+ consumes the least power (100mA to 150mA @5v), and is built on a PCB that is close to being square. if the underlying linux OS was stripped back to the bare metal, i see no obvious reason why near-RTOS performance could not be achieved. my understanding is that MMbasic on the 32MX695 currently only achieves usable granularity down to around 100us at the best. i do hope none are offended. i am trying to be pragmatic. i would absolutely love to see a 32MX695-based colour maximite retailing for us$20, but there is every indication that this is not doable. can someone prove otherwise? cheers, rob :-) |
||||
MicroBlocks![]() Guru ![]() Joined: 12/05/2012 Location: ThailandPosts: 2209 |
I have looked into it, and came to the conclusion that a Maximite/Color Maximite is not popular enough to make a big enough production run to get the price point down to 20US$. There was a kickstarter not long ago that proofed that again. I have much more faith in a micromite and if possible i would like to see a version based on the 795 chip. Current efforts for a 470 already show interest. Lots of good stuff in the 795 chip, six! UARTS/I2C/SPI and not to underestimate the importance 2x a CAN bus AND USB. 16 bit PMP very useful for lcd's. As has been proven by the micromite a screen is not really a short coming, i dare say it is a feature. Get rid of the VGA and use all that power of the 795 in the form of a micromite. Maybe add support for ethernet although that is a tough nut to crack. All of the code is already written. The 795 is familiar, as is the software stack. Forget the MZ and get the largest and fastest MX. I am busy with a project that uses an ARM with a 2.4" TFT 320x240 and can string together with RS485 that i sold for 45US$ per piece (with a nice enclosure). A micromite version of that will probably cost 30US$. I have 500 more of those screens on order and even then going down to a price of a Rpi is difficult. But then again the Rpi is completely unsuitable for direct hardware control, so what is the point of comparing with an Rpi when it is a totally other kind of computer. Microblocks. Build with logic. |
||||
matherp Guru ![]() Joined: 11/12/2012 Location: United KingdomPosts: 10247 |
Of course it is doable if the volume is there. The component cost is going to be more or less the same as a pi and most of the cost is in things like the various connectors (USB, SD, KB, VGA). You would want to re-layout the board using surface mount and shrink the board. Also probably go to a switch mode regulators. I built 5 Colour Maximites from Geoff's gerbers for a component cost of around £40 each, complete in boxes. This included having to buy 10-PCBs. In the UK the new pi sells for £24.90 +VAT = c£30 without a box. My component cost for the Maximite for even 100-off would have halved. I do love the way everyone pontificates on how Geoff takes MMBasic and "mite" range forward. I wanted a more powerful Micromite so with Geoff's agreement ported the code to the MX470 doubling the speed, and memory. Once the beta has finished this will become part of the formal "mite" offering and Geoff has said he may well look at then adding USB and SD to the code as the MX470 has plenty of flash to allow their inclusion. If you want to get a STM32 running MMBasic just do it! Buy a STM development board - they are very cheap. Install the free development environment CoIDE (v1.7.8, not the new beta) and the GCC ARM compiler and start porting the code. It won't be very difficult as the MMBasic code is very well organised and the compiler should be completely compatible- BUT it will take a fair amount of slog work slowly going through all the peripherals and getting them working - my guess would be about 200-hrs of work if you are a competent developer. Doing this on a M4 core would give you double speed and hardware floating point. Otherwise, if you need a $20 Colour Maximite, build 100 and sell 99 ![]() |
||||
Grogster![]() Admin Group ![]() Joined: 31/12/2012 Location: New ZealandPosts: 9593 |
I'm not sure we were being quite like that, were we? I know there have been several suggestions on the subject though, so if any of my comments read like that - appologies. Not intended. I was just throwing ideas about. Perhaps that is the way forward - the 470? With perhaps the 795 as an alternative port later(as TZA hints at)? Then if you want video output, you chose your options and drive THAT from the MicroMite chip, as it will have plenty of power and memory at that point. ...and I am not pontificating! ![]() ![]() Smoke makes things work. When the smoke gets out, it stops! |
||||
Page 1 of 4 ![]() ![]() |
![]() |
![]() |
The Back Shed's forum code is written, and hosted, in Australia. | © JAQ Software 2025 |