Introduction: Anti Wallet Lost

About: Andrei O. (andrei0x309) Web Developer Open Source Enthusiast/Coder and Arduino Enthusiast

Description:

This is the first version of a simple project I made, it consists of two devices one stays in your wallet, the other stays at you in your jacket/pants etc.

This is the first version of this project and I intend to make another on improved later this year. When I will do that, I will update this page to specify the change.

What you will need:

  • 1x FTDI FT232RL USB to Serial IC Basic Breakout Board For Arduino 3.3V
  • 2x Arduino Pro Mini atmega328 Board 3.3V 8M Compatible Nano (China Clone)
  • 1x 433Mhz Superheterodyne RF Receiver Transmitter Module Kit With 2 Antennas 1 Set (has two PCBs)
  • 1x 3V/3.3V AC Integrated Electromagnetic Passive Buzzer 80dB 2700Hz (extremely small size)
  • 6x 1.5 AAA Batteries

The working concept:

The idea is that 1 board sends continuously( about ~4120 milliseconds) a bit as the signal, this board is kept in the wallet and can easily fit the place designed for coins in your wallet. The other board listens for the signal if the signal doesn't arrive in ~10 seconds the board will start the buzzer and it will, BIP until it receives again the signal. Also, the onboard led for both boards will flash 6 times in an interval of 100 milliseconds( is not perceivable by the naked eye it will look like it only flashed once) when information is received or sent.

The only way you can control the working range distance is by using different antennas, without any antenna the working distance is about 1 meters(which is way too short, from my experience 3 to 7 meters is the best), with the stock antennas included in the pack the distance varies, in open space with no interference it can work at about 13 meters(which is good because you don't want a very large distance), indoors with lot of interference the range is about 3 to 7 meters.

Be sure to look at the end of the project I will mention what I will improve in the next update.

Step 1: Stock Pictures of the Parts I Bought

Step 2: Code for Your Boards

In order to compile the code, you need the VirtualWire library from http://www.airspayce.com/mikem/arduino/VirtualWire . Also, all the things needed are in a public git repo.

This repo will include:

  • the stock pictures
  • the breadboard schematic made in Fritzing
  • the library needed for compile
  • the Arduino code for the 2 boards
  • the custom parts I made in Fritzing
  • and the project pictures

Link to the repo(personal GitLab server): link

Mirror on GitHub: link

Here is the code for the Arduino boards(available in repo too, use Arduino IDE and the FTDI FT232RL to upload your code to the boards):

  • Receiver
// Receiver

#include "VirtualWire.h"
unsigned long time;
unsigned long last_ok;
const int buzzerPin = 3;

void setup()
{
  vw_set_ptt_inverted(true); // Required for DR3100
  vw_set_rx_pin(8);
  vw_setup(200); // Bits per sec
  pinMode(13, OUTPUT);
  last_ok = millis();
  vw_rx_start(); // Start the receiver PLL running
}
void loop()
{
  time = millis();
  uint8_t buf[VW_MAX_MESSAGE_LEN];
  uint8_t buflen = VW_MAX_MESSAGE_LEN;
  
  if (vw_get_message(buf, &buflen)) // Non-blocking
  {
    last_ok = time;
    for (int i=0; i <= 6; i++){
          digitalWrite(13,i%2);
          delay(20);
       }
  }
  
  if((last_ok + 10000) <  time){
    tone( buzzerPin, 2000, 500);
    delay(1000);
  }
}
  • Transmitter
// Transmitter
#include "VirtualWire.h"
int var = 0;
void setup() {
  pinMode(13,OUTPUT);
  vw_set_ptt_inverted(true); //
  vw_set_tx_pin(8);
  vw_setup(200);// speed of data transfer Kbps
}
void loop(){
  var=~var;
  vw_send((uint8_t *)String(var).c_str(), String(var).length());
  vw_wait_tx(); // Wait until the whole message is gone
  
  for (int i=0; i <= 6; i++){
        digitalWrite(13,i%2);
        delay(20);
     }
  digitalWrite(13,0);
  delay(4000);
}

Step 3: Sketch

Above is the sketch for the wiring.

Step 4: Conclusion, Pictures and Last Thoughts

The first picture indicates the head of the speaker which is out from an arm pocket on a jacket. The other two are the parts wrapped and soldered accordingly.

The main problem I encountered with this mini project is that if you are using 3 batteries for each device your power will last only about 3 days(~70 hours). Also, I don't know the capacity of the batteries I used because it wasn't specified.

I planed the next improvements:

  1. change the 3 batteries per device with 2 L-ion 3.7V batteries
  2. make the devices rechargeable trough micro USB port
  3. place a power switch on devices to conserve energy