Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 14:30 29 Nov 2024 Privacy Policy
Jump to

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 : Beta Testers Wanted

     Page 4 of 26    
Author Message
Geoffg

Guru

Joined: 06/06/2011
Location: Australia
Posts: 3196
Posted: 08:54pm 12 Jan 2014
Copy link to clipboard 
Print this post

  robert.rozee said  how realistic would be it to have a port of mmbasic that ran on this 1284P? this would open up the way to reusing PCBs like the sanguino, and other arduino-like boards that can be had extremely cheaply.

That would not work, 16K RAM is way too small. Also, it took a lot of work getting MMBasic on the PIC32150/250 so there would have to be a VERY good reason why I would want to do it again for another chip.

  cwilt said  I wonder if there is any chance to add SD storage?

Sorry, no. There is just not enough flash memory. Also, an SD card would use up 4 to 6 I/O pins which is a lot in a device that only had 19 to start with.

The MicroMite is intended to be an easily programmable chip, not a computer, so I never planned to put in computer features like mass storage. The same argument also applies to requests for video, USB, Ethernet, etc.

Geoff
Geoff Graham - http://geoffg.net
 
Grogster

Admin Group

Joined: 31/12/2012
Location: New Zealand
Posts: 9308
Posted: 09:16pm 12 Jan 2014
Copy link to clipboard 
Print this post

Makes perfect sense to me.

It is important not to confuse micro-computer with micro-controller...

Smoke makes things work. When the smoke gets out, it stops!
 
Grogster

Admin Group

Joined: 31/12/2012
Location: New Zealand
Posts: 9308
Posted: 09:20pm 12 Jan 2014
Copy link to clipboard 
Print this post

  Geoffg said  Also, it took a lot of work getting MMBasic on the PIC32150/250 so there would have to be a VERY good reason why I would want to do it again for another chip.[/quote]

...and we really appreciate the effort you have made. I just wish my sample chips and PicKit 3 would arrive so I can start tinkering! Edited by Grogster 2014-01-14
Smoke makes things work. When the smoke gets out, it stops!
 
cwilt
Senior Member

Joined: 20/03/2012
Location: United States
Posts: 147
Posted: 02:39am 13 Jan 2014
Copy link to clipboard 
Print this post

  Geoffg said  Sorry, no. There is just not enough flash memory. Also, an SD card would use up 4 to 6 I/O pins which is a lot in a device that only had 19 to start with.

The MicroMite is intended to be an easily programmable chip, not a computer, so I never planned to put in computer features like mass storage. The same argument also applies to requests for video, USB, Ethernet, etc.


Thats what I expected but I had to ask. Thanks for all your hard work and effort.Edited by cwilt 2014-01-14
 
vasi

Guru

Joined: 23/03/2007
Location: Romania
Posts: 1697
Posted: 07:32am 13 Jan 2014
Copy link to clipboard 
Print this post

  JohnS said   Presumably yet another version (er, sorry! I mean one day not right now) would work on boards like ones used for Pinguino project - Pinguino32 etc? Actually they make some DIY ones too incl an MX250 I think.

John


I bricked that one with Pickit2 programmer so anyone, be aware!
Hobbit name: Togo Toadfoot of Frogmorton
Elvish name: Mablung Miriel
Beyound Arduino Lang
 
vasi

Guru

Joined: 23/03/2007
Location: Romania
Posts: 1697
Posted: 07:46am 13 Jan 2014
Copy link to clipboard 
Print this post

  robert.rozee said   it occurred to me that the PIC32MX150 is very similar to some offerings from atmel. comparing to the ATmega1284P, the atmel chip has half the RAM (only 16k) but 32 I/O pins.

how realistic would be it to have a port of mmbasic that ran on this 1284P? this would open up the way to reusing PCBs like the sanguino, and other arduino-like boards that can be had extremely cheaply.

cheers,
rob :-)


If you already have an AVR ISP programmer, the best alternative regarding to BASIC is mikroBasic, followed by BASCOM. The new Oshonsoft Basic is underway, but not so soon.

Anyway, if you want an embedded BASIC interpreter, there are a couple of solutions (none worth the effort ):
- dk-basic
- KLBasic - in that page you will read also about an Arduino Basic interpreter
Hobbit name: Togo Toadfoot of Frogmorton
Elvish name: Mablung Miriel
Beyound Arduino Lang
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 3816
Posted: 07:55am 13 Jan 2014
Copy link to clipboard 
Print this post

Bricked? Any idea what went wrong?

John
 
vasi

Guru

Joined: 23/03/2007
Location: Romania
Posts: 1697
Posted: 08:33am 13 Jan 2014
Copy link to clipboard 
Print this post

Don't know, everything was connected right, the firmware is ok... and I saw also someone on Pinguino forums having the same problem...
I tried to burn inside a serial bootloader of only 3Kb as HID bootloader occupy 16Kb of flash if I remember right. Then I tried to burn a "blink a LED" example and that also didn't work. I left it for another time.

