{"id":17458536,"url":"https://github.com/kevinl95/keychainskimmerscanner","last_synced_at":"2025-07-04T12:02:44.190Z","repository":{"id":258088090,"uuid":"871810293","full_name":"kevinl95/KeychainSkimmerScanner","owner":"kevinl95","description":"A compact keychain device powered by M5CoreInk that detects and alerts you to potential credit card skimmers at payment terminals.","archived":false,"fork":false,"pushed_at":"2024-10-16T02:46:49.000Z","size":5163,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-17T16:14:29.926Z","etag":null,"topics":["bluetooth","card","credit","eink","esp32","m5stack","m5stack-core","skimmer"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kevinl95.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-13T02:11:52.000Z","updated_at":"2024-10-16T06:39:38.000Z","dependencies_parsed_at":"2024-10-17T16:14:34.192Z","dependency_job_id":"b4c16293-2fbd-4d62-ac94-97aa90202a5e","html_url":"https://github.com/kevinl95/KeychainSkimmerScanner","commit_stats":null,"previous_names":["kevinl95/keychainskimmerscanner"],"tags_count":0,"template":false,"template_full_name":"wkaisertexas/arduino-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kevinl95%2FKeychainSkimmerScanner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kevinl95%2FKeychainSkimmerScanner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kevinl95%2FKeychainSkimmerScanner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kevinl95%2FKeychainSkimmerScanner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kevinl95","download_url":"https://codeload.github.com/kevinl95/KeychainSkimmerScanner/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249747772,"owners_count":21319774,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bluetooth","card","credit","eink","esp32","m5stack","m5stack-core","skimmer"],"created_at":"2024-10-18T04:05:48.393Z","updated_at":"2025-04-19T17:24:05.068Z","avatar_url":"https://github.com/kevinl95.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# M5Stack ESP32 CoreInk Credit Card Skimmer Detecting Keychain\n\n![A keychain with an e-ink display that says \"Zero skimmers found\" being dangled in front of a gas pump](images/device.JPG)\n\nSkimming devices, which steal card information from ATMs, gas pumps, and other payment terminals, have become more sophisticated and harder to detect. They work by sitting between your card and the payment equipment, stealing your payment information and storing it for a criminal to retrieve later. Even in 2024, when I am writing this guide, they remain a problem despite having been reported on for years. With a portable, easy-to-use skimmer detector at your fingertips, you can quickly scan for suspicious devices before making a transaction, preventing potential fraud. In this guide we will build an ESP32 Bluetooth scanner that allows for regular use, offering peace of mind and saving you from the hassle of dealing with identity theft or unauthorized charges. Protecting your financial security has never been easier or more accessible!\n\nWhy the ESP32, and why a keychain? You may recall years ago that [SparkFun launched an app for your smart phone that scanned for credit card skimmers](https://learn.sparkfun.com/tutorials/gas-pump-skimmers/all). This clever app used the Bluetooth chipset in your phone to look for signatures of credit card skimmers that law enforcement had given them access to. However:\n\n-Bluetooth skimmers communicate over Bluetooth Classic, not Bluetooth Low Energy. This means this app and ones like it never worked for iPhones!\n\n-The original SparkFun app is no longer available\n\n-The ESP32 chipset is low-power, comes in a variety of development kits with cool peripherals, and can communicate with Bluetooth Classic devices\n\nThis means we can easily develop a companion for your smart phone, regardless of if you run Android or iOS, that can sit on your keychain ready for you to use at the gas pump, ATM, or other places you swipe your cards!\n\nOne of these ESP32 development kits is the [M5Stack Core Ink development kit](https://shop.m5stack.com/products/m5stack-esp32-core-ink-development-kit1-54-elnk-display). It has buttons, a rechargeable battery, and a slick e-ink display. This is a tiny version of the kinds of displays you've seen used for eReaders, like Amazon's Kindle. These displays are low-power, making them great for keychains and other electronics that you don't want to recharge frequently.\n\n# Building\n\nYou will need the [Arduino IDE](https://www.arduino.cc/en/software).\n\nBefore opening `KeychainSkimmerScanner.ino` from this repository, you will need to add some board management URLs so that we can download dependencies for this project. To do this:\n\nStep 1: Open the Arduino IDE\n\nLaunch the Arduino IDE on your computer.\n\nStep 2: Open the Preferences Window\n\nIn the top menu, click on \"File\" (on Windows/Linux) or \"Arduino\" (on macOS). Select \"Preferences\" from the dropdown.\n\nStep 3: Add the URL in the Preferences Window\n\nIn the Preferences window, look for the field labeled \"Additional Boards Manager URLs\". This is where you will add the URL.\n\nStep 4: Enter the URLs\n\nEnter these URLs and separate them with commas.\n\n```\nhttps://dl.espressif.com/dl/package_esp32_index.json, https://static-cdn.m5stack.com/resource/arduino/package_m5stack_index.json\n```\n\nStep 5: Click OK\n\nAfter entering the URLs, click OK to save the changes and close the Preferences window.\n\nStep 6: Open the Boards Manager\n\nFrom the top menu, click \"Tools\".\n    Navigate to \"Board\" and select \"Boards Manager...\" from the dropdown.\n\nStep 7: Search for M5Stack\n\nIn the Boards Manager window, use the search bar to find the board package for M5Stack.\n\nStep 8: Install the Package\n\nOnce you've found the package click Install.\nThe Arduino IDE will download and install the necessary libraries and tools automatically.\n\nStep 9: Install the M5Core-Ink library\n\nFrom the top menu, click \"Tools\".\n    Navigate to \"Manage Libraries\" and click it.\n    A pane will open on the left. Search for \"m5core-ink\". Install version 1.0.0 by clicking the \"Install\" button.\n\nStep 10: Select the Installed Board\n\nAfter installation, you can select the newly installed board by navigating to Tools \u003e Board and choosing the M5CoreInk\n\n\nNow that we have our IDE set up, open KeychainSkimmerScanner.ino. Connect your M5CoreInk development kit using the included USB cable. Select the correct serial port from the Ports menu in the Arduino IDE under Tools \u003e Port. If you are unsure what port to use, check the device manager for your operating system to see where the board connected. Click `Upload' in the upper left. The code will build and the code will automatically be uploaded to the development kit. When finished, your new keychain will emit a tone!\n\nThere is a wheel on the right side of the develoment kit. Move it up or down. Scanning will begin automatically. The device will report how many suspicious devices it detected, as well as how many Bluetooth devices it saw in total.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkevinl95%2Fkeychainskimmerscanner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkevinl95%2Fkeychainskimmerscanner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkevinl95%2Fkeychainskimmerscanner/lists"}