兰博

ChameleonMini

 
Overview

1. Solemn statement:
1. The purpose of this sharing is to learn and exchange microcontroller application software and hardware. It is not intended to be used for any practical applications. Please do not use this thing for any illegal purposes;
2. Chameleon is sold in large quantities on a certain website. If you want to use the function of Chameleon, you can buy it directly. There is no need to go far and make it yourself, especially when the price of ATXMEGA32A4U is so high that it reaches the quantum state;
3. Please check the method of using Chameleon by yourself. Don’t ask me, I won’t either. Understand;

 

Another reduced version of mine has been released: ChameleonMiniRevERebooted 2.1 . Welcome to criticize and correct me.

 

 

ChameleonMini is based on a piece of hardware for multi-band and multi-type RFID simulation designed by a German university when studying RFID security. Realize functions such as M1 card simulation and key sniffing.
After being open sourced, ChameleonMini branched into G version and E version. The E version was modified by the big guys and developed into ChameleonMini RevE Rebooted. This design mainly refers to the project released by iceman1001 on github. I made some modifications based on the components on hand and the actual debugging situation:
1. The components of the entire board are on one side, and the overall thickness is relatively thin (different from those on a certain product) );
2. Switch to a rechargeable lithium button battery (LIR1632) with onboard charging circuit;
3. Use the TYPEC interface (after all, I bought 100 TYPEC female sockets and couldn’t use them all);


There’s not much to say about the hardware:

In a previous experimental version, the battery used non-rechargeable CR1220, and the result was that it could not drive the chip:

 

Officially released version 1.0 (2022-06-07), using rechargeable lithium battery LIR1632 with charging function. Note that the two PCBs currently released are both of this version, but the pattern design of the antenna part is different:

1. Because the reference voltage of the rechargeable battery is 3.6V (more than 4V when fully charged), which exceeds the power supply voltage range of the ATXMEGA32A4U, the battery cannot be directly powered according to the official design. Changed to use LDO for both battery and USB power supply, added a switching circuit between battery and USB power supply, and added a charging circuit for the battery to realize the rechargeable function;

2. Based on the actual test, the charging resistor in the delayed shutdown circuit was modified to extend the shutdown time after the system starts;

3. Based on the actual test, the induction self-start circuit was modified and the voltage comparator voltage dividing resistor resistance was adjusted to ensure that the induction start function is effective.

 

 

2. Steps to flash Iceman firmware:

1. Firmware flasher:
    ATXMEGA32A4U uses the PDI interface for bootloader or firmware flashing.

    The official flash tool for the PDI interface is said to be relatively expensive, so USBASP needs to be transformed into a PDI flasher. You can use another open source project of mine: USBASP with PDI interface

   Note that when flashing firmware for Chameleon, the output voltage selection jumper on USBASP must be set to 3.3V and the PDI switch shorted.

2. Firmware acquisition address:
    https://github.com/iceman1001/ChameleonMini-rebooted

   You can download the compiled firmware files ChameleonMini.eep and ChameleonMini.hex, or you can download the source code and compile it yourself (I tried to compile without success. If anyone knows this, please give me some advice)

   I have packaged the compiled firmware and flash program in the attachment.

3. Refresh command:
avrdude -c usbasp -p x32a4u -e
avrdude -c usbasp -p x32a4u -U eeprom:w:ChameleonMini.eep
avrdude -c usbasp -p x32a4u -U application:w:ChameleonMini.hex

 

D:workingCMFlash>avrdude -c usbasp -p x32a4u -e
 
avrdude: AVR device initialized and ready to accept instructions
 
Reading | ################################################## | 100% 0.02s
 
avrdude: Device signature = 0x1e9541 (probably x32a4)
avrdude: erasing chip
 
avrdude done.  Thank you.
 
 
D:workingCMFlash>avrdude -c usbasp -p x32a4u -U eeprom:w:ChameleonMini.eep
 
avrdude: AVR device initialized and ready to accept instructions
 
Reading | ################################################## | 100% 0.03s
 
avrdude: Device signature = 0x1e9541 (probably x32a4)
avrdude: NOTE: Programmer supports page erase for Xmega devices.
         Each page will be erased before programming it, but no chip erase is performed.
         To disable page erases, specify the -D option; for a chip-erase, use the -e option.
