Jump to content

GPS logger for a local Beagle club

Recommended Posts

I know I haven't finished off my desk clock project just yet, But I've been requested to design a new GPS logging device for my sisters Beagle Club,


The basic idea is that a sent is placed with a guy that forms a path, the GPS logger is taken along also.

They then attach the device to a beagle (using some kind of vest, I think). And let them follow the scent. 


Post event they extract the GPS data from the logger and overlay both tracks in google earth.




They have one unit that has been working well for them, developed by a previous club member.

It consists of off the shelf components from Sparkfun. With a total BOM just over $150

All of these are connected together and fit into an off the shelf jiffy box.




They would like 5 more made, which would perform identical/similar function


Design goals:

  • Lower cost (< $50AUD per unit, making 5 units)
  • Externally operates identically to the old version
    • USB MSC
    • Logs start when unit powered on via toggle switch
    • new log created when button pressed
    • All additional tools stored on SD card (GPS utilities, past logs)
  • Long battery life, unit should operate for > 10Hours
  • Physically the same size or smaller
  • (if time allows, a simple PC tool to to reset the device into DFU mode, and update the firmware)

I'm planning to source a more slimline case. once I have that I will begin PCB design.



I have drawn some quick System level schematics


The hardware is pretty straight forward



Same with the software, I have already played with the MSP430 USB MSC examples, and am familiar with FATFS. I should be able to glue in some UART code to get it all to work.

The device will operate under two modes depending on if it's connected to USB or not.




Hopefully someone will find this mildly interesting as I work through it.

Link to post
Share on other sites
  • Replies 53
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Ran the enclosures through my Mill, made a little jig to aid in positioning.   There are a few issues left to sort out. PCB is not retained downward in the enclosure, when removing USB the PCB

Polyurethane parts have come up nicely.     Main advantages of this method of rapid prototyping Part cost is low these use about $0.05 of polyurethane resin. Parts can easily be coloured using

This project was put on hold over the holidays. It's always a busy time, plus the club doesn't hold meets over summer. But I have just completed another 10 units. More of the same, but thought yo

Posted Images

I intend to finish this project in a usable state. So I've got to pick an enclosure right off the bat. There are a few options, all with their pros and cons.


Option 1

