As I sat down to start PCB design for my CV1800B based product I cruised around the MilkV and SophGo websites, forums, and githubs. Gleaned a lot of needed information which answered many questions and raised others. I still think cost/space for a tiny product I need will still be practical with CV1800B. But I just discovered the DuoModule and its EVB. Is it real or just vaporware? Any out in the wild? Production schedule? I will look closer at design specs to be sure it’s design could fit into my needs. Sometimes modules give a lot of integration but accidently remove access to one unique feature or I/O that I can’t live without. But already working DC/DC conversion with startup delays and oscillator crystals tested and tuned would help a lot.
Anybody have more concrete info before I talk to sales department on monday? If they let me know something and allow disclosure I will publish it.
I got the milkv duo 64M about 2 weeks ago and sifting through many things to make an open source board project in KiCAD for everyone to then make their own boards.
What interested me most was the second core and how it can run Arduino code that can be swapped out live while the first core runs Linux. It does wonders to speed up embedded low speed state machine driven hardware + software product development work.
The second thing that was most interesting is the 1GHz Linux CPU. This is as good as desktops and can run python which means its good enough to do data processing although a handicap with current buildroot sdk is that python3-sqlite3 is broken so it can’t do heavy lifting IoT work. The Ubuntu distro has python3-sqlite3 working but then it doesn’t do the Arduino thing just yet.
Everything is a little young so micropython doesn’t work yet - so give it all some time, and more things will work.
When it works, the combination of 2 cores for Arduino and Linux probably wipes the need of RTOS off the earth. Nobody writes 1MB of bare metal in Arduino C code but they will with RTOS code when most of that like web iterfaces and GUI should be in Linux and Python which already has this kind of infrastructure for desktop like applications along with package manager for upgrades.
The xtal area of the 64M duo board a little sensitive to touch - so that bit needs work to fix it (most xtal area is vulnerable like this but duo is too vulnerable).
The expansion board for milkv duo has circuit diagram to show how the Ethernet is wired up - but only one pair so you got 100mbit Ethernet which is OK. Probably try to add a RTL8213B and SFP to get fibre optic connection. In most parts of the developed and developing world, adding copper connectivity is a dead end due to cost. But putting in fibre is immensely cheap because glass fibre itself without cladding and connectors is $0.01 per meter, and not prone to lightening strikes, long distance cabling around villages, farms and factories (up to 20km). The plastic protection, connectors, and steel core adds cost to fibre but still cheap as 10gbit SFP is about $10 these days. And you can reuse that fibre at 10gbit should your needs arise without changing cable type. A $700 fully automatic fibre splicer is still overall low cost compared to cost say in wiring up a 10 acre farm with copper for say 100 sensors.
The 68 pin QFN takes up very little space and at a cost of $3, its also good for replacement for IO pins. Not many know this, but IO pins are directly related to size of silicon consumed. While chip area shrinks, IO pads cannot. So whether you buy GPIO pin expanders or simply use more CPUs for extra IO pins, your total cost is not significantly different because it is same amount of silicon due to number of IO pins taking up all the silicon cost. Better in my opinion just to throw in another CPU for flexibility than buy dedicated port expanders. To make it lower cost, the second CPU needs to boot off the first CPU through a imitation SDIO interface to mimic uSD card, and share clocks. I’m sure it can happen in the future if its not already being worked on.
Thanx for feedback. Still no info from Milk-V on modules schedule. The comments on crystal are interesting, in other post I’ve discussed using active oscillator. Found SG2002 document “approving” use. So i will use in my design. Fiber head interesting, wonder if copper to a mass produced copper/fiber converter would be better.
Bottom line, starting design with SG2002 baremetal and will see how it goes.
I’m going for CV1800B - anything above that is just too powerful and higher cost for Arduino like projects with Linux do to the data processing.
There are mass produced copper fibre converters under $10: https://www.aliexpress.com/item/1005005488837041.html
But I checked it, and the small bits of Ethernet wire cross talk is enough to render a cluster to operate at 600mbits net throughput for the ENTIRE cluster when they could be doing 1gbit each at same time. So I’m thinking keep it simple and optical end to end for all future projects for ever more denser clusters.