You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Self programming works
Sketch can be uploaded as bootloader directly from Arduino (using external programmer)
Updated Readme
Code is even smaller than previously
Cleaned up Writer (and changed baudrate)
Added LED to Reader to indicate bootloader working (only for testing)
Copy file name to clipboardExpand all lines: README.md
+17-6Lines changed: 17 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,7 +18,8 @@ It's not end yet, block #0 is *NOT* meant for data storage, so all in all, inste
18
18
During development I decided to take away one more block for sketch metadata (number of parts, code size etc) so we end up with 736 bytes of storage available per 1k tag (also it makes code a bit smaller, yay!).
19
19
Luckily this is only for the first tag, the rest of tags will probably be able to store 752 bytes **(whole 16 bytes more)**.
20
20
21
-
Full 28672 byte code (in the worst case) will take up to 40 tags. Don't forget, that they will have to be scanned in specific order or your uC will crash at some point.
21
+
Full 28672 byte code (in the worst case) will take up to 40 tags. Don't forget, that they will have to be scanned in specific order or your uC will crash at some point.
22
+
I don't know why, but millis() is not working, but I cannot override them, because they're already defined ¯\_(ツ)_/¯
22
23
23
24
Also, I didn't have any experience in working with AVR bootloaders nor RFID tags.
24
25
@@ -34,6 +35,13 @@ N/A
34
35
* MFRC522 reader from China (the working one)
35
36
* Breadboard and some jumper wires
36
37
* MIFARE Classic 1k tags (plenty of them)
38
+
* External programmer (USBasp or AVRispmkII)
39
+
40
+
Fuse bits:
41
+
* Low: 0xFF
42
+
* High: 0xD8
43
+
* Extended: FD
44
+
* Lock: 3F
37
45
38
46
|Arduino|MFRC522|
39
47
|-------|-------|
@@ -45,24 +53,27 @@ N/A
45
53
| GND | GND |
46
54
| 3V3 | 3V3 |
47
55
48
-
Reset circuit like this allowed to slim code a bit and as far as I see causes no problems so... It's working?
56
+
Reset circuit like this allowed to slim code a bit and as far as I see causes no problems so... It's working?
57
+
I added an LED on A1 to watch if flash is being updated.
58
+
Test code lights up LED on A0.
49
59
50
60
### Software
51
61
1. Compile whatever you want for Arduino
52
62
2. Convert compiled code to C array
53
63
3. Add this array to Writer source and upload to Arduino
54
64
4. Scan tag and pray it transferred correctly (because there is no verification)
55
-
5. Upload MULoaderReader to target
56
-
6. Scan tag and watch stuff appearing in Serial Monitor
65
+
5. Copy platform.local.txt to arduino/hardware/avr/[version] (remember to use it only with Reader)
66
+
6. Upload MULoaderReader to target
67
+
7. Scan tag and watch stuff appearing in Serial Monitor
57
68
58
69
Remember to uncomment define at the beginning of Reader code, otherwise you won't see anything :)
59
70
60
71
### What works
61
72
* Uploading to tag (one)
62
73
* Reading from tag
63
-
*I know how to use SPM
74
+
*Updating flash
64
75
65
76
### What doesn't work
66
77
* Serial upload to tag (because I didn't implement it yet)
67
-
* Bootloading uC with MULoaderReader (too big and stuff)
0 commit comments