OKW minitec series. (https://www.okw.com.au/en/Plastic-enclosures/Minitec.htm)



3d Mockups





  • Slimline
  • Simple 2 part design
  • Nice looking


  • Expensive (>$10)
  • Curved design makes cutouts difficult.

Verdict, Probably Too difficult to machine the cutouts myself, would add significant cost.


Option 1a

Minitec Teardrop series






  • Has a flat surface, should be easy to mill cutouts
  • Slimline


  • Expensive (>$10)
  • Battery is a tight fit


Option 2

Hammond 1593K (http://www.hammondmfg.com/1593ptbl.htm)


3d Mockups





  • Cheap (<$5)
  • Flat removable ends make cutouts very easy!
  • Still slightly Smaller than original design (~10% less volume)


  • Still looks like a boring project box
  • Very square
  • lots of free space within the enclosure

Verdict, A good contender. Probably my first choice for easy of use


Option 2a

Hammond 1551 Series





  • Compact
  • Cheap (<$5)
  • Thin (15 or 20mm only)


  • Too thin?
  • No removable panels for cutouts

Verdict, The rendering shows the 1551H (60 x 35 x 20)[mm] This may be alittle small, The largest size in this series is the 1551K Which is (80 x 40 x 20)[mm]  Which sounds bigger, but is still less 2d area than a credit card.


They also have flanged versions available




Currently I'm swaying between Option 2 and 2a. Given that option 2 is is still a smaller case than their current design I think this will be the way to go. There is also enough room inside to accommodate for a larger battery if required.

Link to post
Share on other sites

@@zeke Microsoft Visio, it's part of Micorosoft Office (But you can buy it individually). I've actually never used it before, but I got given a license from my university. Figured I'd try it out.


It's more user friendly than the online based diagram tools I've used in the past.



Link to post
Share on other sites

An interesting project. I must admit I assumed from the title that you'd be using a Beaglebone.


Why would the curved surface cause such a problem with milling? The USB cutout is parallel to a flat surface so should be OK to cut. Just ignore the curve. The edge of the connector would protrude a bit though. How would you be doing it?

Link to post
Share on other sites

@Fred, this is What I was thinking.



This cutout could extend downwards but then the part would need to be mounted on the curved side. and you would be cutting out a very unsupported thin wall. I doubt this is achievable on my small mill.


The cutout could extend upwards, so the part can be mounted flat against the mill's table. I think this is what you're suggesting like so



Which is a good compromise. I need to source the toggle switch and pushbutton, and see if those can be incorporated in similar ways.



Good point about the project name, I actually didn't realize that at the time. @bluehash, feel free to change the topic name if you want to remove the confusion.

Link to post
Share on other sites

I was thinking of the first one. Maybe fix the case to a square wooden block and clamp that to the table so the case is held securely in an upright position. Obviously this friends on your mill - particularly the Z height. The second option doesn't look too bad either.


Of course there is the old school way of doing it by hand with a file. If you're only making 5 that might be worth considering. A shame not to make full use of your toys though!

Link to post
Share on other sites

Did you consider just using an old (or new prepaid) cell phone?

At least in the US one can get no contract prepaid android cell phones for 5 to 15 USD.  (on sale, but they are on sale routinely)

Gives you battery, GPS, flash storage, some have uSD.

Don't know if you could find one as small as your previous unit (I didn't see dimensions listed).


Of course programming it would be a pain (unless you could use one of the existing hike logging apps).

Weatherproofing might also be an issue, as might weight.


(Might also give you other things to play with if you wanted - like compass, accelerometer, WIFI)


Just a thought.

Link to post
Share on other sites

I was thinking of the first one. Maybe fix the case to a square wooden block and clamp that to the table so the case is held securely in an upright position. Obviously this friends on your mill - particularly the Z height. The second option doesn't look too bad either.


Of course there is the old school way of doing it by hand with a file. If you're only making 5 that might be worth considering. A shame not to make full use of your toys though!

Z height should be OK, only have 50mm of travel. But that can be offset, by manual moving the spindle in it's holder. It's just one of these elcheapo Chinese CNC mills. (with a spindle upgrade)


Did you consider just using an old (or new prepaid) cell phone?

Just a thought.

I honestly, didn't consider it.


Atleast here in Australia, cheap phones generally lack GPS. You need to get into the $50+ range to get that feature. Of course there are specials sometimes.


I think the biggest thing would be altering their workflow. A phone (especially cheap ones) might take a minute or two just to boot. Then they'd have to open the app. and I'm sure it's possible, but I've had limited experience programming on android, not sure how well things run when the screen is off.


Of course it might actually be a viable solution, but I'm a micro controller guy. Stick to what you know right? :P

Link to post
Share on other sites

This project now has a github page. (barely)


Got TI's example firmware to a surprisingly functional state.


The GPS implementation is very basic, serial data comes in via Interrupt. data is stored in a buffer, if buffer is full buffer switches to second buffer, notifies main loop.

main loop upon getting notification write buffer into file on SD card.


I'm using TI's MSC example. which already has USB event functions that are used to start/stop this File writing when USB is connected/disconnected.




Still alot to do, would like a basic text_file config system. (logging frequency). Currently logging does not start unless you connect it to PC then disconnect. Obviously this isn't ideal.

I'm currently logging onto a 4Gb card, since that's all I had lying around. Since I've updated the FatFS library it seems to all be okay.


Write/read speeds are laughable, 100kb/s and 280kb/s respectively. mostly due to the FullSpeed 12MB/s usb link.

Link to post
Share on other sites

Some more parts arrived this week.




These are 650mAh round lipo cells. Bought from my local hobbyking, Super cheap, super high energy density. Because these are RC lipos, they lack any under voltage/overcurrent protection. Searching digikey for lipo protection didn't turn up anything particular cost effective, so I've got some generic protection PCBs these were about $0.30 each.



I will either transplant the components onto my own PCB, or use them between the battery any my device as is.


Finally the GPS units.



These are similar, if not the same, as the units used on the GPS launchpad. (Y)

Based around the MT3339 GPS chipset.



With a 650mAh I'm aiming for a power budget of about 60mA to reach my 10Hour battery life. With the MSP + GPS+ SD I think this is reasonable. From my bench tests the GPS does stick to it's 30mA while locking, and 20-25mA while tracking. the SD card is Around 10mA during writes. MSP430 is about 1-5mA. it's asleep most of the time.



Thinking about mounting options for everything. and how cutouts will work easiest for me. Mocked up some buttons on the top. These require seperate custom parts for the buttons and the holder part... but do look nice. I think I could probably 3d print them with little effort.


^^ This is a gif, click to see it animated ^^

Link to post
Share on other sites

Did some more work today.


Wanted to check out the size of the buttons, so I printed half a profile to get a feel for button placement, I feel like I had designed these a bit too small.



Took a closer look at the battery protection circuitry. unsoldered one and sanded it down to get good images of the copper. then worked the images in photoshop.




These have been added to the schematic/pcb so I don't have to have the board soldered inline.

Schematic has been done.



PCB is routed too, and here it is in it's natural environment.




(Kicad 3d export is still kind of dodgy, components changing colour etc :/ )


Surprising how complicated a design can become, from such a simple idea.

Off to the fab tomorrow.

Link to post
Share on other sites
  • 3 weeks later...

Components and PCBs have arrived.


Ofcourse I needed to assembled one to check it was all working.



A few bodge wires to allow it to operate without the battery for now.



Cutout fits the battery nicely



It does all seem to work, I now need to work on the code to support the new LEDs and button, and to add a low power mode so I can connect the battery without the fear of it discharging completely.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...