Microchip KeeLoq Classic - New firmware for garage door receiver + new fobs - Page 1
Forum section: electronics / general

author: voltsandjolts
author_rank: Unknown
timestamp: August 20, 2016, 09:41:19 am
content: My remote control garage door stopped working and it turned out to be a failed IO pin on the PIC16 micro in the receiver unit. The micro firmware was locked of course to protect the manufacturers KeeLoq 'secret' key. This is an old unit with no replacement parts available from supplier (Abon Ultra). Although there are third party remote control systems available that I could have hacked into place I decided to write new firmware using XC8 (free version) and a PIC18 (which has a PLL which boosts clock speed to help compensate for slower XC8 Free compiled code).I have attached an MPLAB X project which provides a skeleton app for decoding KeeLoq Classic bitstream. In essence, you need a keyfob with a MicroChip HCS301 (or similar) encoder programmed with your own 'manufacturer code'. That bitstream is decoded by the PIC18 interrupt routine (samples the received signal at fixed rate) and verifies against its 'manufacturer code' and database of 'paired' keyfobs (in eeprom). Some of the encrpyt/decrypt code is, ahem, tricky to find but its all out there on the web, I've just gathered it into one buildable project.Just to be clear - existing fobs cannot be used unless they contain a MicroChip HCS300/301 encoder and can be reprogrammed with your 'manufacturer' key. For new fob options see next post below.I don't expect this to be particularly useful to many people so I'm too lazy to dcoument properly, this is just a code dump really.Be aware that KeeLoq Classic has been hacked to some extent;http://lmgtfy.com/?q=keeloq+hackhttps://youtu.be/l_crMuwBp8IEdit: 06APR2020 Updated source so it compiles with XC8v2.10 (Original was XC8v1.33)Edit: 01OCT2020 Source code tidy up, minor bugs fixed.Recommend using MPLABX v5.35 (last version with MPASMX for keyfob programming).Edit: 24FEB2024 Received a report that this firmware only works if the last digit of the user serial number is '7' ...to be investigated...seereply#18 below

author: voltsandjolts
author_rank: Unknown
timestamp: August 20, 2016, 09:43:32 am
content: KeeLoq Keyfob OptionsI bought a bunch of cheap keyfobs on ebay hoping to find one that used a HCS300/301 encoder, or something pin compatible with it. But, no luck.The cheapest HCS300 based keyfob I could find is from RF Solutions. Its well made and priced at around GBP15, probably the easiest solution - de-solder the HCS300, reprogam with your key.https://www.rfsolutions.co.uk/remote-control-systems-c9/hornet-2-button-150m-433mhz-keyfob-transmitter-p226*** STOP *** See further down this thread (Reply #13) for a better option than the cludge shown here:Ebay has lots of fixed code 433 MHz (for UK) keyfobs which come in a very nice case with battery for under GBP2 delivered. Use the search term “cloning remote control keyfob”. Some claim to clone rolling codes but they certainly won't work with KeeLoq systems.Both the fixed code and rolling code types use identical PCB, just the IC is different; “M&C 001” or “M&C 002”, neither of which I have any info on. They are not directly pin compatible with the HCS300/301 but soldering it upside down almost worksPartial schematic:Remove original IC:Fit HCS upside down, couple of links to make:Remove Q3 and add link:I agree, its not pretty, but it works!

author: kripton2035
author_rank: Super Contributor
timestamp: August 20, 2016, 09:48:45 am
content: you may also use a pic12f635 with keeloq algo inside it.(but the pic18 program should be surely modified a little !)

author: voltsandjolts
author_rank: Unknown
timestamp: August 21, 2016, 06:03:10 pm
content: Quote from: kripton2035 on August 20, 2016, 09:48:45 amThat would have saved some time!I wanted to use a pin compatible (DIP28) device to reuse the motor control PCB.

author: kripton2035
author_rank: Super Contributor
timestamp: August 21, 2016, 06:42:18 pm
content: ebay auction for a complete remote control with hcs301http://www.ebay.com/itm/271067230571seller also has the remote controls only.

author: Luxkeiwoker
author_rank: Newbie
timestamp: January 07, 2018, 06:40:16 pm
content: Hey guys,I have a keyfob for my cars aftermarket central lock which has seen better days. I was searching for a replacement so I looked inside to find out if it uses a fixed or rolling code. Turns out it uses the HC300 IC, so using a simple cloning keyfob won't work.By coincidence I have a few of those silver ebay keyfobs lying around. Can I just desolder the HC300 from the old keyfob and resolder it to the new on as shown in your post? Is that enough to make the keyfob work with my car alarm? Or is there some more magic in the old keyfob?

