Develop a QCA7000 board?

Development and discussion of fast charging systems eg Chademo , CCS etc
Post Reply
User avatar
uhi22
Posts: 601
Joined: Mon Mar 14, 2022 3:20 pm
Location: Ingolstadt/Germany
Has thanked: 91 times
Been thanked: 412 times

Develop a QCA7000 board?

Post by uhi22 »

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 :-)
User avatar
celeron55
Posts: 776
Joined: Thu Jul 04, 2019 3:04 pm
Location: Finland
Has thanked: 28 times
Been thanked: 110 times
Contact:

Re: Develop a QCA7000 board?

Post by celeron55 »

Is the QCA700x available for purchase in small batch quantities?
User avatar
uhi22
Posts: 601
Joined: Mon Mar 14, 2022 3:20 pm
Location: Ingolstadt/Germany
Has thanked: 91 times
Been thanked: 412 times

Re: Develop a QCA7000 board?

Post by uhi22 »

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.
mikeselectricstuff
Posts: 120
Joined: Sun Nov 08, 2020 11:33 am
Been thanked: 2 times

Re: Develop a QCA7000 board?

Post by mikeselectricstuff »

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.
mikeselectricstuff
Posts: 120
Joined: Sun Nov 08, 2020 11:33 am
Been thanked: 2 times

Re: Develop a QCA7000 board?

Post by mikeselectricstuff »

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.
I'm not aware thatthe QCA was ever available outside of Aliexpress boards, and those seem to have got rather pricy

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.
mikeselectricstuff
Posts: 120
Joined: Sun Nov 08, 2020 11:33 am
Been thanked: 2 times

Re: Develop a QCA7000 board?

Post by mikeselectricstuff »

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.
User avatar
uhi22
Posts: 601
Joined: Mon Mar 14, 2022 3:20 pm
Location: Ingolstadt/Germany
Has thanked: 91 times
Been thanked: 412 times

Re: Develop a QCA7000 board?

Post by uhi22 »

Found on Ali, they sell two pices for ~80Euros. Really crazy.
https://de.aliexpress.com/item/10050021 ... RmapEQvkb7
Zieg
Posts: 140
Joined: Mon Apr 25, 2022 3:31 am
Has thanked: 58 times
Been thanked: 52 times

Re: Develop a QCA7000 board?

Post by Zieg »

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.
User avatar
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?

Post by catphish »

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.
User avatar
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?

Post by catphish »

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.
User avatar
uhi22
Posts: 601
Joined: Mon Mar 14, 2022 3:20 pm
Location: Ingolstadt/Germany
Has thanked: 91 times
Been thanked: 412 times

Re: Develop a QCA7000 board?

Post by uhi22 »

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.
User avatar
projectgus
Posts: 47
Joined: Tue Dec 08, 2020 10:33 am
Location: Castlemaine, Australia
Has thanked: 19 times
Been thanked: 14 times
Contact:

Re: Develop a QCA7000 board?

Post by projectgus »

I'd been idly daydreaming about doing something like this, although I think I need to finish some other projects first. :lol: 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!
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
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.

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.
User avatar
uhi22
Posts: 601
Joined: Mon Mar 14, 2022 3:20 pm
Location: Ingolstadt/Germany
Has thanked: 91 times
Been thanked: 412 times

Re: Develop a QCA7000 board?

Post by uhi22 »

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.
User avatar
celeron55
Posts: 776
Joined: Thu Jul 04, 2019 3:04 pm
Location: Finland
Has thanked: 28 times
Been thanked: 110 times
Contact:

Re: Develop a QCA7000 board?

Post by celeron55 »

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.
User avatar
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?

Post by chrskly »

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.
User avatar
uhi22
Posts: 601
Joined: Mon Mar 14, 2022 3:20 pm
Location: Ingolstadt/Germany
Has thanked: 91 times
Been thanked: 412 times

Re: Develop a QCA7000 board?

Post by uhi22 »

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.
Zieg
Posts: 140
Joined: Mon Apr 25, 2022 3:31 am
Has thanked: 58 times
Been thanked: 52 times

Re: Develop a QCA7000 board?

Post by Zieg »

Awesome! I'm guessing dual layer for easy prototyping then?
User avatar
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?

Post by catphish »

uhi22 wrote: Wed Jun 21, 2023 7:04 pm - uses only two layers. This is not the optimum RF design. Would be better to have four layers.
Definitely use 4 layers. It makes routing much easier and the cost difference is negligible these days from JLCPCB.
User avatar
johu
Site Admin
Posts: 5789
Joined: Thu Nov 08, 2018 10:52 pm
Location: Kassel/Germany
Has thanked: 157 times
Been thanked: 1023 times
Contact:

Re: Develop a QCA7000 board?

Post by johu »

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
User avatar
uhi22
Posts: 601
Joined: Mon Mar 14, 2022 3:20 pm
Location: Ingolstadt/Germany
Has thanked: 91 times
Been thanked: 412 times

Re: Develop a QCA7000 board?

Post by uhi22 »

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
Infant
Posts: 2
Joined: Sun Jul 02, 2023 10:20 am
Location: Zaltbommel, Netherlands

Re: Develop a QCA7000 board?

Post by Infant »

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.
User avatar
uhi22
Posts: 601
Joined: Mon Mar 14, 2022 3:20 pm
Location: Ingolstadt/Germany
Has thanked: 91 times
Been thanked: 412 times

Re: Develop a QCA7000 board?

Post by uhi22 »

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
User avatar
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?

Post by catphish »

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.
Have you actually build this? I see it's now possible to buy the QCA7005!
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
User avatar
uhi22
Posts: 601
Joined: Mon Mar 14, 2022 3:20 pm
Location: Ingolstadt/Germany
Has thanked: 91 times
Been thanked: 412 times

Re: Develop a QCA7000 board?

Post by uhi22 »

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.
image.png
User avatar
uhi22
Posts: 601
Joined: Mon Mar 14, 2022 3:20 pm
Location: Ingolstadt/Germany
Has thanked: 91 times
Been thanked: 412 times

Re: Develop a QCA7000 board?

Post by uhi22 »

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?
Post Reply