The PIC is recognized correctly, the burning and verification processes are reported as being a success.

BTW, that board is incorrectly compared with Arduino. They say the board is on par regarding to FLASH memory, but that is not true. That means 4 times less FLASH memory than Arduino. But I should discuss this in another thread, sorry!Edited by vasi 2014-01-14
Hobbit name: Togo Toadfoot of Frogmorton
Elvish name: Mablung Miriel
Beyound Arduino Lang
 
viscomjim
Guru

Joined: 08/01/2014
Location: United States
Posts: 925
Posted: 10:16am 13 Jan 2014
Copy link to clipboard 
Print this post

Hi All,

New to the forum. I have received the beta firmware and manual for micromite and will be playing soon. I have a question regarding the hardware uarts. Can the console pins be moved to a software uart allowing the two high speed hardware uarts to be used for other things? I need access to both and need to do better than 19200.

Also, can there be 2 software uarts AND be able to use the hardware uarts, so in essence 4 uarts, 2 at 19200 and two higher speed?

Thanks

Jim
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 3816
Posted: 10:23am 13 Jan 2014
Copy link to clipboard 
Print this post

Well the original Pinguino32 has 268K (256+12) flash as well as 32K RAM so that looks more than Arduino.

I'd guess someone is reading the original description as applying to a later board that's smaller and cheaper.

There's only one way I know to damage a correctly designed PIC32 during programming that way and there's a Microchip note of how to avoid it. I expect a myriad of other ways exist if you're creative, though!

Geoff may well know some others...

John
 
TassyJim

Guru

Joined: 07/08/2011
Location: Australia
Posts: 6102
Posted: 12:01pm 13 Jan 2014
Copy link to clipboard 
Print this post

  viscomjim said   Hi All,
I have a question regarding the hardware uarts. Can the console pins be moved to a software uart allowing the two high speed hardware uarts to be used for other things?

Jim


You can probably use the Console as a serial port without any changes. It's baud rate can be set to the same speeds as COM1.

Jim

VK7JH
MMedit   MMBasic Help
 
Geoffg

Guru

Joined: 06/06/2011
Location: Australia
Posts: 3196
Posted: 12:16pm 13 Jan 2014
Copy link to clipboard 
Print this post

  viscomjim said  Can the console pins be moved to a software uart allowing the two high speed hardware uarts to be used for other things? I need access to both and need to do better than 19200.

Also, can there be 2 software uarts AND be able to use the hardware uarts, so in essence 4 uarts, 2 at 19200 and two higher speed?

The console needs to be on a hardware UART so that it can run at a reasonable speed, even with the CPU at 5MHz. As the PIC32MX150/250 has only two UARTS that leaves one for other duties.

I restricted the MicroMite to one software UART for performance reasons. When the dust settles it might be possible to implement a second but I would need to do a lot of performance testing first. Also, there are only a few hundred bytes of flash free and I was hoping to reserve that space for bug fixes rather than new features.

Once you have debugged your program you can use the console as a third high speed serial interface. That would have some difficulties but it is an option.

Another option would be to use a second MicroMite and communicate with it via I2C. The second chip could act as a serial comms hub with three UARTS (including the console).

Geoff
Geoff Graham - http://geoffg.net
 
Grogster

Admin Group

Joined: 31/12/2012
Location: New Zealand
Posts: 9308
Posted: 12:30pm 13 Jan 2014
Copy link to clipboard 
Print this post

  Geoffg said  Once you have debugged your program you can use the console as a third high speed serial interface. That would have some difficulties but it is an option.

Another option would be to use a second MicroMite and communicate with it via I2C. The second chip could act as a serial comms hub with three UARTS (including the console).

Geoff


Can you clarify that a little? First paragraph says using the console pins as a serial port is do-able, but with difficulty, but second paragraph mentions the same console pins, but suggests it is easy. Just a little confused....

From reading the manual, I seem to remember it saying that once you have finished writing your program(or xmodeming it - whatever), if you don't need the console anymore, you can use it as a serial port - fine. So where is the "Difficulty" in that?
Smoke makes things work. When the smoke gets out, it stops!
 
Geoffg

Guru

Joined: 06/06/2011
Location: Australia
Posts: 3196
Posted: 02:13pm 13 Jan 2014
Copy link to clipboard 
Print this post

The only difficulty is that you need to be sure that your program is bug free because if it stops with an error the error message will be sent out on the console Tx line and the MicroMite will then wait for input on the Rx line. Depending on your application that might or might not be an issue.

For example, if you were using the console to get data from a GPS module and an error occurred the module would ignore the the error message because it was not a properly formatted message. MMBasic would then get GPS data on the console input which would cause more error messages but, if the watchdog timer was set, MMBasic would reboot anyway and your program would be running again.

Geoff
Geoff Graham - http://geoffg.net
 
Grogster

Admin Group

Joined: 31/12/2012
Location: New Zealand
Posts: 9308
Posted: 02:40pm 13 Jan 2014
Copy link to clipboard 
Print this post