author: voltsandjolts
author_rank: Unknown
timestamp: January 07, 2018, 06:44:13 pm
content: The silver ebay fobs are 433MHz with On-Off Keying modulation.If your car fob uses the same frequency and modulation scheme then it should work.

author: Luxkeiwoker
author_rank: Newbie
timestamp: January 07, 2018, 08:41:16 pm
content: The original keyfob uses 433 MHz as well. I'm not sure about the modulation though. I managed to clone the signal from the original to the silver one and I was able to unlock the car. Obviously it only worked once since it's a rolling code. But I guess that is enough proof that the modulation is the same. Isn't it?

author: voltsandjolts
author_rank: Unknown
timestamp: January 08, 2018, 08:35:31 am
content: Nice test!Yes, that should work fine if you move the IC to the new fob.

author: Luxkeiwoker
author_rank: Newbie
timestamp: January 08, 2018, 07:10:02 pm
content: Great!Two more questions:I'm unsure about the pinout in the pictures you provided. Is the pinout as shown in the picture below correct?If so, I see that the LED pin is not connected - does that mean that the LED of the silver fob will be dead?

author: voltsandjolts
author_rank: Unknown
timestamp: January 09, 2018, 09:01:37 am
content: Yes, your pinout is correct. "Schematic"attached below also shows connections of HCS300 when fitted upside down.The LED in new fob will be driven by the PWM pin so should light up.

author: cesarsoto
author_rank: Newbie
timestamp: May 12, 2018, 08:11:14 pm
content: Can you send the ebay link of the controllers you bought?Thank you

author: voltsandjolts
author_rank: Unknown
timestamp: May 13, 2018, 08:46:51 am
content: Not sure if you are asking me or Luxkeiwoker.I bought mine a few years ago now but fobs that look identical are still abound on ebay.com, try searching for "cloning remote control keyfob".For example:ebay.com/itm/292504288362

author: voltsandjolts
author_rank: Unknown
timestamp: September 18, 2020, 06:31:01 pm
content: OK, 4 years have passed, time to replace fobs again.Looks like remote fobs on eBay with "HCS301" in the title do have the right footprint and circuit for it, although I am sure the chip is fake.I'll try swapping my HCS301 chip from the old fobs next week...Edit: Added receiver board schematic.Edit2: The HCS301 IC moulding looked poor and chip would not program from MPLABX as other HCS ICs have, so I assumed fake. But the the chip die has a microchip logo on it, so I'm not 100% sure now.Edit3: Swapping the HCS301 to these keyfobs worked. Out of eight of these keyfobs, two had dodgy buttons. Also the battery isn't held very well so I added a little RTV to hold it.

author: voltsandjolts
author_rank: Unknown
timestamp: September 23, 2020, 07:24:01 pm
content: Programming KeeLoq keyfob ICsJust to be clear, you can't program new keyfobs to work with some other manufacturers system - you would need to know their secret 64-bit manufacturer key.If you code your own receiver (using firmware from first post of this thread), then you can make up your own secret manufacturer key and program keyfob ICs (such as HCS301) to work in your own system.Recommended setup for this is MPLABX 5.35 with the Keeloq plugin installed (Tools > Plugins > MPLABX KeeLoq Plugin)Start new project, select your KeeLoq IC, select MPASM as the 'compiler'.Run the Keeloq plugin which will generate an ASM file which can be assembled and downloaded to the IC.PicKit4 works for HCS301.I recommend MPLABX 5.35 because that is apparently the last version which includes MPASM (MPASMX) which is needed for KeeLoq support.Newer MPLABX versions instead include the xc8 assembler which doesn't support HCS301 or (probably) other KeeLoq ICs.Older MPLABX may also work.Settings I have used for the Keeloq Plugin are shown in screenshot attached.This shows a 64-bit manufacturer key of 0x123456789ABCDEFF which matches that used in the receiver code given in the first post of this thread (see keygen.c).Only the slowest baud rate (400us) works with these eBay keyfobs (400us timing setup in receiver also, see interrupts.c)I think user serial can be anything you like (28-bit).

