More Montana Musings

More Montana Musings

Over the last few weeks I’ve been engaged in some technological explorations relating to the presentation of geocaches in various mapping tools – see Memory-Map and Back to BaseCamp – and my success in doing so has lead to a measure of confidence in such things. I probably understand such things at a level well above the average geocacher right now. So it seemed to be a reasonable leap to see whether I could figure out how to extend this work into the display of various attributes on the Garmin Montana. It proved to be a painful exercise. I eventually settled for something that’s better than my previous attempt, but not as good as I wanted.

Not long after I got the Garmin Montana (the first one, which I ultimately lost down a drain in Letchworth) I explored changing the icons to make them more visible against the collection of fairly busy and colourful maps on the device. I was happy with the results (see Custom Icons) at that point, but a couple of things still irritated me about it.

One irritation was the inability to tell whether a puzzle (or multi, letterbox or wherigo) was solved already of not. Another was the inability to tell which caches are disabled. I regularly spend ages at a site looking for a cache before checking the logs and discovering that the cache has been disabled for some length of time. Sometimes they are there, so I still want them on the GPSr, but I like to know when I start searching that it might not be there.

I tried to have a look at whether it was possible to use the fairly complex schemes of custom icons I’ve implemented in Memory-Map and BaseCamp. What followed was a very frustrating dive into some fairly dark recesses of the internet in an ultimately fruitless search for a way of enhancing what I’d done. After much, pain I found a post on a forum site in which a well-known London cacher had stressed that on the Montana your options are very limited. He suggested the best thing to do, and that’s what I’ve implemented. What he confirmed was :

  • Custom icons on the Montana can only be applied to waypoints, not to geocaches
  • The Montana relies on a fixed relationship between cache type and icon which is embedded in the firmware somewhere, not in a configuration file – the <sym> tag in a GPX file is irrelevant because the Montana doesn’t use it
  • The list of acceptable names for geocache icons is quite limited – it doesn’t cover the full range of geocache types at all, presumably because many of them are rarely available in practice
  • If you provide a Montana with a cache type it doesn’t understand then it defaults to the bucket “Geocache” icon

What this means in practice is that it can’t even represent every single cache type, never mind having variations relating to status. You’ve got to get a bit creative with it. And the way to implement your creativity is to amend the apparent cache type in GSAK before downloading to the device. I guess I kind of knew this already, and had previously been using the “Benchmark” cache type to highlight solved puzzles, and the like. I’d been doing this manually, by changing attributes in GSAK one-by-one. Tedious, and prone to error.

So I wrote a macro for GSAK that changes the apparent cache type as follows, and then changed the custom icons on the Montana to reflect what I’m actually using them for. It’s very bespoke, but it does what I want, or at least the closest I’m going to get to it :

  • Cache In Trash Out Event.bmp -> Used to indicate “owned” caches, represented by something that looks like a star in a green circle
  • Event Cache.bmp -> Used for all event types (CITO, Event, Mega, Giga, GPS Maze) – there’s never enough of them for me to care what type of event each one is
  • Webcam Cache.bmp -> Used to identify disabled and archived caches – there’s so few webcams left that there’s no point in giving them their own icon
  • Virtual Cache.bmp -> Used for both virtuals and webcams
  • Mega-Event Cache.bmp -> Used to highlight caches that have corrected coordinates, represented by an icon that looks like a piece of a jigsaw puzzle
  • All other icons (Trad, Multi, Wherigo, Unknown, Found, Letterbox, Earthcache) are used to represent those cache types where the cache is not corrected, owned or disabled
  • Geocache.bmp -> Used for anything else, so all the “funny” cache types like Lab Caches, Groundspeak HQ, Lost and Found Events, and so on

In the instances where a single icon is being used to represent more than one type of cache, I have just added the cache type onto the end of the name. It’s rarely a thing of significance, to be honest.

If Garmin ever changes the firmware to allow more of the standard geocache types then I’ll revise this scheme, but it doesn’t seem to be high on their priority list.

To implement this, I created yet another pack of icons (shown above), and two macros for GSAK. One macro sets the cache type to the scheme above, recording the original settings into two of the “User Data” fields. The second macro restores the original settings from User Data so that the GSAK database is as it was previously. This is necessary because the GSAK menu option to download to a Montana doesn’t allow any configuration. I now have assumed this is because any configuration wouldn’t be implemented properly on the device.

