Let’s Talk About Hardware Design

Today I find some interesting, my android test phone: a white XiaoMi4 can not read SIM. I am using it to communicate with VoCore through GSM/3G/4G internet to test Cloud service( will public later πŸ™‚ ), so I change SIM card frequently. Unfortunately, this new phone, after about several times SIM plug in/plug out, it can not read SIM anymore.

This is the XiaoMi phone:
IMG_0078
IMG_0079

This is my old test phone:
IMG_0082
IMG_0081

This is iPhone6
IMG_0084
IMG_0083

Can you find the difference?
iPhone 6 and my old test phone SIM card metal pads are at bottom once installed, but XiaoMi is at top. So if your plug in/plug out some more, once the SIM card is not that flat, it will broken the phone’s SIM pin.

From this small issue, we know, hardware design is an true art. Every detail must consider carefully. Apple is really good at this πŸ™‚ XiaoMi copy the surface, but not the inside…shame.

VoCore: No LuCI

I prefer goahead as the web server, due to LuCI is too slow and take too much memory, LuCI2 might be better, I did not test yet, from the intro, LuCI2 is using pipe, is that a good idea?
Using goahead, we do not need httpd, lua back server, etc, it is much simple and beautiful.
Just compiled a goahead, and put my simple bootstrap site on it, works really great! Fast, stable, less resource consume. And most important, very easy to call backend C functions.
Does anybody know why not choose goahead for openwrt as default web server at beginning? Secure reason?

Later, I will write a blog about how to make goahead run on openwrt/VoCore. πŸ™‚

x

VoCore: Change to IPX Socket

This is some NG(not good) boards from factory, in fact, they just lose antenna, no other issue, easy to fix.
I upgrade some into IPX socket. Very easy, and looks like wifi signal is better than the blue antenna. Of course the IPX antenna is much bigger πŸ™‚
PS: I do not know the exactly name of such socket, just watch the picture.

(The PCB board is not washed after the fix)
IMG_0016

Big picture:
IMG_0017

How to make that? Very easy.
The GND connect to the golden pad in the orange rectangle; the feed pad connect to the green point, then it works.
IMG_0018

Better to use some glue, two pads are not that stable.

VoCore: Mass Production 7

Finally, everything is done πŸ™‚
Docks are ready and will transfer to post office in two days.

I have some experience:
1. I heard many bad stories about the quality of “made in ShenZhen”(or made in China), I am a little “scared” before I do it , very carefully to choose the factory. I asked many friends and search,search,search…(I am a Chinese, but be honest, I do not have much confidence.)
But finally, I find most of the stories are not true.
When I talk with the materials provider, they just give me two lists, one is from original factory(always big factory), one with fake on it(from country side, electrical rubbish etc). To get good one, you have to cost twice or even more. They just tell everything and leave the choice to you.
Of course, I choose the good one. The benefit is obvious, VoCore good rate is over 99.9%, rest 0.1% issue is some antennas lost in SMT…So in another word, the good rate is almost 100%( from test. πŸ™‚ )
The higher the price, the better the quality of the merchandise.

2. Assemble/SMT. There is not much to say, due to 90% work are done by machines, the machines are all from Samsung(their main job is to do work for Samsung Phone/Pad etc), only test part there is a little human work -> put VoCore to the test fixture…They click “Start” on my test application, wait, until the app say “Yes” or “No”.
The factory engineers are very experienced, they help me a lot when I design the test application. I think this is bonus for made in China, most of the production made here, you do not have to cost time and money to design a new test process, but just improve current test process, and get a even better quality.

3. Some suggestions for hardware hobbyists all over the world. If you want to make your production in ShenZhen, better to have a Chinese in your team deal with the factory, some factories have salesman speak English, but engineers do not speak English, if they have problem in the production(this always happen), it will be hard to communicate.
99% of Chinese people are good, if you meet the 1% bad one, you will lose everything. To avoid such problem is easy, just compare, compare, compare…and most important thing, careful if the quote is too low(especially some small factories, their quote is always unbelievable low, 40%~60% as the good quality ones), they use second-hand chip or rubbish chip and you will never know, they can pass your test, even 20% production is NG, they still earn a lot, unless you stay there and monitor them in factory everyday.