avrdude: reading input file "ChameleonMini.eep"
avrdude: input file ChameleonMini.eep auto detected as Intel Hex
avrdude: writing eeprom (44 bytes):
 
Writing | ################################################## | 100% 0.07s
 
avrdude: 44 bytes of eeprom written
avrdude: verifying eeprom memory against ChameleonMini.eep:
avrdude: load data eeprom data from input file ChameleonMini.eep:
avrdude: input file ChameleonMini.eep auto detected as Intel Hex
avrdude: input file ChameleonMini.eep contains 44 bytes
avrdude: reading on-chip eeprom data:
 
Reading | ################################################## | 100% 0.04s
 
avrdude: verifying ...
avrdude: 44 bytes of eeprom verified
 
avrdude done.  Thank you.
 
 
D:workingCMFlash>avrdude -c usbasp -p x32a4u -U application:w:ChameleonMini.hex
 
avrdude: AVR device initialized and ready to accept instructions
 
Reading | ################################################## | 100% 0.03s
 
avrdude: Device signature = 0x1e9541 (probably x32a4)
avrdude: NOTE: Programmer supports page erase for Xmega devices.
         Each page will be erased before programming it, but no chip erase is performed.
         To disable page erases, specify the -D option; for a chip-erase, use the -e option.
avrdude: reading input file "ChameleonMini.hex"
avrdude: input file ChameleonMini.hex auto detected as Intel Hex
avrdude: writing application (26720 bytes):
 
Writing | ################################################## | 100% 10.39s
 
avrdude: 26720 bytes of application written
avrdude: verifying application memory against ChameleonMini.hex:
avrdude: load data application data from input file ChameleonMini.hex:
avrdude: input file ChameleonMini.hex auto detected as Intel Hex
avrdude: input file ChameleonMini.hex contains 26720 bytes
avrdude: reading on-chip application data:
 
Reading | ################################################## | 100% 10.95s
 
avrdude: verifying ...
avrdude: 26720 bytes of application verified
 
avrdude done.  Thank you.

 

4. The upper computer software address: http://www.icesql.se/download/ChameleonMiniGUI/publish.htm
This upper computer is different from the practical method shared by some UP owners on station B. If you want to use For that version of the host computer, please see the "Official Firmware Refresh" section below.

 

 

3. Official firmware flashing steps (newly added on 2022-7-3):  This method is provided by fellow fan scetc2008, thank you! ! !

    All software and packages used are in the attachment "Official Firmware Flash Package.zip"

1. Flash the bootloader:

Still use the modified USBASP flasher, use the PDI interface to connect to Chameleon, and flash the atxmega32a4u bootloader. The file name is: ChameleonMiniRDV2.0_ATxmega32A4U.hex

Reminder again: When flashing firmware on Chameleon, the output voltage selection jumper on USBASP must be set to 3.3V and the PDI switch shorted.

 

Flash the BOOTLOADER statement:
avrdude -c usbasp -p x32a4u -e
avrdude -c usbasp -p x32a4u -U flash:w:ChameleonMiniRDV2.0_ATxmega32A4U.hex

 

2. Check whether the bootloader is flashed successfully:

Use a USB cable to connect the Chameleon to the computer and check in the device manager whether atxmega32a4u is recognized. For non-win10 computers, please install the driver first:

 

3. Use USB cable to flash the official firmware:

Run BOOT_LOADER_EXE.exe and make sure there are official firmware files in the same directory as BOOT_LOADER_EXE.exe: myfile.bin, myfilee.bin

The flashing process is as follows:

D:workingRevE1.02, connect to computer and flash firmware>BOOT_LOADER_EXE.exe
old_driver_bootloader
Erasing flash... Success
Checking memory from 0x0 to 0x6FFF... Empty.
0% 100% Programming 0x20 bytes...
[>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>] Success
0% 100% Reading 0x400 bytes...
0% 100% Programming 0x5800 bytes...
[> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] Success
0% 100% Reading 0x7000 bytes...
load_success!

 

4. Test connection to the host computer:

Re-insert and unplug the USB cable connected to Chameleon, run the official PC program to see if it is connected:



I hope you can communicate more with each other. I want to learn a lot from you!

参考设计图片
×
 
 
Search Datasheet?

Supported by EEWorld Datasheet

Forum More
Update:2025-06-24 13:43:59

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
community

Robot
development
community

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号