JAQForum Ver 19.10.27
Log In or Join  
Active Topics
Local Time 14:03 20 Jan 2020 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 : Micromite eXtreme, GPS & more new goodies

Author Message

Joined: 11/12/2012
Location: United Kingdom
Posts: 2995
Posted: 04:37am 30 Jan 2017
Copy link to clipboard 
Print this post

This release of the firmware has a number of significant new capabilities.



Text output in all orientations

It supports text output in all four orientations + vertical directly from Basic on all supported displays including VGA. This is achieved by simply including the orientation in the justification string so:
text 100,100,”ABC”,ICM

will output ABC inverted with the string centered on 100,100 horizontally and vertically. Valid codes are N(ormal), I(nvert), U(p), D(own) and V(ertical)

Automatic GPS data input and NMEA decoding

It supports automatic decoding of NMEA input from a GPS. This is simply activated using

OPEN "COMz:baudrate" as GPS [,timezoneoffset]
The timezone_offset parameter is used to convert UTC as received from the GPS to the local timezone. If omitted the timezone will default to UTC. The timezone_offset can be a any number between -12 and 14 allowing the time to be set correctly even for the Chatham Islands in New Zealand (UTC +12:45)

Once the GPS is "opened" the function GPS will give immediate access to individual parameters

GPS(ALTITUDE) returns current altitude if sentence GGA enabled

GPS(DATE) returns the normal date string corrected for local time e.g. “12-01-2017”

GPS(DOP) returns DOP (dilution of precision) value if sentence GGA enabled

GPS(FIX) returns 0=no fix, 1=fix, etc. if sentence GGA enabled

GPS(LATITUDE) returns the latitude in degrees as a floating point number, values are –ve for South of equator

GPS LONGITUDE) returns the longitude in degrees as a floating point number, values are –ve for West of the meridian

GPS(SATELLITES) returns number of satellites in view if sentence GGA enabled

SPS(SPEED) returns the ground speed in knots as a floating point number

GPS(TIME) returns the normal time string corrected for local time e.g. “12:09:33”

GPS(TRACK) returns the track over the ground (degrees true) as a floating point number


Sensor fusion for applications needing orientation information

It supports automatic calculation of pitch, roll and yaw from 9-axis sensors allowing applications like a tilt-compensated compass to be programmed entirely in Basic - code attached below

watch the video

Measurement of unknown input baudrates

It supports a new function BAUDRATE which will report the baudrate of an active serial input on any of the comms ports

Paged display for 4.3" SSD1963

It supports the 4.3" SSD1963 display using a new driver SSD1963_4P
This sets the 4.3” SSD1963 display up in 480 x 864 (landscape or reverse landscape) or 864x480 (portrait or reverse portrait) pixel mode. The screen viewport is 480x272 or 272x480 and the position of the viewport is controlled by GUI STARTLINE n. This mode of operation allows display updates to be done on a non-visible part of the graphics memory and then the viewport moved to see the updated image completely eliminating tearing effects. The 4P display controller is fully compatible with TOUCH, MOUSE, CURSOR and GUI controls. and is used in the compass program

Arrays as inputs to drawing routines

It supports arrays as inputs to the basic drawing routines. This can provide huge speed improvements in some cases. For example outputting individual pixels in a loop can achieve 22000 pixels per second. Using arrays to contain the pixel coordinates speeds of over 400,000 pixels per second are possible.

More details of the new functionality are included in the Micromite eXtreme manual attached above.


Any bugs in Geoff's 5.3b10 beta release for the MM+ will probably also be in this code. Other bugs are entirely my own creation.

Code and background image for the compass


Edited by matherp 2017-01-31


Joined: 12/10/2011
Location: Australia
Posts: 1238
Posted: 10:37am 30 Jan 2017
Copy link to clipboard 
Print this post

I find all this a bit hard to believe. AWESOME.
6 years ago I built a MICROMITE and now I'm here.
"It is better to be ignorant and ask a stupid question than to be plain Stupid and not ask at all"
Senior Member

Joined: 22/06/2014
Location: United States
Posts: 197
Posted: 10:49am 30 Jan 2017
Copy link to clipboard 
Print this post

Very useful and easy to use "extended" functions.

Great work Peter .

Joined: 05/04/2013
Location: United Kingdom
Posts: 2745
Posted: 11:22am 30 Jan 2017
Copy link to clipboard 
Print this post


Page18 4th line down: SPI can be 1,2 or 3 (not 1, 2 or 2)
For everything Micromite visit micromite.org

Direct Email: whitewizzard@micromite.org


Joined: 31/12/2012
Location: New Zealand
Posts: 6954
Posted: 01:33pm 30 Jan 2017
Copy link to clipboard 
Print this post

  palcal said   I find all this a bit hard to believe. AWESOME.
6 years ago I built a MICROMITE and now I'm here.


The Micromite just keeps getting better and better with chaps like Geoff and Peter working on the development. Impressive new features for the eXtreme family.
Smoke makes things work. When the smoke gets out, it stops!


Joined: 02/10/2012
Location: Australia
Posts: 672
Posted: 04:24pm 30 Jan 2017
Copy link to clipboard 
Print this post


Terrific job - can't wait for WW's board to arrive.

P23 of your manual SPS(speed) should be GPS(speed)?

... all the Maximites, almost all of the MicromMites, all the MM Extremes, all the ArmMites, and loving it!
Print this page

To reply to this topic, you need to log in.

© JAQ Software 2020