Finally, I do not care VoCore is OSHW or not, I do not intent to make it as a “sell” point. I just remember when I was very young, the electrical products are all have schematic in the manual, and my father helped me study the radio…
do not know when that disappeared, just want the happy days back. ^_^

VoCore v1.0

Now, all source are able to download fromΒ http://www.vocore.io/wiki/index/id:11, as I promised, once the package shipped, the code open.
That layout file is .asc which should be imported by PADS2007 or later version.(The PCB factory only accept PADS due to they only have PADS) Welcome to change it to other CAD format. πŸ™‚

VoCore & Intel Edison & MT7688

Two days busy on the shipping and dealing with factory about the dock assemble test, here are some news:

First News:
Intel Edison comes.

I made a simple compare πŸ™‚

VoCore Win
Size:
VoCore -> 25.6 x 25.6 x 3.4;
Edison -> 35.5 x 25.0 x 3.9;

Output:
VoCore -> 1.8V 200mA, 3.3V 300mA;
Edison -> 1.8V 100mA, 3.3V 100mA;

Input:
VoCore -> 3.3V ~ 6.0V
Edison -> 3.3V ~ 4.5V

Price:
VoCore -> 20USD
Edison -> 50USD

Edison Win
Edison: x86Β x 2, 1GB memory
VoCore: MIPS, 32MB memory

Edison: BlueTooth
VoCore: N/A

Edison: 4GB eMMC
VoCore: 16MB SPI Flash

Fair
Input:
VoCore -> 5V, 200mA
Edison -> 3.3V, 300mA

FCCID:
VoCore -> passed, without shell
Edison -> passed, with shell

I am so happy my VoCore still have some points beat the Intel Edison πŸ˜€ VoCore is totally open source, but I think Intel will never do that.

Second News:
MT7688 is coming, I heard some rumours, the final chip has two versions, one with 8MB memory(not enough πŸ™ ), one without memory, speed is same as MT7620, 580MHz, but power consume is 0.6watt(is this greater than AR9331’s 0.5watt?)

VoCore: New Forum

New forum is ready: forum.vocore.io

Now I am trying to move the old vonger.cn/?forum=vocoreΒ threads to the new forum. πŸ™‚

This should be the final forum shape.

Screen Shot 2014-10-20 at 11.42.04

VoCore: Mass Production 6

I am crazy…
The factory just made a new big mistake(or accident), they deleted all the test log, just for a stupid reason, those test logs took too much disk space…and they ‘think’ the productions had done the test, that should be useless. Simply ignore my notify, ye, I notified them to keep the log at least three times, in face or phone call. T-T Now they are trying to recover the deleted data…
I planed to use that log to trace the production quality…If user gets the VoCore but has problem, at least I have some data to trace.
They agree if the log can not back, they will test again, but I can not wait. Just hope the log be recovered.

VoCore: Two UARTs

Enable two UARTs for VoCore, one UART lite, one UART full.
Just need to change DTS a little:(VOCORE.dts under openwrt source code)

First, enable uart@500

uart@500 {
    status = "okay";
};

Then, remove uartf from ralink,group:gpio.

pinctrl {
    state_default: pinctrl0 {
        gpio {
            ralink,group = "jtag", "led"; -> remove "uartf"
            ralink,function = "gpio";
        };
    };
};

Finally, delete the code that export uartf as gpio:
in gpio-export section, remove gpio7, gpio8, gpio9, gpio10, gpio11, gpio12, gpio13, gpio14. If we keep them will get some error in log, but no effect to system boot.
PS: find a possible bug here, gpio10 and gpio11 are missed πŸ™‚

Now good news is the two UARTs work same time, bad news is we lose eight gpio. πŸ˜‰
Hope one day a hero will make a new rt5350-uart driver, so that allows ralink-function=”uartf,gpio”, then we can save 4 gpios. It is a good chance to practise Linux driver code. πŸ˜€