├── images
├── 1.png
└── 2.png
└── README.md
/images/1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ELEGOO-3D/ELEGOO-RFID-Tag-Guide/HEAD/images/1.png
--------------------------------------------------------------------------------
/images/2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ELEGOO-3D/ELEGOO-RFID-Tag-Guide/HEAD/images/2.png
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # ELEGOO-RFID-Tag-Guide
2 |
3 | ## 1. Overview
4 | This document outlines the data structure and content format stored on the RFID tags used in ELEGOO's FDM 3D printing filament spools.
5 |
6 |
7 |
8 | ## 2. Data Structure: EPC-256 Format
9 | The RFID tag uses a 256-bit EPC (Electronic Product Code) Type I format, which is commonly applied in IoT device identification and tracking. The total storage size is 32 bytes (256 bits), with the data fields defined as follows:
10 |
11 | | Field | Length | Example | Description |
12 | |-------|---------|---------|-------------|
13 | | Header | 8 bits | 0x36 | EPC-256 identifier |
14 | | Manufacturer Code | 32 bits | 0xEEEEEEEE | Identifies ELEGOO as the manufacturer |
15 | | Filament Code | 16 bits | 0x0001 | Internal filament code by manufacturer |
16 | | Material (Main) | 32 bits | 0x00807665 ("PLA") | Material type, stored in ASCII |
17 | | Material (Subtype) | 32 bits | 0x00004346 ("CF") | Material subtype in ASCII |
18 | | Color Code | 24 bits | 0xFF3700 | Filament color in RGB888 format |
19 | | Filament Diameter | 16 bits | 0x00AF (175) | Filament diameter hundredths of a millimeter |
20 | | Filament Weight | 16 bits | 0x03E8 (1000) | Filament weight in grams |
21 | | Production Date | 16 bits | 0x09C6 (2502) | Production date encoded as YYMM |
22 | | Reserved | 64 bits | 0 | Reserved for future use |
23 |
24 |
25 | ### 2.1 Examples of Material Encoding
26 |
27 | | Material | Hex Code |
28 | |----------|-----------|
29 | | PLA | 0x00807665 |
30 | | PETG | 0x80698471 |
31 | | ABS | 0x00656683 |
32 | | TPU | 0x00848085 |
33 | | PA | 0x00008065 |
34 | | CPE | 0x00678069 |
35 | | PC | 0x00008067 |
36 | | PVA | 0x00808665 |
37 | | ASA | 0x00658365 |
38 |
39 |
40 | ### 2.2 Examples of Color Encoding (RGB888)
41 |
42 | | Color | Code |
43 | |-------|------|
44 | | Red | 0xFF3700 |
45 | | Green | 0x33D700 |
46 | | Blue | 0x0080FF |
47 | | Orange | 0xFF8C00 |
48 | | Purple | 0x735DF9 |
49 | | White | 0xFFFFFF |
50 | | Black | 0x000000 |
51 | | Yellow | 0xFFC800 |
52 | | Cyan | 0x44F1FF |
53 |
54 |
55 | ### 2.3 Examples of Diameter Encoding
56 |
57 | | Diameter (mm) | Hex Code |
58 | |---------------|-----------|
59 | | 0.8 | 0x0050 |
60 | | 1.0 | 0x0064 |
61 | | 1.75 | 0x00AF |
62 | | 2.85 | 0x011D |
63 | | 3.0 | 0x012C |
64 |
65 |
66 | ### 2.4 Examples of Weight Encoding
67 |
68 | | Weight (g) | Hex Code |
69 | |------------|-----------|
70 | | 50 | 0x0032 |
71 | | 100 | 0x0064 |
72 | | 200 | 0x00C8 |
73 | | 300 | 0x012C |
74 | | 500 | 0x01F4 |
75 | | 1000 | 0x03E8 |
76 |
77 |
78 | ## 3. RFID Tag Memory Map and Field Allocation
79 |
80 | ### 3.1 NTAG213 Memory Layout
81 |
82 | 
83 |
84 | | Memory Area | Address Range | Purpose | Writable |
85 | |-------------|---------------|----------|-----------|
86 | | System Reserved | 0x00~0x03 | UID, Lock Bits | No |
87 | | User Memory | 0x04~0x27 | Store EPC data | Yes (Password required) |
88 | | Configuration Pages | 0x29~0x2C | Configuration, Password Setup, Access Control | Yes (Password required) |
89 |
90 |
91 | ### 3.2 Data Field Allocation (User Memory Area)
92 |
93 | | Field | Bit Length | Start Address (Hex) | Example (Hex) | Memory Block Notes |
94 | |-------|------------|---------------------|---------------|-------------------|
95 | | Header | 8 | 0x04 | 36 | First byte of Block 0x04 |
96 | | Manufacturer Code | 32 | 0x05 | EEEEEEEE | 0x05-0x08 |
97 | | Filament Code | 16 | 0x09 | 0001 | 0x09-0x0A |
98 | | Material Name | 32 | 0x0B | 504C4120 | 0x0B-0x0E |
99 | | Material Supplement | 32 | 0x0F | 43463230 | 0x0F-0x12 |
100 | | Color Code | 24 | 0x13 | FF3700 | 0x13-0x15 |
101 | | Filament Diameter | 16 | 0x16 | 00AF | 0x16-0x17 |
102 | | Filament Weight | 16 | 0x18 | 03E8 | 0x18-0x19 |
103 | | Production Date | 16 | 0x1A | 09C6 | 0x1A-0x1B |
104 | | Reserved | 64 | 0x1C | 0x00000000 | 0x1C-0x2F |
105 |
106 |
107 | ### 3.3 Password Authentication Configuration
108 |
109 | | Field | Address (Hex) | Example (Hex) | Description |
110 | |-------|---------------|---------------|-------------|
111 | | Password A | 0x2B | 0xA0A1A2A3 | Authentication password (4 bytes) |
112 | | Access Control | 0x2C | 0x5F078069 | Read/write permissions |
113 |
114 |
115 | ### 3.4 Notes
116 | Data Alignment Rules:
117 | - Block Size Rule: The NTAG213 memory is organized in 4-byte blocks. All data must be written on block-aligned addresses.
118 | - Padding Rule: Fields that are not a multiple of 4 bytes must be padded with zeros to fill the block.
119 |
120 |
121 | ## 4. Example
122 | For a filament spool with the following specs:
123 | - Diameter: 1.75mm
124 | - Weight: 1000g
125 | - Color: Red
126 | - Material: PLA-CF
127 | - Production Date: February 2025
128 |
129 | The RFID tag would be programmed as:
130 |
131 | | Field | Value |
132 | |-------|-------|
133 | | Header | 0x36 |
134 | | Manufacturer Code | 0xEEEEEEEE |
135 | | Filament Code | 0x0001 |
136 | | Material (Main) | 0x504C4120 |
137 | | Material Supplement | 0x43463230 |
138 | | Color Code | 0xFF3700 |
139 | | Filament Diameter | 0x00AF |
140 | | Filament Weight | 0x03E8 |
141 | | Production Date | 0x09C6 |
142 |
143 |
144 |
145 | ## 5. Code Implementation
146 |
147 |
148 | ## 6. Appendix
149 |
150 |
151 | ## 7. Version History
152 |
153 | | Version | Date | Description | Author |
154 | |---------|------|-------------|---------|
155 | | 1.0 | 2025-02-10 | Initial release | Yongliang Tan |
156 |
157 |
158 |
159 |
160 |
161 |
162 | # Filament Color Encoding Rules
163 |
164 | ### 1. Encoding Rules
165 | Basic Color Code - Color Category - Brightness Level - Filament ID
166 |
167 |
168 | ### 2. Basic Color Code
169 | The basic color code is a standard way of coding based on the RGB color model, with a total of 6 characters indicating the intensity of red, green, and blue colors (from 00 to FF). For example:
170 | - #FF0000: Pure red
171 | - #00FF00: Pure green
172 | - #0000FF: Pure blue
173 |
174 |
175 | ### 3. Color Categories
176 | Colors are classified into major categories, each with an abbreviation:
177 | - PR: Primary Colors (Red, Blue, Yellow, White)
178 | - SE: Secondary Colors (Green, Orange, Purple)
179 | - AC: Accent Colors (Pink, Brown, Cyan)
180 | - MT: Metallic Colors (Gold, Silver)
181 | - GL: Glitter Colors (Glitter Pink, Glitter Blue)
182 | - TR: Transparent Colors (Clear, Translucent)
183 |
184 |
185 | ### 4. Brightness Levels
186 | Each color can be assigned a brightness level:
187 | - L: Light
188 | - M: Medium
189 | - D: Dark
190 |
191 |
192 | ### 5. Filament ID
193 | Each unique color is assigned a numerical ID for indexing and management:
194 | - 001, 002, 003 etc.
195 |
196 |
197 |
198 | ### 6. Color Code Reference Table
199 |
200 | | ID | Basic Color Code | Color Name | Color Category | Brightness | Full Code |
201 | |-----|------------------|------------|---------------|------------|-----------------------|
202 | | 001 | #FF3700 | Red | PR | D | #FF3700-PR-D-001 |
203 | | 002 | #33D700 | Green | SE | M | #33D700-SE-M-002 |
204 | | 003 | #0080FF | Blue | PR | L | #0080FF-PR-L-003 |
205 | | 004 | #FF8C00 | Orange | SE | M | #FF8C00-SE-M-004 |
206 | | 005 | #735DF9 | Purple | SE | D | #735DF9-SE-D-005 |
207 | | 009 | #FFFFFF | White | SE | L | #FFFFFF-AC-L-009 |
208 | | 010 | #000000 | Black | AC | D | #000000-AC-D-010 |
209 | | 011 | #FFC800 | Yellow | PR | D | #FFC800-PR-D-011 |
210 | | 012 | #44F1FF | Cyan | PR | D | #44F1FF-PR-D-011 |
211 |
212 | ### 7. Operator Panel Color Definition(Screen, Slicing software, Web)
213 | 
214 |
--------------------------------------------------------------------------------