Okey dokey, I see.
Smoke makes things work. When the smoke gets out, it stops!
 
hitsware
Guru

Joined: 23/11/2012
Location: United States
Posts: 535
Posted: 04:07pm 13 Jan 2014
Copy link to clipboard 
Print this post

  Grogster said   There are two PWM channels, which can be used to generate sounds.

[quote]
Frequency range: 20Hz to 500KHz
Duty cycle: 0% to 100% with 0.1% resolution below 25KHz
[/quote]

There is no TONE command though, as I guess setting the PWM output acheives the same thing as the TONE command at the end of the day. Will probably need a RC filter on the back of it, if you are feeding the PWM as audio into an external amplifier stage.

2 channels (pins) with independent frequency as well as duty-cycle ?

 
Grogster

Admin Group

Joined: 31/12/2012
Location: New Zealand
Posts: 9308
Posted: 04:22pm 13 Jan 2014
Copy link to clipboard 
Print this post

Yes, that is my interpretation. Pins 24 and 26.

[quote]
The PWM (Pulse Width Modulation) command allows the MicroMiteto generate square waves with a program
controlled duty cycle. By varying the duty cycle you can generate a program controlled voltage output for use
in controlling external devices that require an analog input (power supplies, motor controllers, etc). The PWM
outputs are also useful for driving servos and for generating a sound output via a small transducer.
Two PWM outputs are available (pins 24 and 26) and the frequency of eachcan be independently set from
20Hz to 500KHz. The duty cycle for each output can also be independently set from between 0% and 100%
with a 0.1% resolution when the frequency is below 25KHz (above 25KHz the resolution is 1% or better up to
250KHz).
When the MicroMite is powered up or the PWM OFF command is used the PWM outputs will be set to high
impedance (they are neither off nor on). So, if you want the PWM output to be low by default (zero power in
most applications) you should use a resistor to pull the output to ground when it is set to high impedance.
Similarly, if you want the default to be high (full power) you should connect the resistor to 3.3V.
[/quote]

Smoke makes things work. When the smoke gets out, it stops!
 
elproducts

Senior Member

Joined: 19/06/2011
Location: United States
Posts: 282
Posted: 05:46pm 13 Jan 2014
Copy link to clipboard 
Print this post

Rather than use a PICkit 3 I decided to use the Microstick II module.
It has a PICkit 3 programmer built in (called the PKOB or PICKIT On Board).
It also comes with a PIC32MX250 and USB cable for $34.95.
The board even brings out the USART pins to the end of the board but unfortunately they are the COM2 pins not the COM1 Geoff picked for the programming communication.
Microstick II at MicrochipDirect.com



I loaded the .hex file, that Geoff supplied, into MPLAB X and programmed it into the board without issue. I just had to select the PKOB programmer.

Next I found my Sparkfun USB converter module and hooked it up to the board through a breadboard. The Microstick gets its power from the USB programming cable so I left it hooked up to my laptop. I connected the USB adapter to a second USB port and launched Tera Term.





The > prompt showed up. The Microstick II has an LED connected to pin 2 so I wrote a short program to flash the LED. The Editor worked great within Tera Term. The program ran perfectly. So I had success 1st try.

Great job Geoff.

In searching for my Sparkfun USB convertor I found a couple of old boards I designed and never finished. I was planning to make some breadboard versions of the Amicus 18 module but ran into issues with the way they did the FTDI programming. I could never get it to communicate with the Amicus software successfully. But this design would work great for MicroMite.





The FTDI chip is on the bottom and the 28 pin PIC32 can go on top. Then I can just program from the USB connector. The layout will have to change to match the PIC32 but some of the work is already done.


www.elproducts.com
 
elproducts

Senior Member

Joined: 19/06/2011
Location: United States
Posts: 282
Posted: 06:00pm 13 Jan 2014
Copy link to clipboard 
Print this post

  bigmik said  

PS. I haven't had a copy of the CHIPS newsletter for a while.. Has there been a hiatus for some reason?

Mick


Thanks for asking Mick. Back in May 2013, I ended the CHIPS newsletter and replaced it with my blog. I put that in the final CHIPS newsletter but I did get some bounces in email. Maybe one was yours.

Anyway, the blog is at my improved website:
elproducts.com

I launched the site and blog to address complaints from some people that my website was just focused on marketing my books and not enough helpful info. So I created this new site which focuses more on the info and less on the books. Many, but not all, of the original CHIPS newsletters are at the site under the Newsletter Archive menu.
Traffic has continued to increase since the switch so I guess it was the right move. Check it out.

Maybe I'll add some blog posts about the testing of this MicroMite prototype.


www.elproducts.com
 
TinkersALot
Regular Member

Joined: 20/11/2012
Location: United States
Posts: 72
Posted: 07:16pm 13 Jan 2014
Copy link to clipboard 
Print this post

This board should work for a beta-bed shouldn't it?



">clickety Edited by TinkersALot 2014-01-15
 
     Page 4 of 26    
Print this page
© JAQ Software 2024