In the first post of this series, I started describing the process of creating and uploading a custom waypoint icon to a Garmin mapping GPS unit; little of what follows will make sense unless you read that first. Today, the thrilling semi-conclusion!
Here’s the icon I downloaded from my Garmin (magnified four times from its original 16 x 16 pixel dimensions):

If I right-click on the original graphic file, choose Properties and then the Summary tab:
![]()
It shows that the original image has the properties I listed yesterday that the graphic needs in order to be uploaded back into the Garmin:

Photoshop has taken it upon itself to spontaneously change the dpi from 96 to 71; thanks, Photoshop! If I try to upload this new image to the Garmin with xImage, I get:

Even if I try to create a new 16×16 image in indexed mode with a dpi of 96, Photoshop insists on making it 95.99 dpi, which xImage also rejects. Newer versions of Photoshop may well have fixed this issue, but if you’re having problems getting xImage to accept the graphic file, the wrong dpi is a good candidate for the problem. Addendum: Turns out that DPI isn’t as critical as I thought; see the comments for more details. Also make sure that you save the BMP file without RLE compression enabled. But if you’re still having problems with getting xImage to accept the BMP file, the suggestions below will help, regardless of what’s causing the problem.
If your graphic program can’t create a BMP in the right format, there are some free options:
- Microsoft Paint: Comes free with Microsoft Windows. On the plus side, this venerable program can open and save BMP files in 256-color format, without changing the dpi. On the minus side, the editing interface stinks.
- Paint.Net: This free alternative to Paint (which is actually closer to Photoshop in its features) makes editing easy, and you can easily check for and change the dpi to 96 exactly using the Image => Resize command. The downside is that you can only save the BMP file in 24-bit format - it doesn’t support saving in 256-color 8-bit BMP. Solution: Edit the graphic file in Paint.Net, save it as a 24-bit BMP, then open it in Microsoft Paint and save it in 256-color BMP format. If you’re having problems with another graphics editor like Photoshop, you could also edit the file in that program, use Paint.Net to set it to 96 dpi, then use MS Paint to save it in 256-color BMP format.
Some suggestions for the icon editing process:
- Fill the entire icon graphic with purple (255 Red, 0 Green, 255 Blue) to begin with. This is the transparent color for the icon, and won’t show up on-screen in the GPS, so it’s the equivalent of a blank slate.
- Use the pencil mode to create the graphic; the brush mode blends adjacent pixels, creating effects that won’t show up when the color depth goes from 24-bit to 8-bit.
- Keep in mind that when you go from 16.7 million colors to 255 colors, subtle shading differences will be lost. So using colors that are substantially different from each other in hue, saturation and luminosity will probably get you the best results for the icon when it’s uploaded into the GPS unit.
- Some GPS units change their color scheme from day to night, to make on-screen graphics easier to read. Choose colors that will be visible in both the day and night color schemes. You can also change those schemes on your GPS as well.
- You can actually dispense with the whole process of first downloading a waypoint icon from your Garmin unit (described in the previous post). In Paint.Net, just create a new graphic image with the File => New command, making it 16 pixels by 16 pixels in size, with dpi set to 96. When you’re done editing it, just save it with the appropriate name for the uploaded icon (e.g. “Waypoint Symbol 000.bmp”, “Waypoint Symbol 001.bmp”, “Waypoint Symbol 002.bmp … “Waypoint Symbol 023.bmp”). Convert it to a 256-color BMP with MS Paint, and it’s ready for uploading.
So, after all that, here’s my new waypoint icon, named “Waypoint Symbol 000.bmp” (same as the original), magnified 4x:

