As I pledged the iCopy-X Kickstarter and bought one iCopy-XS, in parallel to my tear down efforts, I requested the vendor to honor the open source license of the Proxmark3 schematics and software and to share their modifications.
I will post here what I'll get and in parallel I'll try to create source repositories to enable some community development on it. Depending on what we'll get...
- Schematics & Gerber of the green PCB
- Schematics & Gerber of the antenna PCB
- Schematics & Gerber of the FPC connecting green PCB & Nanopi NEO
A previous version of the main PCB schematics contained PDF JavaScript pop-ups (visible only with Acrobat) from which we could extract the BoM. Beware quantities and references are not present.
sudo apt install qpdf uni2ascii
qpdf -qdf ICOPY-X_V1.5.pdf ICOPY-X_V1.5q.pdf
sed -n '/popUp/s/.*popUpMenu\\(\([^;]*\)\\);.*/\1/p' ICOPY-X_V1.5q.pdf|sed 's/\\\\/\\/g;s/\\\([()]\)/\1/g'|ascii2uni -a U -q|sort|uniq > bom.txt
python3 bomtxt2csv.py
Using bomtxt2csv.py. Then converting the .csv
into .ods
with LibreOffice -> bom.ods
Note that current upstream contains now the BOM of the main PCB.
- FPGA upstream code
- See diff to compare Verilog files with FPGA code from Proxmark3
- A document in Chinese details these changes, cf fpga subdirectory with also a Google translated version.
- Community fork with some cleaning & linux compilation script
- Community fork version is now merged in Proxmark3/RRG repo in fpga-xc3s100e subdir.
- STM32 firmware
- open source license: MIT
- untested
- icopy_time_synchronizer, a tool to setup the STM32 RTC from the host(?)
- open source license: MIT
- untested
- CSerialPort, fork of a serial library, used by icopy_time_synchronizer
- open source license: LGPL
- Proxmark3 upstream code snapshot
- They shared both the original repo at the point they cloned it and their sources. I removed the unnecessary original repo copy from the zip.
- They forked at 29c8b3aa4ee8cb3d66a1542d95740d996abe201f and removed the
fpga/
as there is a separate repository for FPGA, see previous point. - See diff to compare with Proxmark3/RRG.
- See cleaned diff for a less noisy diff.
- Community fork
- branch
upstream
reflects the upstream code snapshot, but as commit on top of the Proxmark3/RRG history, from the forking point (taggedicopyx-fork
). - branch
master
reverts a few unneeded changes. - Community fork version is now merged in Proxmark3/RRG repo as a set of commits, see here and its previous commits.
- branch
- Still missing, few elements disclosed in lib subdir.
- Few community tests based on these elements here.
- 2021-07-01 Received hardware schematics
- 2021-07-02 Received reference to FPGA repository on Gitee and a Chinese document about the changes
- 2021-07-02 Received proxmark3 sources
- 2021-08-24 New vendor repos on Github