|
|
2 years ago | |
|---|---|---|
| assets | 2 years ago | |
| icons | 2 years ago | |
| scenes | 2 years ago | |
| README.md | 2 years ago | |
| application.fam | 2 years ago | |
| uhf_app.c | 2 years ago | |
| uhf_app.h | 2 years ago | |
| uhf_app_i.h | 2 years ago | |
| uhf_cmd.c | 2 years ago | |
| uhf_cmd.h | 2 years ago | |
| uhf_data.c | 2 years ago | |
| uhf_data.h | 2 years ago | |
| uhf_data_i.h | 2 years ago | |
| uhf_worker.c | 2 years ago | |
| uhf_worker.h | 2 years ago |
This repository contains a UHF RFID application developed for FlipperZero, a versatile multi-tool device. The app leverages the YRM100 module to enable UHF RFID functionality.
To run this application on FlipperZero, you will need:

applications_user folder of your flipper firmware of your choiceCtrl+Shift+B on vscode while in the uhf_app folderLaunch App on Flipper option. And watch as the app launches on your flipper./fbt COMPACT=1 DEBUG=0 launch APPSRC=applications_user\uhf_rfidAs this app is still in the development stage, I welcome contributions to this project. If you find any issues or want to enhance the application, feel free to create a pull request.
Build a proper tag class
// Ideal concept
#include <stdint.h>
#include <stdio.h>
#include <string.h>
typedef struct {
int uart_fd; // UART file descriptor or other identifier
} YRM100_RFID;
void sendCommand(YRM100_RFID *rfid, const uint8_t *command, size_t length) {
// Implementation to send the command through UART
// Write the command to the UART interface using rfid->uart_fd
}
// Configuration functions:
void setCommunicationBaudRate(YRM100_RFID *rfid) {
uint8_t command[] = {0xBB, 0x00, 0x11, 0x00, 0x02, 0x00, 0xC0, 0xD3, 0x7E};
sendCommand(rfid, command, sizeof(command));
}
void setWorkingArea(YRM100_RFID *rfid, uint8_t area) {
uint8_t command[] = {0xBB, 0x00, 0x07, 0x00, 0x01, area, 0x09, 0x7E};
sendCommand(rfid, command, sizeof(command));
}
// other method etc ...
// Ideal concept
#include <stdint.h>
#include <stdlib.h>
typedef struct {
uint8_t *killPassword;
uint8_t *accessPassword;
size_t size;
} ReservedMemory;
typedef struct {
uint8_t *header;
uint8_t *filter;
uint8_t *partition;
uint8_t *companyPrefix;
uint8_t *itemReference;
size_t size;
} EPCMemory;
typedef struct {
uint8_t *tid;
size_t size;
} TIDMemory;
typedef struct {
uint8_t *userMemory;
size_t size;
} UserMemory;
typedef struct {
ReservedMemory reserved;
EPCMemory epc;
TIDMemory tid;
UserMemory user;
} ISO18000_6C_Tag;
For any inquiries or support, you can reach out to us at :