Since purple is the transparent color, only the green should show up on-screen as the waypoint icon. Now fire up xImage, and choose the option to “Send images to the GPS”. Select the waypoint name that corresponds to the name of the BMP graphic file (Waypoint Symbol 000), then select the folder that contains the new graphic; xImage will automatically look for a graphic file with the correct name. If it likes the name and format of the graphic file, it will be uploaded to the GPS unit, and you’re done. If you have multiple new custom waypoint icons, you can do them all at once at this stage. Now, in the screen where you choose from Custom waypoint icons, the new graphic will appear (in position 000):
![]()
And if now create a new waypoint in my GPS, and select this graphic for the waypoint, it will show up in the map display:
![]()
The “I” above the waypoint icon is the name I gave to the waypoint.
If you upload waypoints with these custom graphics to Garmin’s MapSource program, they won’t display in that program with the new waypoint icon graphic, but rather as plain dots. But there’s a way you can also add these custom waypoint graphics to MapSource as well, so that they will show up when you upload waypoints associated with custom waypoint icons; that’s coming up in Part III.
PS If you have a recent Garmin color mapping unit, and it doesn’t seem to support Custom icons, check to make sure you have the most recent firmware installed on your unit. Some older Garmins (like the 60C and 76C) didn’t support custom waypoint icons with their original firmware, but it was added as an option with one of the firmware updates.
Actual screenshot |
See Real USGS Topo Maps, Aerial Photos And Scanned Maps On Your Garmin GPS WithMoagu:
|
Actual screenshot |
Other posts in the Garmin GPS series
- Garmin microSD Card Tricks
- Exporting Data From Garmin’s MapSource Program To Google Earth
- Free Garmin GPS Unit Auto-Routing With MetroGuide Maps + Free European Basemap
- Cheap Worldwide Road And Contour Maps For Garmin GPS Units
- Converting A Garmin USB GPS Connection To Multiple Serial NMEA Connections
- Converting OpenStreetMap Data Into GPX Or Garmin .img Format
- Adding Garmin .img Map Files To MapSource
- Sources For Free Garmin .img GPS Map Files
- Beta Version Of DNRGarmin
- Google Maps Search Interface For Garmin .img Maps
- High-Res Garmin Topo Maps For CO, WY, and UT (also Argentina, Uruguay and Chile)
- Creating Custom Waypoint Icons For Garmin GPS Units I
- Creating Custom Waypoint Icons For Garmin GPS Units II
- Creating Custom Waypoint Icons For Garmin GPS Units III - Custom Waypoint Icons In MapSource
- Garmin Handheld GPS Units That Support Custom Waypoints
- Garmin MapSource For Free
- Garmin GPS Unit Waypoint Icons Table
- A Look At OpenStreetMap’s TIGER Data Exported To A Garmin GPS
- Beating The Garmin 2025-Map Limit With US Topo Maps
- High-Res Garmin Topo Maps Now Out For Utah
- Introduction To Garmin GPS Custom POI (Points Of Interest) Data
- Garmin Topo Maps For Montana And California
- Creating A Garmin Custom POI Datafile
- Managing Custom POI Data On A Garmin Handheld GPS
- Creating Custom Icons For Garmin Points Of Interest (POI)
- Creating A Garmin GPS Points Of Interest (POI) File From A Point Shapefile
- Entering Multiple Datasets For A Single Set Of Garmin Custom POIs
- AZ Garmin Topo Maps And More From The GPS File Depot
- Updates For Two Garmin-Related Programs
- Put USGS Topographic Maps, Aerial Imagery, And Other Raster Imagery On Your Garmin Handheld GPS
- New Garmin Map Links At The GPS File Depot
- Sets Of Custom Garmin Waypoint Icons
- Converting Raster Maps To Garmin Vector Format With BMap2MP
- Updates At The GPS File Depot


Actual screenshot
Actual screenshot
I’ve recently been trying to create a custom icon with Paint Shop Pro X.
I have found that it doesn’t matter what the dpi is set to. I’ve even set it to zero and xImage accepts it as long as everything else is OK.
The critical thing I found was that the file must not be compressed. If it is set to RLE in PSP X, xImage won’t accept it.
So, the icon must be a 16×16 (or 24×24?), 256 colour, uncompressed Windows bitmap.
16 x 16 is the only size that works for waypoints uploaded to the GPS; 24 x 24 is only acceptable for icons used by Mapsource.
It’s interesting that you got it to work with Paint Shop Pro. I tried it again with Photoshop Elements 2.0, and it still had a problem. But if I opened a waypoint BMP file that had been uploaded successfully before, then saved it in PSE, it did upload successfully to my Garmin, even though the DPI had changed. RLE wasn’t enabled in either case. So you’re right, the DPI isn’t critical, but some other unknown parameter does make a difference. What that is, I have no idea.