author: voltsandjolts
author_rank: Unknown
timestamp: September 23, 2020, 07:25:02 pm
content: The source code in the first post here now has a configuration for PIC18F1330, 18pin micro, which will work with the keyfob programming above (reply #14).The PIC18F1330 will fit and function in these eBay boards:(Remember to change the manufacturer code in keygen.c to something unique to you, same code in receiver and all keyfobs)

author: ebclr
author_rank: Super Contributor
timestamp: September 24, 2020, 02:07:26 am
content: This may be usefullhttps://s.taobao.com/search?q=HCS301&imgfile=&js=1&stats_click=search_radio_all%3A1&initiative_id=staobaoz_20200924&ie=utf8Specially this onehttps://item.taobao.com/item.htm?spm=a230r.1.14.123.1fbc4a8a8Rsk55&id=620403924453&ns=1&abbucket=14#detail

author: rtek1000
author_rank: Contributor
timestamp: July 20, 2021, 07:41:05 pm
content: Hello,Great work with PIC18!I bought a controller with HCS201, and I would like to make a receiver, I noticed that I can use HCS500, HCS512 or HCS515, in addition to being able to make the receiver with a microcontroller. I'm still seeing the feasibility of using only the microcontroller.Does anyone know if an alternative code to receive signal from the KeeLoq controller should be subject to the license conditions imposed by Microchip?Microchip offers the KeeLoq standard under a license to use.There are 3 types of KeeLoq, Classic (HCSxxx), Advanced (MCS3122) and Ultimate (MCS3142) (AES128).http://ww1.microchip.com/downloads/en/DeviceDoc/41256A.pdfhttp://ww1.microchip.com/downloads/en/DeviceDoc/40001762A.pdfhttp://ww1.microchip.com/downloads/en/DeviceDoc/40001747A.pdfHCxxx:• HCS200 - KEELOQ Code Hopping Encoder (Up to 7 functions can be implemented / 3.5–13.0V operation)• HCS201 - KEELOQ Code Hopping Encoder (Up to 7 functions can be implemented / 2.0V min. using the Step up feature / 3.5–13.0V operation)• HCS300 - KeeLoQ Code Hopping Encoder (Up to 15 functions can be implemented / 2.0V - 6.3V operation)• HCS301 - KEELOQ Code Hopping Encoder (Up to 15 functions can be implemented / 3.5–13.0V operation)• HCS320 - KEELOQ Code Hopping Encoder (Up to 16 functions can be implemented / 3.5–13.0V operation)• HCS360 - KeeLoQ Code Hopping Encoder (Up to 15 functions can be implemented / 2.0V - 6.6V operation / PWM and Manchester modulation)• HCS361 - KeeLoQ Code Hopping Encoder (Up to 15 functions can be implemented / 2.0V - 6.3V operation / PWM and VPWM modulation)• HCS362 - KeeLoQ Code Hopping Encoder (Up to 15 functions can be implemented / 2.0V - 6.3V operation / PWM and Manchester modulation)• HCS410 - KEELOQ Code Hopping Encoder and Transponder (Up to 7 functions can be implemented / Battery-less / 2.0V - 6.6V, 13V encoder only operation)• HCS412 - KEELOQ Code Hopping Encoder and Transponder (Up to 7 functions can be implemented / Battery-less / 2.0V - 6.3V, 13V encoder only operation)• HCS500 - KeeLoq Code Hopping Decoder (Serial interface / Stand-Alone 1CH / 3.0 – 5.5V operation)• HCS512 - KeeLoq Code Hopping Decoder (Serial PWM interface / Stand-Alone 4CH / 3.0 – 6.0V operation)• HCS515 - KeeLoq Code Hopping Decoder (Serial interface / Stand-Alone 2CH / 4.5 – 5.5V operation)I found a code for HCS301 (I don't know if it works):https://forum.arduino.cc/t/solucionado-keeloq-muestra-datos-recibidos-al-reves/587938/7Code:#define LED_PIN 13#define HCS_RECIEVER_PIN 2 // Pin al que está conectado el receptor para los mandos.byte Canal;class HCS301 {public:unsigned BatteryLow : 1; // En el llavero estaba la batería.unsigned Repeat : 1; // повторная посылкаunsigned BtnNoSound : 1;unsigned BtnOpen : 1;unsigned BtnClose : 1;unsigned BtnRing : 1;unsigned long SerialNum;unsigned long Encript;void print();};volatile boolean HCS_Listening = true;byte HCS_preamble_count = 0;uint32_t HCS_last_change = 0;uint32_t HCS_start_preamble = 0;uint8_t HCS_bit_counter; // счетчик считанных бит данныхuint8_t HCS_bit_array; // массив считанных бит данных#define HCS_TE 400 // типичная длительность имульса Te#define HCS_Te2_3 600 // HCS_TE * 3 / 2HCS301 hcs301;#define HCS_DEBUG_#ifdef HCS_DEBUGuint16_t HCS_PulseDuration;uint16_t HCS_BitDuration;uint32_t HCS_msg_duration;struct dta_ {uint16_t delay;byte f;byte st;};volatile dta_ arr;volatile int poz_a = 0,poz_b = 0;#endifvoid HCS301::print(){String btn;if (BtnRing == 1) btn += "Ring";if (BtnClose == 1) btn += "Close";if (BtnOpen == 1) btn += "Open";if (BtnNoSound == 1) btn += "NoSound";String it2;it2 += " Serie ";it2 += SerialNum;it2 += " ";it2 += "Rolling Code ";it2 += Encript;it2 += btn;it2 += " BatteryLow=";it2 += BatteryLow;it2 += " Rep=";it2 += Repeat;//Serial.println(it2);Serial.print("Canal ");Serial.print(Canal,HEX);Serial.print("\t");Serial.print("Serie ");Serial.print(SerialNum,HEX);Serial.print("\t");Serial.print("Rolling Code ");Serial.print(Encript,HEX);Serial.println("");}void setup() {Serial.begin(9600);attachInterrupt(0, HCS_interrupt, CHANGE);pinMode(LED_PIN, OUTPUT);pinMode(HCS_RECIEVER_PIN, INPUT);}void loop() {if(HCS_Listening == false){HCS301 msg;memcpy(&msg,&hcs301,sizeof(HCS301));msg.print();#ifdef HCS_DEBUGif(msg.SerialNum != 639){Serial.println("Raw >>>>>>>>>>>>>>>>>>>>>>>");while(1){if(poz_b == poz_a) break;Serial.println(String(poz_b)+String("")+String(arr.delay)+String(" ")+String(arr.f == 0 ?"LOW":"HIGH")+String(" ")+String(arr.st));poz_b++;}Serial.println("Data >>>>>>>>>>>>>>>>>>>>>>>");for(int i = 0;i<66;i++){ Serial.println(HCS_bit_array); }} else {}poz_a = 0,poz_b = 0;#endifHCS_Listening = true;}}//void HCS_interrupt(){if(HCS_Listening == false){return;}uint32_t cur_timestamp = micros();uint8_t cur_status = digitalRead(HCS_RECIEVER_PIN);uint32_t pulse_duration = cur_timestamp - HCS_last_change;HCS_last_change = cur_timestamp;#ifdef HCS_DEBUGif(poz_a < 999){arr.delay = pulse_duration;arr.f = cur_status == HIGH ? 0 : 1;poz_a++;}#endif// ловим преамбулуif(HCS_preamble_count < 12){if(cur_status == HIGH){if( ((pulse_duration > 200) && (pulse_duration < 400)) || HCS_preamble_count == 0){// начало импульса преамбулыif(HCS_preamble_count == 0){HCS_start_preamble = cur_timestamp; // Отметим время старта преамбулы}} else {// поймали какую то фигню, неправильная пауза между импульсамиHCS_preamble_count = 0; // сбрасываем счетчик пойманных импульсов преамбулыgoto exit;}} else {// конец импульса преамбулыif((pulse_duration > 400) && (pulse_duration < 600)){#ifdef HCS_DEBUGHCS_PulseDuration = pulse_duration;#endif// поймали импульс преамбулыHCS_preamble_count ++;#ifdef HCS_DEBUGarr[poz_a-1].st = HCS_preamble_count;#endifif(HCS_preamble_count == 12){// словили преамбулу//HCS_Te = (cur_timestamp - HCS_start_preamble) / 23; // вычисляем длительность базового импульса Te//HCS_Te2_3 = HCS_Te * 3 / 2;HCS_bit_counter = 0;goto exit;}} else {// поймали какую то фигнюHCS_preamble_count = 0; // сбрасываем счетчик пойманных импульсов преамбулыgoto exit;}}}// ловим данныеif(HCS_preamble_count == 12){if(cur_status == HIGH){if(((pulse_duration > 300) && (pulse_duration < 900)) || HCS_bit_counter == 0){// начало импульса данных} else {// неправильная пауза между импульсамиHCS_preamble_count = 0;goto exit;}} else {// конец импульса данныхif((pulse_duration > 300) && (pulse_duration < 900)){HCS_bit_array[65 - HCS_bit_counter] = (pulse_duration >HCS_Te2_3) ? 0 : 1; // импульс больше, чем половина от Те * 3 поймали 0, иначе 1#ifdef HCS_DEBUGHCS_BitDuration = pulse_duration;#endifHCS_bit_counter++;#ifdef HCS_DEBUGarr[poz_a-1].st = HCS_bit_counter;#endifif(HCS_bit_counter == 66){// поймали все биты данныхHCS_Listening = false; // отключем прослушку приемника, отправляем пойманные данные на обработкуHCS_preamble_count = 0; // сбрасываем счетчик пойманных импульсов преамбулы#ifdef HCS_DEBUGHCS_msg_duration = cur_timestamp - HCS_start_preamble;#endifhcs301.Repeat = HCS_bit_array;hcs301.BatteryLow = HCS_bit_array;hcs301.BtnNoSound = HCS_bit_array;hcs301.BtnOpen = HCS_bit_array;hcs301.BtnClose = HCS_bit_array;hcs301.BtnRing = HCS_bit_array;Canal=HCS_bit_array+2*HCS_bit_array+4*HCS_bit_array+8*HCS_bit_array;hcs301.SerialNum = 0;for(int i = 6; i < 34;i++){hcs301.SerialNum = (hcs301.SerialNum << 1) + HCS_bit_array;};uint32_t Encript = 0;for(int i = 34; i < 66;i++){Encript = (Encript << 1) + HCS_bit_array;};hcs301.Encript = Encript;}} else {// поймали хрень какую то, отключаемсяHCS_preamble_count = 0;goto exit;}}}exit:;//digitalWrite(LED_PIN,cur_status);}https://www.microchip.com/en-us/solutions/wireless-connectivity/rf-remotes/ultimate-keeloq-technologyAs I understand it, to work with KeeLoq it is necessary to accept the conditions, this one is for the decoder (and it has for the encoder):https://www.microchip.com/en-us/solutions/wireless-connectivity/rf-remotes/ultimate-keeloq-technology/keeloq-technology-encoder-downloadhttps://www.microchip.com/en-us/solutions/wireless-connectivity/rf-remotes/ultimate-keeloq-technology/keeloq-technology-decoder-download## Terms and Conditions:QuoteKEELOQ HCS1XX/2XX/3XX Encoder Family:https://ww1.microchip.com/downloads/en/DeviceDoc/41162a.pdfKEELOQ HCS5XX Decoder Family:https://ww1.microchip.com/downloads/en/DeviceDoc/41161a.pdfTB001 - Secure Learning RKE Systems Using KEELOQ Encoders:http://ww1.microchip.com/downloads/en/AppNotes/91000a.pdfTB003 - An Introduction to KeeLoq Code Hopping:http://ww1.microchip.com/downloads/jp/AppNotes/91002a.pdfTB021 – A Guide to Designing for EuroHomelink Compatibility:http://ww1.microchip.com/downloads/cn/devicedoc/cn_00711a.pdfTB042 - Interfacing a KEELOQ Encoder to a PLL Circuit:http://ww1.microchip.com/downloads/en/Appnotes/91042a.pdfTB043 - KEELOQ CRC Verification Routines:http://ww1.microchip.com/downloads/en/Appnotes/91043a.pdfAN217 - KEELOQ HCS30X, HCS200 Stand-Alone Programmer:http://ww1.microchip.com/downloads/en/AppNotes/00217a.pdfAN645 - PIC16C57 Based Code Hopping Security System:http://ww1.microchip.com/downloads/en/AppNotes/00645C.pdfAN661 - Code Hopping Decoder Using a PIC16C56:http://ww1.microchip.com/downloads/en/AppNotes/00661C.pdfAN662 - KEELOQ Code Hopping Decoder Using Secure Learn:http://ww1.microchip.com/downloads/en/AppNotes/00662C.pdfAN663 - KEELOQ Simple Code Hopping Decoder:http://ww1.microchip.com/downloads/en/AppNotes/00663C.pdfAN665 - Using KEELOQ to Generate Hopping Passwords:http://ww1.microchip.com/downloads/en/AppNotes/00665B.pdfAN672 - PIC MCU Mid-Range Code Hopping Decoder:http://ww1.microchip.com/downloads/en/AppNotes/00672D.pdfAN714 - Wireless Home Security Implementing KEELOQ and the PIC Microcontrollerhttp://ww1.microchip.com/downloads/en/AppNotes/00714B.pdfAN740 - Decoding the HCS101 for Non-Secure Applications:http://ww1.microchip.com/downloads/en/AppNotes/00740a.pdfAN742 - Modular PICmicro Mid-Range MCU Code Hopping Decoder:http://ww1.microchip.com/downloads/en/appnotes/00742b.pdfAN744 - Modular Mid-Range PICmicro KEELOQ Decoder in C:http://ww1.microchip.com/downloads/en/appnotes/00744a.pdfAN745 - Modular Mid-Range PICmicro KeeLoq Decoder in C:https://github.com/hnhkj/documents/blob/master/KEELOQ/docs/AN745/00745a_c.pdfAN1259 - KeeLoq Microcontroller-based Code Hopping Encoder:http://ww1.microchip.com/downloads/en/Appnotes/01259B.pdfAN1265 - KeeLoq with AES Microcontroller-Based Code Hopping Encoder:http://ww1.microchip.com/downloads/en/Appnotes/01265B.pdfAN1266 - KeeLoq with XTEA Microcontroller-Based Code Hopping Encoder:http://ww1.microchip.com/downloads/en/Appnotes/01266B.pdfAN1275 - KEELOQ with Advanced Encryption Standard (AES) Receiver/Decoder:http://ww1.microchip.com/downloads/en/AppNotes/01275A.pdfAN1683A - Introduction to Ultimate KeeLoq Technology:http://ww1.microchip.com/downloads/en/AppNotes/00001683A.pdfProgramming KEELOQ Devices with the PRO MATE II Device Programmer:http://ww1.microchip.com/downloads/en/DeviceDoc/50033b.pdfUltimate KeeLoq Technology, the Next Generation of Security:http://ww1.microchip.com/downloads/en/DeviceDoc/00001577a.pdfKEELOQ Code Hopping Devices:http://ww1.microchip.com/downloads/en/DeviceDoc/keeloq.pdfKEELOQ Transponder Evaluation Kit:http://static6.arrow.com/aropdfconversion/2e3484d7effb3dd21ffb2b90310756393ace055/51147e.pdfKEELOQ EVALUATION KIT USER’S GUIDE:http://ww1.microchip.com/downloads/en/devicedoc/51044d.pdfKEELOQ EVALUATION KIT II User’s Guide:http://ww1.microchip.com/downloads/en/DeviceDoc/41155a.pdfKEELOQ 3 Development Kit User’s Guide:http://ww1.microchip.com/downloads/en/devicedoc/41378a.pdfWireless Remote Control Development Kit - 433.92 MHz:https://www.microchip.com/Developmenttools/ProductDetails/DM182017-1Wireless Remote Control Dev Kit Firmware:https://ww1.microchip.com/downloads/en/DeviceDoc/Microchip%20Wireless%20Remote%20Control%20Development%20Kit%20Software%20v2012-09-17.zipWireless Security Remote Control Development Kit User’s Guide:https://ww1.microchip.com/downloads/en/DeviceDoc/41646A.pdfIntegrated MCU with RF Transmitter on a Single Chip:https://ww1.microchip.com/downloads/en/DeviceDoc/41612b.pdf

author: voltsandjolts
author_rank: Unknown
timestamp: February 23, 2024, 07:00:05 pm
content: @cinpezzoyour message inbox is full so I can't respond...the message limit will be removed if you make some posts in the forum.FYI for others, cinpezzo was seeing a Keeloq problem described at this link...haven't investigated myself:https://forum.microchip.com/s/topic/a5C3l000000MeCbEAK/t384592QuoteQuote

author: cinpezzo
author_rank: Newbie
timestamp: September 10, 2024, 11:46:11 am
content: Thank youvoltsandjolts,looking forward to see if someone has any idea to investigate on. No answers also on Microchip forum right now.Regards,Nicola