BASIC on Raspberry Pi Pico
  • BASIC Interpreter
  • BASIC with VGA Display
  • BASIC with WiFi & Internet

  • Maximite Family
  • Colour Maximite 2
  • Original Colour Maximite
  • Monochrome Maximite
  • The Maximite Story

  • Micromite Family
  • Micromite Summary
  • Standard Micromite
  • Micromite Plus
  • The Microbridge

  • Micromite LCD Backpack
  • Micromite LCD Backpack
  • Air Quality Monitor
  • DDS Signal Generator
  • Super Clock
  • Boat Computer MkII
  • Parking Assistant

  • Other Projects
  • Pico Gamer Console
  • Precision Analog Clock
  • Watering Controller
  • Windows/DOS MMBasic
  • ASCII Video Terminal
  • Utility Power Supply
  • Precise Voltage Reference
  • ISM Band Scanner
  • Game of Pong
  • Simple GPS Based Clock

  • Useful Techniques
  • 3D Printed Cases
  • Measuring Capacitor ESR
  • Surface Mount is Easy
  • Programming PIC Micros
  • Custom PC Boards
  • The Gerber Format

  • General Articles
  • Problems in Open Source
  • Hantek DSO-2250 Scope
  • Rigol DS1000 Scope
  • Brickbats

  • WEB Site
  • Home
  • Old or Obsolete Projects
  • About



  •  

     

     

    This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Australia (CC BY-NC-SA 3.0)

    Micromite MkII FAQ

     

    Features and Capabilities


    Can you port MMBasic to my favorite chip/board/platform/etc?

    The short answer is no. It is not feasible to port and support MMBasic on multiple chips/platforms.  The effort in validating and testing each release on many different devices would quickly get out of control. In any case, the microcontrollers that it does run on have good features and are good value... so why try moving to a different chip?


    Will you add features of the Micromite MkII to the original Micromite firmware for the PIC32MX150F128?

    No, the PIC32MX150F128 has a limited amount of flash memory and there is not enough spare memory for new features.  The original Maximite firmware will remain at Ver 4.5 although some bug fixes might be included.


    Will the unique Micromite MkII features be added to the Maximite/Duinomite/etc version of MMBasic?

    Yes, but not immediately. Note that some features are restricted by the hardware and cannot be ported (for example, the CPU command)..

     

    Does the Micromite have a RTC (real time clock) to keep track of the time?

    Yes, it does.  The TIME$ function tracks time and the DATE$ function will track the date including allowance for leap years, etc.  This is not particularly accurate and the date/time will be reset to zero on power up.  If you need an accurate time, it is recommended that you use the RTC command to get the time from a external battery backed and crystal controlled real time clock.


    Can I get data from a GPS module?

    Yes, no problem.  The MMBasic Library has a short program called GPS.BAS that shows how to get the latitude, longitude, speed, super accurate time of day and more from a GPS module.


    How can I update the firmware on a pre-programmed chip?

    You need a PIC32 programmer as the Micromite does not have the ability to update its flash itself (like the Maximite).  A good choice is the Microbridge which is low cost and acts as a USB to Serial converter.


    Do I need to run both Tera Term and MMEDIT to use the Micromite?

    You only need to use one program or the other (although you can use both if you want to).

    Tera Term (http://download.cnet.com/Tera-Term/3000-20432_4-75766675.html) is a terminal emulator and it opens up a terminal window where you can type in commands and see the result. Using this you can use the editor built into the Micromite to edit your program.

    MMEDIT (http://www.c-com.com.au/MMedit.htm) is more sophisticated, it contains a terminal emulator (like Tera Term)) but it also has a Windows based editor built in which is much easier to use than the editor built into the Micromite. When you have finished editing the program in MMEDIT you can easily transfer it to the Micromite for testing.

    Both programs run on your PC.



    Using the Micromite and MMBasic

    Occasionally the cursor looses its place in the full screen editor compared to where new text is inserted.

    If ever the full screen editor gets confused just hit HOME twice. That will go to the top of the file, redraw the screen and reset the internal pointers that are used to track the cursor position.


    My Sony TV accepts 12-bit codes but IR SEND will not work with it.

    Most Sony products require that the IR message be sent three times with a delay of about 26mS between each transmission.  This link describes the Sony protocol and this link lists the valid messages.


    Do I need to be connected to a Micromite chip before Tera Term will accept input from the keyboard?

    Yes you do. When you press a key Terra Term will send it to the Micromite which will then echo it back. That way you can tell that your connection to the Micromite is correct... no connection means no echo.  The same applies if you are using the ASCII Video Terminal.

     

    When connecting the Micromite to a LCD module the pin numbers on the Micromite are shown as D4 –D7, EN and RS.   Please tell me what the actual pin numbers are on the Micromite.

    You can use any pin numbers that you like.  D4, D5, etc are just labels that show where the pins connect to on the LCD module. The pin numbers that you want to use are specified on the command line of the LCD INIT command. The LCD INIT command will automatically set the pins (that you have specified) to outputs and they will be used for further communications with the display module.

     

    When I run the Clock.bas program for the GPS clock I get an "Invalid pin" error.

    Almost certainly this is because you have programmed a PIC32MX250F128 chip with the Micromite firmware. This chip does not allow you to use pins 15 and 23 (this is documented in the manual).


    Sometimes I cannot break out of my program using Ctrl-C.  This also happens in MMEdit which keeps giving the message "Clearing..." before giving up.

    The cause could be a CPU SLEEP command in your program.  This is the only command that Ctrl-C will not break out of and MMEdit uses Ctrl-C to regain the command prompt.  Another possibility is the PULSEIN function with a very long timeout.