The little bits of magenta in the icons are there because the Montana translates pure magenta (RGB 255:0:255 or #ff00ff) into “transparent”, so they on the display they look a little neater.

So to execute this method, install the pack of icons onto the \Garmin\CustomSymbols folder of the Montana’s onboard storage (not onto any installed microSD card). In GSAK, run the SetSymbols macro, then download caches to the GPSr using the Send Waypoints, and finally run the RestoreSymbols macro.

Back to BaseCamp

Back to BaseCamp

Having spent a week or so getting Memory Map to display custom icons (see Memory-Map), I felt somewhat emboldened and tried to have a pop at doing the same thing in BaseCamp. BaseCamp has to be a preferred technology for some locations due to the availability of good-quality, free, vector maps that can be mimicked on the GPSr.

As with all things relating to Garmin devices and applications, there is very little available by way of documentation if you are trying to customise them. Garmin’s plan is evidently that the vast majority of users don’t delve deeply enough for this to be an issue, and one can presume from the limited amount of chatter on the subject that they are mainly correct in that assertion. Most people aren’t in the game for heavy customisation. A few people are, and I’m one of those. So this post is very much in the “niche” category. I make no apology for that.


As a geocacher, most of my dislike for BaseCamp stems from the fact that by default there are only two on-screen symbols – a locked treasure chest and an open treasure chest brimming with gold, which represent an unfound cache and a found cache respectively. So by default there is no method of telling different types of cache from one-another, nor is there any way of indicating whether those caches are mine or someone else’s, whether they are disabled/archived or whether I have corrected the coordinates. That makes the tool of limited use for planning journeys.

So my objective was to figure out how to make it more useful by being able to use custom icons to display those various status flags. Simple, really.


Garmin advises that you can, indeed, use custom icons (see Garmin Support – Custom Icons). This gives some basics about what custom icon files need to look like and where you have to put them. What it doesn’t do is to tell you how to use them.

For that, research around various forums revealed that, as a user of GSAK, the symbol displayed by BaseCamp is whatever is defined in the <sym> tag of the input GPX file. GSAK has a number of different ways of producing a GPX file, depending on what you’re intending to do with them afterwards, or put another way, GSAK outputs GPX files using different sets of tags depending on whether those tags are likely to be used by the destination application or not. You can see in the picture here that there are options for Garmin POI files, generic GPX files, BaseCamp specific files, and so on. My focus was on the generic “GPX/GGZ/LOC File…” and the “Garmin MapSource/BaseCamp File…” options. You can see the dialogs that those options spawn in the pictures below.

The key points to observe on these two diagrams are :

  • On the BaseCamp export (right side) there’s a list of cache types and associated symbols which are placed in the output file – these can be altered by pressing the Change button
  • Also on the BaseCamp export you can see checkboxes labelled Override with database symbol name… and Use a macro for symbol generation – the meaning of the second one is obvious but the first caused me to go looking – there is a database field called Symbol
  • On the generic export dialog (left side) you can see there’s various controls that talk about symbols, but not at the level of granularity that’s on the BaseCamp specific one – experimentation showed that with the Force use of Geocache symbols only and Make symbols same as last GPS send checkboxes both off, the <sym> tag in the output takes the value of the database Symbol field

The net result of this investigation is that it’s possible to select various methods of setting the symbol to a custom value, and that they can be achieved using macros. My plan was therefore clear – draw up a map of the custom symbols I want to use, and then figure out how to implement that in a macro in GSAK.


The steps to implement the solution turned out to be rather straightforward. There are just 3 things to do :

Firstly, configure GSAK so it knows about the custom icons. Download the configuration file, unzip it and move it to the local data folder for GSAK. In my case (on Windows 10) this is C:\Users\’Me’\AppData\Roaming\gsak where ‘Me’ is the folder for the current user. Look at the Export to MapSource dialog above. If you press the Change button you get a further dialog in which you can assign individual custom icons to each set of statuses. We only need to do this for child waypoints, because for geocaches we’re going to use a macro to populate the database and then use the Override with database symbol method. Once you’ve installed the config file and restarted GSAK you should see the new icon numbers and names in the dropdown lists on this dialog. Go to the Child Waypoints tab and configure the six child waypoint types with custom icon numbers 58 thru 63 as per the picture below.

Secondly, set up GSAK. Download the Macro file and install it into GSAK as normal. Change your display of columns in GSAK so that you can see the Symbol field. Try running the macro – you should see the value of the Symbol field changing as you do so.

Finally, install some icons for BaseCamp to use. Download the icons file and unzip the contents into the folder where BaseCamp expects to find them. On my Windows 10 PC this is at C:\Users\’Me’\Documents\My Garmin\Custom Waypoint Symbols.

And that should, theoretically, be the end of it. Having tested it, you can now either use the generic GPX output or the BaseCamp one. Both place the content of the Symbol database field into the <sym> tag of the output file, and that seems to be all that BaseCamp uses. Browse to an output file through BaseCamp and install it, and you should see the new icons straight away. You’ll notice also that they have been imported into BaseCamp as geocaches, not waypoints, so when you double-click you’ll still get the geocache dialog.

Note the macro file is written specifically to allocate custom symbols as per the rules shown in the GarminOther.txt configuration file. You are free to change these, and the icons, as you see fit. The convention for naming the icon files is 000.bmp, 001.bmp, etc. This convention automatically associates the <sym> tag “Custom 1” with the icon file 001.bmp. You can use any of the other standard Garmin icon names if you want, but you’d need to change the macro to match what you’re setting up.

Note also the specifics of how I wanted to see the icons. I’ve used little indicators in the icons to show corrected coordinates and active/disabled. Ones I own have a totally different icon style, as do ones which are archived or found.

Final Annoyance

Surely, there can be no more annoyances! There are. One stands out.

BaseCamp, by default, shows a text name alongside each cache or waypoint. Whether this is displayed or not is controlled by a tag in the GPX file, but there is no way in GSAK to set that tag, as far as I can tell. It is contained within an extension to GPX that GSAK doesn’t use.

You can open each item in the cache/waypoint list and suppress display of the name by changing “Symbol and Name” to “Symbol Only”, but for some reason in BaseCamp you can bring up an “Open” dialog for multiple waypoints but not for multiple caches. For caches you have to do it one-by-one, which is tedious in the extreme.

The quick way is to select all caches and waypoints and then “Export Selection” in BaseCamp to produce a new GPX file. This contains the relevant tag, so you can edit it and substitute all instances of “SymbolandName” with “SymbolOnly”, save it, and import that one back into BaseCamp. Bob’s yer proverbial uncle. It’s irritating that I didn’t figure out how to programme that, but it’s a fairly small irritation, and to be honest, unless you’re loading thousands of caches into BaseCamp you might find the labels useful.

Show me some pictures then

Pictures below show a few examples of how this looks in BaseCamp.

On the left you can see a picture of my current list of caches to do in Milton Keynes. The small cyan coloured dot on some of the icons is how I represent a puzzle, multi, letterbox or wherigo when I’ve added some corrected coordinates. You can also see a few of the trads have a white bar through them, indicating that they are temporarily disabled.

In the centre you can see what the area of my Flags of All Nations series looks like. The circular stars are “owned” caches. The red boxes with crosses are archived. I’m using the pink benchmark icon (“Benchmark” cache type in GSAK) for planning locations to replace the archived ones. The circle with star is a bit bigger than the other icons, so I might change that one.

On the right you can see a bunch of smiley-face icons with corrected coordinates. These represent a massive puzzle series I did in France in 2018 (see Val D’Oise Madness).

All of these examples are shown with Freizeitkarte maps, but obviously the icons will superimpose over whatever maps you choose to use.



So after all these years of trying to use Garmin’s BaseCamp tool to pan the layout of caches, I finally got to wondering what else was available.

I’d heard a number of times over the years about people using Memory-Map to plan out caching routes, so I decided to have a look.

The first step in any new venture into geocaching applications is to figure out what the maps are like. In Memory-Map’s case, the maps are whatever you buy. You can get a free trial for the UK Ordnance Survey 1;25,000 scale maps. These look much like the OS Explorer “Orange Top” printed maps – I guess the printed maps are just a rendering on paper of the electronic versions. Anyway, these electronic maps have the problem that they are raster maps so they get blurry at fine detail, however at the sort of scale you need for planning a geocaching trip (which is wanting to see between 2 and 10 km of map across the width of your screen) the resolution is fine and the maps look lovely. When your trial period runs out they will sting you for about £100 for the full Great Britain mapping. They look nice, as you can see in the samples below.

This leads me quite naturally into a discussion about the main weakness of using Memory-Map though. They don’t sell up-to-date maps for very many places apart from Great Britain (the 1:25,000 OS Explorer maps), France (the IGN 1:25,000 map) and the USA (DeLorme 1:24,000 topo maps). There’s a bunch of free ones for much of the world but they are of such a resolution that they are of no use for the purpose of planning caching trips (or writing blog posts about previous trips). Coverage of the world seems patchy, and I failed to find any reasonable way of making Memory-Map compatible maps from other inputs like Freizeitkarte. That’s not to say you can’t do it, it’s just to say I’ve not had the patience to sit and figure it out.

So, moving on, the second thing you need to make a decent geocaching planning tool is a way of uploading shed-loads of geocaches onto the map. In this case I wasn’t quite sure where to go until I stumbled across some documentation on Google about a macro written for GSAK (which I also use) which outputs content for Memory-Map based on caches stored in GSAK. The macro is written by rutson and it is available as one of the standard downloadable macros from GSAK on their online macro index. I won’t explain how to get there – if you don’t use GSAK you don’t need to know, and if you do use GSAK you’ll know where this is. The macro concerned appears in the online list as “rMMe” (rutson’s Memory Map export).

When I tried this the first time it was fully functional, but I had two issues with it :

  • It allocates icons to cache types in a way I didn’t like – some cache types were missing, the selection criterion for various parameters like “Found”, “Archived”, “Owned” and so on didn’t seem to be complete (Yes, I have some caches that I have found and that I now own, and which have corrected coordinates. The macro wouldn’t allow all of those in one icon).
  • I wasn’t particularly keen on the icons. If you’ve seen the post about Custom Icons you’ll know I like big, bold and clear colours and geometric shapes, so that they are easily discernible against the background of a busy map.

The way to get rid of these issues, as you would expect, was a bit time-consuming.

Cache Processing

The solution to the first of the two problems is evidently to rewrite the processing macro in GSAK to produce a different range of settings that equated to the items I wished to see. I started off with maintaining rMMe’s approach of marking caches that contain a trackable, but ultimately decided that I generally don’t plan on the basis of whether caches contain a trackable or not, so I decided to ignore that parameter. The things I thought to be important to include in the model were :

  • Found Status – this takes priority over the type of cache, as it does on the Groundspeak website – if I’ve found it, I don’t care what type it was any more. Found caches are always shown as smileys.
  • Cache type – Traditional, Unknown, Multi, Virtual, etc – There’s more different types than you think, so I contented myself with all the key types and then use a bucket “other” type for ones that will never occur frequently enough to be of concern (like “Project APE” and “Lost and Found Celebration”) – I chose to represent the type on the icons by using different colours and letters in a square box.
  • Active Status – is it Active, Disabled or Archived? – I represent this status on the icons by adding a grey diagonal bar for Disabled and a red diagonal bar for Archived, but I didn’t bother with Disabled for a “Found” cache
  • Ownership – For caches I own, I add a small green circle to the bottom right side of each icon, including on smileys. There was no need to create an “Owned” variant for some types, because I’ll never own a Virtual, a Webcam, a GPS Maze, a Mega Event or a Giga Event, for instance.
  • Corrected Coordinates – for types where the cache isn’t at the given coordinates (like Unknown, Multi, Letterbox and WherIGo) I add a small cyan circle at the top right when those corrected coordinates have been added to the cache, and not when it hasn’t. This identifies which caches are available to be found and which need some work (either now or in the field). I noticed on the current variant of the Groundspeak site it’s possible to add corrected coordinates to any cache, but it’s meaningless on types other than the four listed here.

Once I’d been through the process of deciding what different icons were needed for each cache, I also included some extra parameters which make the macro more useful for one of my purposes – blogging about historical days out. For those days, it’s often the case that the blog post is written well after the actual day, and sometimes that means the caches are in varying states of disrepair or are archived. I therefore included a “Show All Caches as Active” flag, which makes the macro ignore all the settings about status and just forces use of the “Active” variant of each icon. Occasionally I might like to draw a picture of all caches that someone else might see, i.e. ignoring my finds, so I added another flag to perform a “Show All Caches as Unfound” function. Finally, once you’ve updated the coordinates of a cache on the Groundspeak site and refreshed in GSAK then the coordinates appear to be the corrected ones. This is great for planning, but it’s a bit rubbish if the whole point of the trip was to create a piece of GeoArt (see Val D’Oise Madness, for instance). In that instance the Groundspeak website displays found caches at the given, not the corrected, coordinates, so GeoArt restores itself as you find the caches. To make Memory-Map do that you have to tell it to. The original coordinates are available in GSAK, but you have to choose to use those rather than the corrected ones. So, I added a “GeoArt Mode” flag, which forces use of the original rather than the corrected coordinates – see the third picture above – the one with the Mickey Mouse ears.

The original rMMe.gsk macro file already had the right structure for performing a loop over all of the displayed caches in GSAK and including an output line for them. It also had a small block for drawing the child waypoints out. This meant that all I had to do was to figure out how to change the core of the module to assign a different set of icons, and to apply the various control flags I wanted. That proved to be fairly easy once I’d read through the example a few times. The structure and meaning was quite apparent and quite simple to understand. Result!


You can use as many different icons as you can be bothered with creating and programming for. There are some limits to how you do it, but the number can be quite large. The constraints on the icons are as follows :

  • They must be 32×32 pixels in size
  • They must be saved as 256-color bitmaps (.BMP)
  • Pure white (RGB 255.255.255) is treated by Memory-Map as a transparent layer, so if you need something white, pick a light cream colour instead. I found that RGB 255.251.240 gives a decent looking shade

I chose to edit them using MS Paint – it’s easy to use and clear enough for these very simple files. One issue is that MS Paint always allows you to edit in the full 256x256x256 RGB colour-space, so it’s a bit of a lottery whether the colours you’re using are actually available in the 256 colour palette (I couldn’t find a reliable source). The way around that is to pick a colour you like, then save the file as a 256-colour file, and then reopen it. MS Paint corrects any colour you’ve used to something that’s compatible with the 256-colour palette.

Somewhere in the configuration for Memory-Map is an entry which determines which pixel in the icon is placed over coordinates. In mine, it’s set to about 16,16 and I drew icons that are about 20 pixels square in size (always at the top right of a 32×32 frame. This means that, when being drawn by Memory-Map, the icon appears mainly to the top-left of the coordinates. For caches that are directly on a public footpath that’s advantageous, because the icon mainly covers the whitespace above the path on the map rather than covering the path.

Enough with the chat, how do I use this for myself

Here are the things you need to do to set this up.

There are two downloads here. One contains the GSAK macro, the other contains all the icon and configuration files.

  1. Download and unpack the GSAK macro. Install it in GSAK by taking the Macros -> Run/Manage menu option and then hitting the Install button – this produces another dialog where you can browse to this macro file and upload it
  2. Select a database in GSAK that has some caches in it and then Run the GSAK macro for the first time. This will, amongst other things, hunt for an installed version of Memory Map and create the relevant folders for later use. It install rutson’s original icons into the directory but these aren’t used.
  3. Navigate to C:\Users\’Me’\AppData\Roaming\gsak\MemoryMap\icons (where ‘Me’ is the current user) – You should see a bunch of icons and config files. You can delete all of them if you want. rutson’s original version has his icon data embedded in the macro and I didn’t remove this.
  4. Download the .ZIP file with the icons in
  5. Unpack the icons .ZIP into C:\Users\’Me’\AppData\Roaming\gsak\MemoryMap\icons

Everything is now installed, so you’re good to go. You should see my icons being used instead of rutson’s. The key file for this bit of configuration is header.txt – This makes the association between the icon file name and the integer number used to represent it in the Memory-Map upload.

How do I use it?

It’s quite easy. When you run the macro it brings up the dialog below. You can tell I didn’t spend much time tidying it up. I may do that at a later date. The result is that some of rutson’s original features don’t work now (as I didn’t want them).

Key areas of the dialog :

  • At the top left you can select the folder where output files are generated. I’m creating them in the same folder that the icons and input config files are stored.
  • Below that, you can define the name for the output file – it creates a .CSV file. You can use the last name, or the GSAK database name, or choose a custom name.
  • Below this, there’s a number of checkboxes which control the outputs. The names make it fairly obvious what will happen. “Add route?” adds a simple straight-line route from one cache to the next (but as far as I can tell the means of doing this is uncontrollable). “Display Spiders?” shows original and corrected coordinates separately and draws a straight line between the two on a cache-by-cache basis. “Display All as Unfound?” and “Display All as Active?” override the GSAK status for found and active/disabled/archived statuses. “GeoArt Mode?” ignores corrected coordinates and displays caches at the original coordinates (where there’s a difference).
  • On the top right is a group of controls “Links To” which I ignored and don’t use.
  • Below that are three flags that control whether child waypoints are displayed. I have written the macro such that if a child waypoint has the same coordinates as the cache then the display of the child is suppressed – this removes a lot of clutter. If you chose to output the child waypoints, you can further elect whether to suppress output of children for found caches or for disabled/archived ones.

Hitting the Go button on the dialog takes the selected parameters and creates an output file. It then invokes Memory-Map and uploads the created file.

Note then when you load Overlay data into Memory-Map it’s not clever enough to figure out whether there’s already a waypoint with the same name, so you get duplicates if you reload the same caches. I’ve noticed this causing some strange behaviours and it certainly clutters the whole shebang, so my recommendation is that before you run the GSAK macro you should always go into Memory-Map and use the Overlay -> Delete All… menu option to clear stuff away.

You’ll notice if you pull up the Overlay Objects panel in Memory-Map the caches are grouped by cache type and found status. You can double-click items in the side-panel to get the map to centre on that item.

Waivers and Restrictions

The downloads above are, to the best of my knowledge, free of malware. However, I take no responsibility for that. Please scan anything you download (from anywhere, not just from me).

You may make copies whenever and wherever you want. However, if you break it then you own both pieces.

There is no copyright on any of the downloadable material. If you are going to rework it, I would appreciate it if you could credit myself and rutson when you do so. You may not use this material as the basis for a commercial offering. It’s free shareware – please keep it that way.

These materials were written for personal use by myself. You use them at your own risk and I don’t provide a helpdesk. I may update the features and repost occasionally. There is no warranty and I take no liability, under any circumstances.



Over the last few weeks I’ve been getting more interested and more knowledgeable about mapping on my new Garmin, having previously been through the pain of creating and installing my own custom icons.

After a discussion made during a long walk around Rutland last weekend a friend asked me how I have managed to install Ordnance Survey maps at 1:25000 onto my Garmin using Garmin’s BaseCamp tool.

The issue is, you see, that on my Montana the onboard storage for the GPS is about 4Gb, which doesn’t leave a huge amount of room for maps, especially if you’re a hoarder like me and want to have absolutely everything you’ve ever bought available all the time. So I needed to figure out how to load my custom maps onto the Montana’s MicroSD card – I bought a 32Gb MicroSD card for some trivially small price off Amazon.

When I got the Montana it came installed with the Garmin base maps, but these are next to useless for Geocaching.

Following a few links on Facebook and elsewhere I ended up buying TalkyToaster maps, which are based on OpenStreetMap. These are fairly cheap but I did find the style to be a bit heavy looking on the screen of the GPS, so I wasn’t over keen on using them for “big” days out.

So now I have switched over to two different mapping layers, depending on what I’m doing.

  • Freizeitkarte maps for “casual” caching, times when I’ve not been able to “do it properly,. and times when I’m not going to be spending much time, so the investment in more detail isn’t justified
  • BirdsEye Select OS 1:25000 maps for days when I’m going on a splurge – Obviously these cost £20 for a 1500 square kilometre block, but you can have as many different blocks as you want, and once the credits are paid for they stay on your account for a year or so, hence there’s no urgency to spend it all at once.

Of the two, my personal preference is the BirdsEye Select maps, mainly because I find the colour scheme more relaxing on the eye, especially when I’m going to be using the GPS all day. However, Freizeitkarte has three distinct advantages over BirdsEye Select :

  • It is totally free
  • It is available at the same level of detail (and usable in both BaseCamp and on the GPS) for around 28 different European countries. They also offer some bigger-area, less-detail versions too, but I went through the pain of downloading all 28 sets and installing them, and they seem to work well.
  • BirdsEye Select provides raster maps, not vector ones, so when you zoom in too much, it all goes fuzzy.

So having originally said I like the BirdsEye Select maps, I’m sort of moving back towards Freizeitkarte for use in BaseCamp, and, indeed, for non-UK use on the GPS.

Installing Freizeitkarte on the Garmin’s MicroSD Card

The process for this is quite straightforward, as follows :

  • Select the country (or countries) you want and download them – ensure you pick the “Install Image for MicroSD Card” versions, but if you want to use them in BaseCamp there are separate files for those. I’m not going to cover that here though.
  • The download copies down a ZIP file called <LND> – where <LND> is the name of the country concerned, e.g. GBR for Great Britain. On some of them the “en” part is a “de”, presumably meaning that the map is in German, not English. This applies to all the German-speaking countries (Germany, Switzerland and Austria). All the others came in English.
  • When you have the ZIP files, unzip them one by one. Each contains a single file called gmapsupp.img
  • If you are going to install more than one country on your device then you’ll need to rename these image files individually to gmapsupp_BEL.imp, gmapsupp_GBR.img, gmapsupp_DEU.img, and so on.
  • Once you have your gmapsupp.img files, connect your GPS to your PC and wait until it starts in “mass storage mode” – i.e. you can see the device and the MicroSD card in the list of “disks” in File Explorer.
  • Copy the gmapsupp.img files and paste them onto the MicroSD card device in the GARMIN folder.
  • Disconnect the GPS from the PC and switch it on.
  • That should be it.

Here’s a pretty picture of what Freizeitkarte image files look like in BaseCamp.

You can see the level of detail in the window on the right and can see how my “dashboard” looks with the Freizeitkarte and BirdsEye entries installed.

Installing BirdsEye Select on the Garmin’s MicroSD Card

I’m not going to go through the process of explaining how to set up a Garmin account, install BaseCamp or actually buy some BirdsEye credits because all of those are covered elsewhere.

The key question to answer is how to install the things on your MicroSD card rather than in the GPS devices’s onboard storage once you have it.

  • When you buy the map extracts and download them, they download into a semi-hidden folder structure that BaseCamp installs, but they will also appear on your dashboard window at the bottom left of BaseCamp when you have the “My Collection” item selected at the top left. You will have this selected, because the maps won’t download if you don’t.
  • Look at the picture below. You can see the list of my downloaded BirdsEye extracts on the bottom left and you can see my GPS at the top left – particularly notice the Montana unit, beneath which is “Memory Card (N:)”, beneath which is a “User Data” folder – this is where the BirdsEye maps need to go.
  • When you are downloading the map extract into BaseCamp you’ll see a tiny checkbox asking if you want to “Install onto the GPS when download finishes” – ensure this is not checked. It will copy the image onto the GPS’s onboard storage.
  • So when you have a screen looking something like the image below, you can simply drag-and-drop the relevant BirdsEye file (from the bottom left) onto the “User Data” folder – the image file copies over.

When you do this you will see a file with a “.JNX” ending installed onto the \GARMIN\BirdsEye folder of the MicroSD card (you can see it in File Explorer but not in BaseCamp). I make safety copies of the “.JNX” files somewhere on my PC’s hard drive too, just in case the MicroSD or GPS crashes at some point.

If you do accidentally install the BirdsEye maps into the GPS’s onboard storage then you can find the same “‘.JNX” file in the GPS device’s\Garmin\BirdsEye folder, so you can simply move it to the MicroSD card and delete from the onboard storage if you want to.

The map below shows an installed bit of the BirdsEye Select map (for Marsh Gibbon) overlayed onto the Freizeitkarte map for the UK. My GPS does the same. Somehow it knows to use the BirdsEye map if there is one, and the Freizeitkarte if there isn’t.

This final picture shows an overview of the UK with all of the areas I’ve downloaded from BirdsEye. The amount of entries and coverage shown here is about 2000 square kilometres. And yes, you can tell from this picture exactly where I’ve been caching since Christmas.

Custom Icons

Custom Icons

Since I got the Garmin Montana 650t at Christmas I’ve used it a few times for geocaching but one of the things I’ve been finding difficult is the icons it uses for displaying caches on the map. The main problems I found are that they seem to be a little small, and a little indistinct. The “Unknown” cache icon is particularly hard to see against a busy map background. So I thought I’d experiment a bit to see whether it’s possible to change the icons that it uses for each cache type.

The obvious first stopping off point was Google. In this instance, it proved to be a double-edged sword, as it often is. There are as many articles available that tell you it’s impossible as there are articles that show you how to do it. Many of the things I found were designed for users of the Garmin Oregon, an older and hence more mature product than my Montana. Some of the articles I found were in direct conflict with others. Also most of the articles I found were talking about custom icons that could also be shared with Garmin’s BaseCamp PC tool for displaying caches. I experimented a little bit with that but eventually concluded that BaseCamp sees geocaches as a different “kind” of waypoint to all other kinds, and therefore for some reason it doesn’t seem possible to simply add another icon for it to use. You are stuck with a closed wooden chest, or an open chest full of shiny gold coins, both of which appear on the screen at roughly the same size as Arkansas. Suffice to say my experiences of BaseCamp so far aren’t brilliant, and so I don’t think I’m going to be using it much.

Back at the plot, this blog post is for the benefit of anyone else who may be in the same situation, and who may want to attempt the same thing. It describes how I did it, and more importantly, some things that definitely caused me a problem. In fact, I won’t go into any detail on the basics of how to create image files or move them around or whatever. Just the key bits I did to customize the icons on my Montana 650t. There are multiple sources of technical information on such matters and, quite frankly, if you don’t already know how to move files between your PC and your GPSr in mass storage mode then I wouldn’t even vaguely attempt this.

And I make no guarantees this will also work on your GPSr, and I haven’t tried it out on any other device (because I haven’t got any others). But it does work on mine.

Enough of the waivers and general excuses. On with the clever bit.

To set a bit of background you should note the following points:

  • The Montana allows various aspects of “user” data, which includes all your caches and maps, and also custom icons.
  • Custom icons do not replace the default ones in the Garmin’s storage system – it has a hierarchy of folders that it checks through, and the custom folders are checked before the default ones. So you shouldn’t need to uninstall anything.
  • Most modern Garmins have internal flash memory (built into the device) and also use a MicroSD card installed somewhere in the battery recess. User data can go onto either of these.

Useful Resources:

  • I spent a lot of time reading this one – – the names of folders and so on are all correct. The process for allocating custom icons in BaseCamp seems correct. It is a little thin on explaining how to replace the icons for different cache types on the GPSr device but it contained enough information to get me most of the way through the course, as it were.
  • This article got me excited – – partly because the icons used look straightforward and clear (this is why the guy did it), and partly because it’s fairly clear. Plus you can download a ZIP file of his icons to use as a start point for your own, which is precisely what I did.

So what’s the process ? And “why doesn’t he just get on with it?” I hear you cry. Fair enough.

Making Some Icons

To start with you need a set of icons to replace on your GPSr. Here’s what to do.

  • Waypoint icons must be stored as BitMap (.bmp) files with a colour depth of RGB 8-bits per channel. I started with the ones from the article listed above.
  • I also nicked a couple from the Groundspeak site because I wanted my Earthcaches to look like Earthcaches and my finds to look like smilies – getting them from the Groundspeak site is not so easy – go into your list of finds, do a “View Source”, and then search the text for a particular cache type, and you should be able to see which tiny image it uses. Groundspeak renders them as low resolution .GIF files, so they need to be converted and re-saved in your image editor to RGB 8-bit per channel bitmap files.
  • They must be no larger than 32×32 pixels in size. In practice, 32 pixels is a big chunk of your screen. Mine are mainly 16×16 or smaller.
  • If you want them to be picked up by the GPSr unit as the icon for each specific cache type then they have to be named in a certain way. The file to be shown for puzzle caches MUST be called “Unknown Cache.bmp”, for instance. If the names for your custom icons are wrong then the GPSr will just use the default icon for that cache type.
  • For those of you in the UK who like to do a few YOSMs there is no default icon for a “Geocache|Benchmark” type cache – which is what the GPX file distributed by gives you. However, geocaches of indistinct type use an icon called “Geocache.bmp”- If you download all your caches from PQs or from GSAK then they will all be listed as one of the “known” cache types. So I fixed the problem by creating a picture of a benchmark (well, a mini-Stonehenge) and naming this “Geocache.bmp” – the YOSMs are the only items on the GPSr that are NOT one of the standard types, and hence the only waypoints that will pick up this icon. I don’t have icons for Lost & Found Event, Block Party or Groundspeak HQ either, but that’s not likely to cause me a problem any time soon.
  • Edit the icon files in your favourite picture editor.
  • If you want a part of the image to be transparent on the GPSr you colour the relevant pixel in pure magenta (RGB 255,0,255 or #FF00FF). The GPSr ignores this colour. So if you wanted all your icons to be in bright magenta you’re scuppered.

Installing the Icons

Once you have the icons ready you can install them on your device. You’ll be surprised how easy this actually is.

  • Connect your Garmin to your PC in mass storage mode (i.e. so the PC sees the GPSr just like any other drive/storage).
  • Create a folder called \Garmin\CustomSymbols on the Garmin’s internal memory – do NOT try to do this on your MicroSD card. When I did it on mine the GPS would not start up nor connect to the PC. I had to physically remove the MicroSD card from the GPSr and then insert into the PC and manually delete the icon files again.
  • Copy your icon .bmp files into this folder.
  • Disconnect the GPSr from the PC and switch it on.
  • That should be it !

And here’s a few pretty pictures showing how it looks.

On the Aynho picture notice the maps also are showing the OS 1:25,000 scale you get if you invest in some of the BirdsEye Select maps from Garmin, rather than the TalkyToaster maps I’m using for the rest of the UK.

On the Silverstone picture you can see an example of the Benchmark icon for the YOSM there.

You should also notice tiny icons for “subsidiary” waypoints like parking, question to answer, reference points, stages of a multi, and trailhead.

And for these two you can see a good selection of icons on the Steeple Claydon picture, and an example of the Earthcache on the Earls Barton picture.

The file names for each icon need to be (no prizes for guessing which is used for what…):

  • Cache In Trash Out Event.bmp
  • Earthcache.bmp
  • Event Cache.bmp
  • Final Location.bmp
  • Geocache Found.bmp
  • Geocache.bmp
  • Letterbox Hybrid.bmp
  • Mega-Event Cache.bmp
  • Multi-cache.bmp
  • Parking Area.bmp
  • Project APE Cache.bmp
  • Question to Answer.bmp
  • Reference Point.bmp
  • Stages of a Multicache.bmp
  • Traditional Cache.bmp
  • Trailhead.bmp
  • Unknown Cache.bmp
  • Virtual Cache.bmp
  • Webcam Cache.bmp
  • Wherigo Cache.bmp