Halloween Bowl/Bag GPS Tracker




I got the idea for this project after reading articles about children got lost on Halloween eve when trick and treating. So i came to the idea to built an GPS tracker that is portable and small enough to put it in a child's candy bowl/bag. I used GadgetKeeper Internet Of Things Cloud Platform to send GPS data via GPRS mobile internet module. GadgetKeeper is free and has also support for mapping GPS data in Google Maps.

Step 1: Parts

1x Arduino Nano

1x SIMCom Sim800L GSM Module

1x UBlox NEO 6M GPS Module

1x 400 pin Breadboard

1x 5000 mAh LiPo battery


Step 2: Prepare the Hardware

Arduino Nano Wiring

PIN name | Connection

D2 | SIM800 TXD pin

D3 | SIM800 RXD pin

D11 | GPS Module TX pin

D12 | GPS Module RX pin

3V3 | GPS Module VCC pin

GND | GND line on breadboard

5V | SIM800 VCC pin

SIM800L Wiring

PIN name | Connection

GND | GND line on breadboard and soldered battery (-) pin

RXD | Arduino Nano D3

TXD | Arduino Nano D2

VCC | Arduino Nano 5V pin and soldered battery (+) pin

GPS Module Wiring

PIN name | Connection

GND | GND line on breadboard

VCC | Arduino Nano 3V3

RX | Arduino Nano D12

TX | Arduino Nano D11

Battery Wiring

I soldered the + battery pin directly to SIM800L VCC pin and also the - battery pin to SIM800L GND pin.

Step 3: Add Required Additional Arduino Libraries

I have used Arduino 1.5.6-r2 version as the IDE.You can download it from this url.

I used the ITEADLIB_Arduino_SIMCom library on which I made some changes for GadgetKeeper Cloud Platform. The changed and working library can be found my git page in lib folder.

All other required libraries are available as standard libraries with the IDE.

Step 4: Configure GadgetKeeper

Create "GPS" thing

  1. In the "Things" tab, open "Create Thing" dialog
  2. Set the name as "GPS", and choose the icon
  3. Save thing by clicking "Save"

Step 5: Configure GadgetKeeper

Create "locationChanged" even

  1. In the "Thing: GPS" tab, open "Events"
  2. Click "New" to open "Create Event" dialog
  3. Set name to "locationChanged"
  4. Set data type to "Location" by:
    1. clicking the [...] button on the right of "Data Type" input
    2. Click "more types in the drop-down menu to open the "Select Type" dialog
    3. Start typing "location" in the search field to locate the data type
    4. In the "Matching items" list, select the "Location" data type
    5. Click "Select" to enter this structured data type in the "Data Type" field
  5. Save new event by clicking "Save"

Step 6: Configure GadgetKeeper

Fire "locationChanged" event using UI

  1. In the "Events" section of the "Thing: GPS" tab, select "locationChanged"
  2. Click "Push Event" to open dialog
  3. Insert the following JSON formatted data structure in the text area


"value": {

"lng": 0.2518468908591578,

"lat": 0.24998551609595354

}, "

at": "2015-10-27T16:03:40.467+0000"



4. Click "Push" to activate the event

Step 7: Configure GadgetKeeper

Create "GPS" dashboard

  1. Open "Dashboards" in main menu to show list of dashboards
  2. In the dashboards list, click "+" to show "Create Dashboard" dialog
  3. Set the name to "Temperature"
  4. Click "Save" to save new dashboard

Step 8: Configure GadgetKeeper

Create "GPS position" widget

  1. In the "Dashboard: GPS" tab, click "Add Widget" to open drop-down menu
  2. Click "Map Position" in this menu to open the "Settings" dialog
  3. Set "Title" to "GPS position"
  4. Set "Thing" to "GPS"
  5. Set "Location source" to "Event"
  6. Set "Event" to "locationChanged"
  7. Set "Map Zoom" to "18"
  8. Set "Refresh rate" to "10"
  9. Click "Save" to save the new widget for displaying GPS position on a map

Step 9: Arduino Sketch

This is the arduino sketch for this project can be found on my github page:


Information about uploading Arduino Sketch can be found here.

Step 10: Example

Here is an example of the dashboard how it looks like after everything is successfully set up.

The google map's picture can be more zoomed in, but because of privacy reasons i left in so as it is.



    • Warm and Fuzzy Contest

      Warm and Fuzzy Contest
    • Paper Contest

      Paper Contest
    • Organization Contest

      Organization Contest

    14 Discussions


    8 months ago

    Please can Anyone assist me, I have done this Tutorial STEP by Step, still, when I upload and run Arduino code, the server replies with HTTP 401 error, authentication required.

    I have inserted API key ect as per instructable?

    Please help

    Kind regards Charles


    1 year ago

    This is not working. It gives same lat, lon multiple times while moving.


    1 year ago

    I would love to try this. What is the voltage of Li-poly batteries you used in here? Also power consumption rate or operating hours with above battery?


    2 years ago

    Hello sir , I have change my gadgetkeeper credientials , actually its doesn't work at all . that i cant see live map tracking on the gadgetkeeper. can u help me ? i can see my serial monitor coordinate but cant view in live map . email me if you can help me sir . hazimhmd57@gmail.com


    2 years ago

    So it has a real time location updates right


    2 years ago

    Hi friends....i want to build an GPS tracker that fits in watch and also it should send an location information to the owner...plz give me solution and requirements to build above device


    2 years ago

    Hi, sorry you could help me get it started and did his post but I have no display on the map


    2 years ago

    For sure you are a doting Dad!

    Hats off ..


    Reply 3 years ago

    I made all the coding, and uploaded the code to github, see last step. The only thing you need to change are GadgetKeeper Id's. Also instructions for installing arduino and loading libraries are on first steps.


    Reply 3 years ago

    I uploaded my code to github https://github.com/Shibonja/sim800L_GPS, you can download it and upload to your arduino. You need only to change GadgetKeeper credentials.


    3 years ago

    Good idea if you leave a bucket of candy on your porch for Halloween you can find out who steals the bucket


    3 years ago

    Nice tutorial! It's really a shame what's happening with these children isn't it?

    1 reply

    Reply 3 years ago

    Yes, you are right momoluv, the security of our future was the inspiration for this project.