Develop a QCA7000 board?
- uhi22
- Posts: 646
- Joined: Mon Mar 14, 2022 3:20 pm
- Location: Ingolstadt/Germany
- Has thanked: 93 times
- Been thanked: 426 times
Develop a QCA7000 board?
Let's discuss here the idea to make a CCS charge controller from scratch.
Background:
- At the moment, the most used CCS controller in EV conversions seems to be the BWM I3 LIM (viewtopic.php?t=1289). There are some other, but all of them rely on the availability of the original part, which is not open source, and need some workarounds to integrate it in the car.
- The AR7420, together with pyPLC on a Raspberry or similar is okay for experimentation, but not really an embedded solution. (viewtopic.php?t=2262)
- The AR7420, together with the ESP32-based WT32-ETH01 still uses an Ethernet cable, which is also not really automotive-like.
- There are some integrated boards available (e.g. RedBeet, YellowBeet, plc stamp, ...), which contain a QCA7000 and some of the parts around it, but: expensive, proprietary, not open-source.
Idea: Would it make sense and would it be possible to make a board from scratch, which contains a CAN-capable controller and a QCA7000/QCA7005?
What we know so far:
- A data sheet of the QCA7000 is here: viewtopic.php?p=28203#p28203
- A schematic (draft?) for the QCA7000 is available on github (https://github.com/Millisman/QCA7000)
- SPI recordings from OEM parts are available (e.g. viewtopic.php?p=57540#p57540).
- Hardware designs can be inherited from the many OEM designs.
- Content of the necessary SPI FLASH is known and can be just re-used. This contains the firmware and the configuration (PIB). (e.g. https://github.com/uhi22/Ioniq28Investi ... i-flash-u4)
- QCA7000 and QCA7005 are the same part, only the housing is slightly different (viewtopic.php?p=57030#p57030)
- The alternatives for QCA seem to be on the market, but not really available in terms of data sheets. (viewtopic.php?p=47381#p47381)
- A linux driver is available, this creates a virtual ethernet port, and could be run with pyPLC on a raspberry for first tests. (https://github.com/SmartEVSE/SmartEVSE-3/issues/25)
- A draft of embedded implementation of EVCC is available in https://github.com/uhi22/ccs32, this can be adapted to use SPI instead of ethernet.
What is missing, to continue this way? There was some NDA discussion somewhere, but from the available information, it seems possible to develop the board also without asking Qualcomm for documents.
Any feedback welcome
Background:
- At the moment, the most used CCS controller in EV conversions seems to be the BWM I3 LIM (viewtopic.php?t=1289). There are some other, but all of them rely on the availability of the original part, which is not open source, and need some workarounds to integrate it in the car.
- The AR7420, together with pyPLC on a Raspberry or similar is okay for experimentation, but not really an embedded solution. (viewtopic.php?t=2262)
- The AR7420, together with the ESP32-based WT32-ETH01 still uses an Ethernet cable, which is also not really automotive-like.
- There are some integrated boards available (e.g. RedBeet, YellowBeet, plc stamp, ...), which contain a QCA7000 and some of the parts around it, but: expensive, proprietary, not open-source.
Idea: Would it make sense and would it be possible to make a board from scratch, which contains a CAN-capable controller and a QCA7000/QCA7005?
What we know so far:
- A data sheet of the QCA7000 is here: viewtopic.php?p=28203#p28203
- A schematic (draft?) for the QCA7000 is available on github (https://github.com/Millisman/QCA7000)
- SPI recordings from OEM parts are available (e.g. viewtopic.php?p=57540#p57540).
- Hardware designs can be inherited from the many OEM designs.
- Content of the necessary SPI FLASH is known and can be just re-used. This contains the firmware and the configuration (PIB). (e.g. https://github.com/uhi22/Ioniq28Investi ... i-flash-u4)
- QCA7000 and QCA7005 are the same part, only the housing is slightly different (viewtopic.php?p=57030#p57030)
- The alternatives for QCA seem to be on the market, but not really available in terms of data sheets. (viewtopic.php?p=47381#p47381)
- A linux driver is available, this creates a virtual ethernet port, and could be run with pyPLC on a raspberry for first tests. (https://github.com/SmartEVSE/SmartEVSE-3/issues/25)
- A draft of embedded implementation of EVCC is available in https://github.com/uhi22/ccs32, this can be adapted to use SPI instead of ethernet.
What is missing, to continue this way? There was some NDA discussion somewhere, but from the available information, it seems possible to develop the board also without asking Qualcomm for documents.
Any feedback welcome
Github: http://github.com/uhi22 --- Patreon: https://www.patreon.com/uhi22
- celeron55
- Posts: 776
- Joined: Thu Jul 04, 2019 3:04 pm
- Location: Finland
- Has thanked: 29 times
- Been thanked: 110 times
- Contact:
- uhi22
- Posts: 646
- Joined: Mon Mar 14, 2022 3:20 pm
- Location: Ingolstadt/Germany
- Has thanked: 93 times
- Been thanked: 426 times
Re: Develop a QCA7000 board?
Not really. I only found it with exorbitant prices and/or high volume. But I hope this is a temporary situation. Qualcomm announced a compatible successor (https://www.qualcomm.com/products/autom ... /qca7006aq), I hope if the chip-shortage is over, it should be possible to find the old or the new for below 10 Euros in small batch quantities.
Github: http://github.com/uhi22 --- Patreon: https://www.patreon.com/uhi22
-
- Posts: 120
- Joined: Sun Nov 08, 2020 11:33 am
- Been thanked: 2 times
Re: Develop a QCA7000 board?
Availabilitywise, the Lumissil chip would probably be a good choice if data can be found.
Though long-term, harvesting ar7420s from powerline adapters may be better, as you're not dependent on Mouser continuing to stock them
I don't know if the AR has a SPI interface, bur if not it should be possible to couple it direct to an Ethernet capable MCU easily enough, maybe without needing magnetics.
Something talking via ethernet may also be more amenable to debugging via Wireshark.
Basing on the AR also gives the option of using the same firmware on a plc modem almost as-is without transplanting it to a new PCB.
Though long-term, harvesting ar7420s from powerline adapters may be better, as you're not dependent on Mouser continuing to stock them
I don't know if the AR has a SPI interface, bur if not it should be possible to couple it direct to an Ethernet capable MCU easily enough, maybe without needing magnetics.
Something talking via ethernet may also be more amenable to debugging via Wireshark.
Basing on the AR also gives the option of using the same firmware on a plc modem almost as-is without transplanting it to a new PCB.
-
- Posts: 120
- Joined: Sun Nov 08, 2020 11:33 am
- Been thanked: 2 times
Re: Develop a QCA7000 board?
I'm not aware thatthe QCA was ever available outside of Aliexpress boards, and those seem to have got rather pricyI hope if the chip-shortage is over, it should be possible to find the old or the new for below 10 Euros in small batch quantities.
Finding specialist chips like this in small qtys is always likely to be a challenge long term, so if there is consumer hardware like the powerline boxes out there, I doubt it will ever be hard to find the odd one on ebay to harvest the chip from.
-
- Posts: 120
- Joined: Sun Nov 08, 2020 11:33 am
- Been thanked: 2 times
Re: Develop a QCA7000 board?
mikeselectricstuff wrote: ↑Wed Jun 14, 2023 4:21 pm Availabilitywise, the Lumissil chip would probably be a good choice if data can be found. there is someone on this forum that is working on it under NDA - not ideal but they say there will be a public release.
viewtopic.php?p=55334#p55334
Though long-term, harvesting ar7420s from powerline adapters may be better, as you're not dependent on Mouser/Digikey continuing to stock them
I don't know if the AR has a SPI interface, bur if not it should be possible to couple it direct to an Ethernet capable MCU easily enough, maybe without needing magnetics.
Something talking via ethernet may also be more amenable to debugging via Wireshark.
Basing on the AR also gives the option of using the same firmware on a plc modem almost as-is without transplanting it to a new PCB.
- uhi22
- Posts: 646
- Joined: Mon Mar 14, 2022 3:20 pm
- Location: Ingolstadt/Germany
- Has thanked: 93 times
- Been thanked: 426 times
Re: Develop a QCA7000 board?
Found on Ali, they sell two pices for ~80Euros. Really crazy.
https://de.aliexpress.com/item/10050021 ... RmapEQvkb7
https://de.aliexpress.com/item/10050021 ... RmapEQvkb7
Github: http://github.com/uhi22 --- Patreon: https://www.patreon.com/uhi22
Re: Develop a QCA7000 board?
I really like this idea. It's probably going to be beyond my knowledge and ability to help in any meaningful way, but I'll be following along just the same.
- catphish
- Posts: 955
- Joined: Fri Oct 08, 2021 11:02 pm
- Location: Dorset, UK
- Has thanked: 94 times
- Been thanked: 179 times
Re: Develop a QCA7000 board?
Since it's available in small quantities and sanely priced, perhaps someone should approach Lumissil and get the datasheet for the IS32CG5317 under NDA. While it's not ideal using a part with a closed datasheet, this is clearly inevitable. Once a driver is written, other people should be able to use the chip without needing the full details.
- catphish
- Posts: 955
- Joined: Fri Oct 08, 2021 11:02 pm
- Location: Dorset, UK
- Has thanked: 94 times
- Been thanked: 179 times
Re: Develop a QCA7000 board?
I've been doing a lot of hardware design recently, so I'd be interested to get together with someone to work on this.
I'd ideally want to look at implementing the software in a MCU at the same time based on our existing working knowledge of the protocols, in order to make a small unified device.
My biggest blocker has always been not having an EVSE to work against.
I'd ideally want to look at implementing the software in a MCU at the same time based on our existing working knowledge of the protocols, in order to make a small unified device.
My biggest blocker has always been not having an EVSE to work against.
- uhi22
- Posts: 646
- Joined: Mon Mar 14, 2022 3:20 pm
- Location: Ingolstadt/Germany
- Has thanked: 93 times
- Been thanked: 426 times
Re: Develop a QCA7000 board?
I'm in the boat, at least for reviewing a schematic, layout, some software contribution, and real-world testing (without car, only the "light-bulb-test").
The missing EVSE is not a blocker. I just use pyPLC in EVSE mode on the desk, this also supports fault injection to test some error cases besides the good case. It makes it possible to get the things as stable, before driving to real chargers.
The missing EVSE is not a blocker. I just use pyPLC in EVSE mode on the desk, this also supports fault injection to test some error cases besides the good case. It makes it possible to get the things as stable, before driving to real chargers.
Github: http://github.com/uhi22 --- Patreon: https://www.patreon.com/uhi22
- projectgus
- Posts: 47
- Joined: Tue Dec 08, 2020 10:33 am
- Location: Castlemaine, Australia
- Has thanked: 20 times
- Been thanked: 14 times
- Contact:
Re: Develop a QCA7000 board?
I'd been idly daydreaming about doing something like this, although I think I need to finish some other projects first. My particular daydream was an ESP32-S3 or C3 based board, it would be pretty straightforward to integrate the SPI interface as an ethernet driver in ESP-IDF. But plenty of different designs that could work!
Taobao can be a bit daunting if you don't read/write chinese, but there are taobao agents who can purchase for you and re-ship internationally. If it's helpful then I'd also be happy to facilitate a group buy shipping to an address somewhere in the EU.
Ouch! Some taobao vendors are offering slightly more reasonable prices, for example this one at ¥78 (10 Euros) each. The seller's listing says to message for a quote before purchasing, so I messaged and asked about qty 10 - they said they have that quantity available immediately at the listed price.uhi22 wrote: ↑Thu Jun 15, 2023 7:51 am Found on Ali, they sell two pices for ~80Euros. Really crazy.
https://de.aliexpress.com/item/10050021 ... RmapEQvkb7
Taobao can be a bit daunting if you don't read/write chinese, but there are taobao agents who can purchase for you and re-ship internationally. If it's helpful then I'd also be happy to facilitate a group buy shipping to an address somewhere in the EU.
- uhi22
- Posts: 646
- Joined: Mon Mar 14, 2022 3:20 pm
- Location: Ingolstadt/Germany
- Has thanked: 93 times
- Been thanked: 426 times
Re: Develop a QCA7000 board?
Sounds really good. Even If I have no idea whether I'm able to solder QFN, I would just order 20 pieces for 10 Euros plus shipping.
Regarding the controller I'm not sure. ESP32 sounds ok, but I'm not sure whether its CAN issue is solved. STM32 may be the better choice, but I have no experience with it.
Regarding the controller I'm not sure. ESP32 sounds ok, but I'm not sure whether its CAN issue is solved. STM32 may be the better choice, but I have no experience with it.
Github: http://github.com/uhi22 --- Patreon: https://www.patreon.com/uhi22
- celeron55
- Posts: 776
- Joined: Thu Jul 04, 2019 3:04 pm
- Location: Finland
- Has thanked: 29 times
- Been thanked: 110 times
- Contact:
Re: Develop a QCA7000 board?
I can imagine one option would be to get a batch made of some sort of compact carrier boards without the mcu or anything "extra", to concentrate supply issues to an otherwise trivial board, and then more leisurely develop mcu+i/o boards that can utilize it without any other hard to find parts.
- chrskly
- Posts: 149
- Joined: Fri Feb 21, 2020 5:04 pm
- Location: Dublin, Ireland
- Has thanked: 39 times
- Been thanked: 38 times
- Contact:
Re: Develop a QCA7000 board?
I too have been looking into this
There are a couple of other options, although a little pricey still. But they get around the NDA issue.
Rak WisLink LV200V20 based on QCA6410. $29 each
RED Beet H based on QCA7005. €29.50 each.
Edit: ah, rereading the original post, I see the Red Beet has been mentioned before.
There are a couple of other options, although a little pricey still. But they get around the NDA issue.
Rak WisLink LV200V20 based on QCA6410. $29 each
RED Beet H based on QCA7005. €29.50 each.
Edit: ah, rereading the original post, I see the Red Beet has been mentioned before.
Christian
My 1965 Ford Mustang project
chrskly.com
My 1965 Ford Mustang project
chrskly.com
- uhi22
- Posts: 646
- Joined: Mon Mar 14, 2022 3:20 pm
- Location: Ingolstadt/Germany
- Has thanked: 93 times
- Been thanked: 426 times
Re: Develop a QCA7000 board?
As a starting point, created an "ugly board":
- contains only the QCA7005 and its flash. No controller, no power supply, no CP resistor things.
- uses the big 1206 for most of the components, because this simplifies the hand-soldering
- uses only two layers. This is not the optimum RF design. Would be better to have four layers.
- contains lot of room for optimization. It's just a very early example.
Key features:- contains only the QCA7005 and its flash. No controller, no power supply, no CP resistor things.
- uses the big 1206 for most of the components, because this simplifies the hand-soldering
- uses only two layers. This is not the optimum RF design. Would be better to have four layers.
- contains lot of room for optimization. It's just a very early example.
Github: http://github.com/uhi22 --- Patreon: https://www.patreon.com/uhi22
- catphish
- Posts: 955
- Joined: Fri Oct 08, 2021 11:02 pm
- Location: Dorset, UK
- Has thanked: 94 times
- Been thanked: 179 times
Re: Develop a QCA7000 board?
Definitely use 4 layers. It makes routing much easier and the cost difference is negligible these days from JLCPCB.
- johu
- Site Admin
- Posts: 5831
- Joined: Thu Nov 08, 2018 10:52 pm
- Location: Kassel/Germany
- Has thanked: 162 times
- Been thanked: 1045 times
- Contact:
Re: Develop a QCA7000 board?
just wanted to cross link this (QCA daughter boards): viewtopic.php?p=58123#p58123
Support R/D and forum on Patreon: https://patreon.com/openinverter - Subscribe on odysee: https://odysee.com/@openinverter:9
- uhi22
- Posts: 646
- Joined: Mon Mar 14, 2022 3:20 pm
- Location: Ingolstadt/Germany
- Has thanked: 93 times
- Been thanked: 426 times
Re: Develop a QCA7000 board?
While some components are on the way to me, started with the software, using an ESP32 board and connected it via SPI to the QCA7005 on the Hyundai CCM. Reading the software version works. https://github.com/uhi22/ccs32berta
Github: http://github.com/uhi22 --- Patreon: https://www.patreon.com/uhi22
Re: Develop a QCA7000 board?
Very interesting. I was thinking it might be nice to have an Ethernet to PLC bridge module.
For instance: Olimex POE ESP32 which has a LAN8710A Ethernet chip on it, and Power over Ethernet.
If you'd hook that up to a QCA700X or a IS32CG5317 (Which at least I can purchase...) you'd have a module with just two wires at one end for PLC and an Ethernet cable on the other end.
Since it's only 10/100M you can use the cheap POE standard and just use 4 wires for data and 4 for 12V and leave out the POE chip all together.
Or maybe with a ENC28J60 you can use an even lower end microcontroller.
I think that's more or less what the AR7420 does in a single chip.
For instance: Olimex POE ESP32 which has a LAN8710A Ethernet chip on it, and Power over Ethernet.
If you'd hook that up to a QCA700X or a IS32CG5317 (Which at least I can purchase...) you'd have a module with just two wires at one end for PLC and an Ethernet cable on the other end.
Since it's only 10/100M you can use the cheap POE standard and just use 4 wires for data and 4 for 12V and leave out the POE chip all together.
Or maybe with a ENC28J60 you can use an even lower end microcontroller.
I think that's more or less what the AR7420 does in a single chip.
- uhi22
- Posts: 646
- Joined: Mon Mar 14, 2022 3:20 pm
- Location: Ingolstadt/Germany
- Has thanked: 93 times
- Been thanked: 426 times
Re: Develop a QCA7000 board?
Yes, there are really many possibilities, and each of it has some special pro's and con's. At the moment I have the impression that the ethernet is not really an automotive solution (at least for DIY), so my direction is to have a simple board which has PLC on the one side and CAN on the other. Or even integrate the PLC modem just into an existing VCU board, if there are ressources (SPI, RAM, ROM, time) free. But, yes, looking to modern cars, ethernet is definitely in the boat.
The prove-of-concept, that ESP32 and QCA7005 are able to play together as charge controller, works now: https://github.com/uhi22/ccs32berta
The prove-of-concept, that ESP32 and QCA7005 are able to play together as charge controller, works now: https://github.com/uhi22/ccs32berta
Github: http://github.com/uhi22 --- Patreon: https://www.patreon.com/uhi22
- catphish
- Posts: 955
- Joined: Fri Oct 08, 2021 11:02 pm
- Location: Dorset, UK
- Has thanked: 94 times
- Been thanked: 179 times
Re: Develop a QCA7000 board?
Have you actually build this? I see it's now possible to buy the QCA7005!uhi22 wrote: ↑Wed Jun 21, 2023 7:04 pm As a starting point, created an "ugly board":
image.png
Key features:
- contains only the QCA7005 and its flash. No controller, no power supply, no CP resistor things.
- uses the big 1206 for most of the components, because this simplifies the hand-soldering
- uses only two layers. This is not the optimum RF design. Would be better to have four layers.
- contains lot of room for optimization. It's just a very early example.
https://www.aliexpress.com/item/1005005 ... W_eSuXFtpY
https://www.alibaba.com/product-detail/ ... 31kXOWtL2Q
My preference would be to couple this with a STM32, but ESP32 could also work.
Essentially we just need:
* Flash
* QCA7005
* CAN transceiver
* STM32
* Power supply
- uhi22
- Posts: 646
- Joined: Mon Mar 14, 2022 3:20 pm
- Location: Ingolstadt/Germany
- Has thanked: 93 times
- Been thanked: 426 times
Re: Develop a QCA7000 board?
The PCB and components are on the way. Then will try to make it running in the next weeks. Based on the results, plan to add the other components. But I guess this will need some time. Any alternative designs welcome, so maybe we can split the effort.
Edit: PCBs arrived, but the QCA7005 not yet.
Edit: PCBs arrived, but the QCA7005 not yet.
Github: http://github.com/uhi22 --- Patreon: https://www.patreon.com/uhi22
- uhi22
- Posts: 646
- Joined: Mon Mar 14, 2022 3:20 pm
- Location: Ingolstadt/Germany
- Has thanked: 93 times
- Been thanked: 426 times
Re: Develop a QCA7000 board?
Regarding the power supply: We need something that converts the 12V (9 to 30) from the car to 3.3V. I found two options in the openinverter projects. Both are using a step down from 12V to 5V and a linear regulator from 5V to 3.3V.
The main difference is the IC for the step-down-converter:
(1) zombieverter: XL1509-5.0 with L=68uH, 150kHz, 2A output
(2) GS450H_VCU_V3: MP2359DJ with L=4.7uH, 1.2MHz, 1.2A output
In common, both use ams1117-3.3V linear from 5V to 3.3V, output 1A.
Both would fit to the needs for the QCA7005 and a controller plus some small other consumers. Both look uncomplicated, the parts are available and cheap.
Any preferences? Or even better solutions?
The main difference is the IC for the step-down-converter:
(1) zombieverter: XL1509-5.0 with L=68uH, 150kHz, 2A output
(2) GS450H_VCU_V3: MP2359DJ with L=4.7uH, 1.2MHz, 1.2A output
In common, both use ams1117-3.3V linear from 5V to 3.3V, output 1A.
Both would fit to the needs for the QCA7005 and a controller plus some small other consumers. Both look uncomplicated, the parts are available and cheap.
Any preferences? Or even better solutions?
Github: http://github.com/uhi22 --- Patreon: https://www.patreon.com/uhi22