note2: in order to increase antenna sencitive, RF parts change to 0201.

note1: DDR2 is ESD sencitive, better to use hot air solder without touch

Parameters

Details SIZE 25.6mm x 25.6mm x 3.0mm CPU MT7628, 580 MHz, MIPS 24K MEMORY 128MB, DDR2, 166MHz STORAGE 16M NOR on board, support SDXC up to 2TB WIRELESS 802.11n, 2T2R, speed up to 300Mbps. ANTENNA One U.FL slot, one on board antenna. ETHERNET 1 port/5 ports, up to 100Mbps. USB Support USB 2.0(host only), up to 480MBit/s. GPIO around 40 (pinmux) UART x3 (UART2 for debug console) PWM x4 PCIe(option) x1(option) TEMPERATURE 0C ~ 40C(full load) or -10C ~ 70C POWER SUPPLY 3.6V ~ 5.5V, 500mA POWER CONSUMPTION 74mA wifi standby, 230mA wifi full speed, 5V input. LOGIC LEVEL all logic pins are 3.3V, current 4mA/8mA

Sources

PCB&SCH: Download md5:882079c4bf94b5f27e0769a553bdb670

SMT Mount Footprint: Download

OpenWrt 18.06.5: Download md5:641a804d4ec78ae0be8841d313b06a87

MediaTek SDK: Download md5:4591c418ba6599920337859633d2aa18

UBoot: Download (Github)

WiFi Driver: Download (Github) support latest openwrt

Symbol and Model: Link provide by SnapEDA

3D Model(.step): Link

Downloads

note: normally, we upgrade or fix brick are using Firmware. Flash Image is a clone of the full flash, for professional usage only.

Firmware(OpenWrt 18.06.5): Download md5:c8c63380b89fae3745a91e79a1575729

Firmware(OpenWrt 19.07.3): Download md5:d036fa6f36536a6f41c05f1394f8c40e

note: screen driver can be change at /lib/modules/4.14.*/fbusb.ko

Firmware(128MB, 20170527, old version): Download md5:6f7c4b019577a7cec077562b75bc838b

Firmware(64MB, for Lite, old version): Download md5:2162ef05b5232154d4f20dee57561da7

Flash Image: Download md5:f4c527a1e563d0ad7ef9ab0b5e0b35c6

UBoot(128MB): Download md5:69335f57c44bb6d7c6901c260689cc94

UBoot(64MB): Download md5:2f00b3029f60df99f926781b582f9a35

Datasheet: Download

FCC: 2AC4RVOCOREV2

note: To get toolchain, please check github.com/vonger/vocore2, after compile openwrt you will get it.

Links

VoCore2 + Dock Ultimate version makes it easy to use.

VoCore Camera Tiny camera supports h264 + microphone.

Details

VoCore2 is a successor of VoCore, make it more fast, stable, but still same size.

pin id is same as the one on MT76x8 datasheet in source

Left Name Mux Note - +3.3VO +3.3V output max output current 100mA 30 TXD0 GPIO12, UART0 Lite TXD pull down to GND, Test/Normal mode pin. 31 RXD0 GPIO13, UART0 Lite RXD 3.3V 29 REFCLK GPIO11, reference clock, SDXC CLK* 33 P0RP 10/100 PHY Port #0 RXP 34 P0RN 10/100 PHY Port #0 RXN 35 P0TP 10/100 PHY Port #0 TXP 36 P0TN 10/100 PHY Port #0 TXN 43 TXD2 10/100 PHY Port #1 TXN, GPIO15, PWM Channel, SPI Slave Clock 44 RXD2 10/100 PHY Port #1 TXP, GPIO14, PWM Channel, SPI Slave Chip Select 40 PWM0 10/100 PHY Port #1 RXN, GPIO17, UART2 Lite TXD, SPI Slave MOSI 4.7K pull down to GND 42 PWM1 10/100 PHY Port #1 RXP, GPIO16, UART2 Lite RXD, SPI Slave MISO 45 P2RP 10/100 PHY Port #2 RXP, GPIO18, PWM Channel 46 P2RN 10/100 PHY Port #2 RXN, GPIO19, PWM Channel 47 P2TP 10/100 PHY Port #2 TXP, GPIO20, PWM Channel 48 P2TN 10/100 PHY Port #2 TXN, GPIO21, PWM Channel 49 SD WP GPIO22, 10/100 PHY Port #3 TXP, SDXC WP 50 SD CD GPIO23, 10/100 PHY Port #3 TXN, SDXC CD

Top Name Mux Note - GND Groud 28 SPI CS0 SPI Master Chip Select 0 4.7K pull up to 3.3V 25 SPI CLK SPI Master Clock 4.7K pull up to 3.3V 26 SPI MISO SPI Master In Slave Out 27 SPI MOSI SPI Master Out Slave In 4.7K pull down to GND 24 SPI CS1 SPI Master Chip Select 1 4.7K pull down to GND 21 I2C SD GPIO5, I2C Data, SDXC D2* 4.7K pull up to 3.3V 20 I2C CLK GPIO4, I2C Clock, SDXC D3* 4.7K pull up to 3.3V 19 I2S CLK GPIO3, I2S Bit Clock, SDXC CMD* 18 I2S WS GPIO2, I2S L/R Clock, SDXC D0* 16 I2S SDI GPIO0, I2S Data In, SDXC D1* 17 I2S SDO GPIO1, I2S Data Out 4.7K pull down to GND

Right Name Mux Note - GND Ground 148 RXD1 GPIO12, UART1 Lite RXD 147 TXD1 GPIO13, UART1 Lite TXD pull up to 3.3V, GPIO/JTAG mode pin 141 GPIO41 GPIO41, JTAG TMS JTAG needs 10K pull up, R9 -> R6 140 GPIO40 GPIO40, JTAG Clock JTAG needs 10K pull up, R9 -> R6 139 GPIO39 GPIO39, JTAG Reset JTAG needs 10K pull up, R9 -> R6 143 GPIO43 GPIO43, JTAG TDO JTAG needs 10K pull up, R9 -> R6 142 GPIO42 GPIO42, JTAG TDI JTAG needs 10K pull up, R9 -> R6 138 RST Reset, touch GND to reset 137 GPIO38 GPIO38 136 GPIO37 GPIO37 - +3.3VO +3.3V output max output current 100mA - GND Ground - GND Ground - +1.8VO +1.8V output max output current 100mA

Bottom Name Mux Note - GND Ground 51 SD D1 GPIO24, 10/100 PHY Port #3 RXP, SDXC D1 52 SD D0 GPIO25, 10/100 PHY Port #3 RXN, SDXC D0 54 SD CLK GPIO26, 10/100 PHY Port #4 RXP, SDXC CLK 55 SD CMD GPIO27, 10/100 PHY Port #4 RXN, SDXC CMD 56 SD D3 GPIO28, 10/100 PHY Port #4 TXP, SDXC D3 57 SD D2 GPIO29, 10/100 PHY Port #4 TXN, SDXC D2 - +3.3VO +3.3V output max output current 100mA 61 USB DP USB2.0 Data+ 62 USB DM USB2.0 Data- - +5.0VI +5.0V input min input current 500mA - +5.0VI +5.0V input min input current 500mA - GND Ground - GND Ground

Middle Name Mux Note 133 PCI CKP PCI Express External Reference Clock Output+ 132 PCI CKN PCI Express External Reference Clock Output- 130 PCI RXN PCI Express Differential Receiver RX- 129 PCI RXP PCI Express Differential Receiver RX+ - GND Ground 127 PCI TXP PCI Express Differential Transmit TX+ 126 PCI TXN PCI Express Differential Transmit TX- 135 PCI RST PCI Express Device Reset

* five ethernet ports mode, sdcard mux to i2s/i2c.

* hole diameter is 0.6mm.

Tutorials

Connect to Power

GIF: fast power up with USB cable Link

1. connect to 3.6V~6.0V and GND with a stable power source, such as USB charger.

note: be careful, high voltage will damage your VoCore.

2. if everything works, after 30 seconds, you will find VoCore2 in your computer hotspot list.

3. connect to VoCore2 hotspot.

4.a using ssh or putty or similar tools login to VoCore2(root/vocore).

4.b using USB2TTL, please check "Connect to VoCore through USB2TTL" section.

important : UART speed is 115200bps, 8bits, no even, 1 stop bit

Connect to VoCore through USB2TTL

video tutorial: youtube

1. connect USB2TTL.TXD to VoCore2.RXD2, USB2TTL.RXD to VoCore2.TXD2, USB2TTL.GND to VoCore2.GND.

2. setup your serial application(such as putty/teraterm for windows, kermit for mac,linux) in your computer to 115200bps, 8 data bits, no even, 1 stop bit.

3. power on your VoCore2, now you should find some text output.

Connect to your local wireless network(AP + STA Mode)

This tutorial is for firmware 20190316(default) or later which based on openwrt 18.06.2.

tutorial please check at Beginner: OpenWrt 18.06 stable version

This tutorial is for firmware 20170527(obsoleted) which based on openwrt cc.

note: please upgrade your firmware to 20190316 or later version, this version is out of date.

video tutorial(require USB2TTL): youtube

1. connect to your VoCore through USB2TTL.

2. run command in console(UART console).

3. setup network to enable dhcp(get ip from your hotspot).

uci delete network.wwan

uci set network.wwan=interface

uci set network.wwan.proto=dhcp

uci commit

4. setup firewall to enable access to internet through your hotspot.

uci del_list firewall.@zone[1].network=wwan

uci add_list firewall.@zone[1].network=wwan

uci set firewall.@zone[1].input=ACCEPT

uci set firewall.@zone[1].output=ACCEPT

uci set firewall.@zone[1].forward=ACCEPT

uci set firewall.@zone[1].masq=1

uci set firewall.@zone[1].mtu_fix=1

uci commit

5. setup wireless to enable ap+sta mode.

uci set wireless.sta.ssid="[TARGET AP SSID]"

uci set wireless.sta.key="[TARGET AP PASSWORD]"

uci set wireless.sta.network=wwan

uci set wireless.sta.disabled=0

uci commit

note:replace [TARGET AP SSID] to the target ap ssid you want to connect to, [TARGET AP PASSWORD] is its password.

5. restart your network, it will work.

/etc/init.d/network restart

6.(option) once ap+sta is totally up, disable it in config, so if next time your target ap is missing, you still able to connect to VoCore2.

uci set wireless.sta.disabled=0

uci commit

/etc/init.d/network restart

sleep 10

uci set wireless.sta.disabled=1

uci commit

note: better copy the three lines to /etc/rc.local

Upgrade VoCore2 Firmware

1. download the latest firmware(not the flash image) in this page Download section.

2. connect to your VoCore hotspot, open browser view 192.168.1.1 or 192.168.61.1.

3. LuCI console using username: root, password: vocore, click on "Login" (picture part 1).

4. select "System" -> "Backup/Flash Firmware" (picture part 2).

5. click on "Choose File", choose your downloaded firmware(again, not the flash image, picture part 3), then click "Flash Image".

6. it will upload the firmware to your VoCore2, takes a few seconds, check if the md5 matched. (picture part 4)

7. if everything ok, press "Process".

8. normally it will take 2~3 minutes, please wait until it is ready.

note: if power cut off during the upgrade process, your VoCore2 will brick, check "Fix Bricked VoCore2"

Compile OpenWRT for VoCore2

video tutorial: youtube

1. install Ubuntu 14.04 64bit Server(or later version) to Virtual Machine(2GB memory, 20GB disk space).

2. in virtualbox, we will need install some packages to compile openwrt:

sudo apt-get install gcc g++ binutils patch bzip2 flex bison make autoconf gettext texinfo unzip sharutils subversion libncurses5-dev ncurses-term zlib1g-dev libssl-dev python python27-dev

``

3. download openwrt, check github.com/vonger/vocore2 README.md

4. call "make menuconfig" in the openwrt folder, configure openwrt in menu, choose MT7688/28/VoCore2 in menu.

5. call "make" in the openwrt folder, start the make process

note: for full tutorials, please check Beginner Tutorials

Compile your App for VoCore2

1. compile openwrt for VoCore2, it will create toolchain or download it at Downloads/Toolchain(for Ubuntu 14.04 64bit).

2. make a simple code in C, compile it in command line.

/path.to.your.toolchain/bin/mipsel-openwrt-linux-gcc -g yourcode.c -o yourcode

3. after this, you will get an executable file named "yourcode", use scp, copy it to your VoCore2

4. in VoCore2, call chmod +x yourcode , after that, you can run it in VoCore2, call ./yourcode

note: setup a develop environment, please check Develop and Debug on Qt Creator

Upload Firmware

1. upload firmware through luci, please read "Upgrade Firmware" section.

2. upload firmware through console, connected to VoCore hotspot.

(1) copy from pc to VoCore[operate in PC]: scp [your firmware].bin root@192.168.61.1:/tmp/vocore2.bin

here is two choices, 2.a will erase all data/config you write to VoCore, 2.b just upgrade the firmware but keep them.

(2.a) write to VoCore nor flash[operate in VoCore]: mtd -e firmware write /tmp/vocore2.bin firmware

(2.b) system upgrade VoCore nor flash[operate in VoCore]: sysupgrade /tmp/vocore2.bin firmware

(3) wait until mtd done, reboot your VoCore.

note: if you want set your VoCore back to first time boot up, call "firstboot" in console.

Fix Bricked VoCore2 (uboot alive)

1. connect your VoCore2 to computer through USB2TTL(UART2 RXD2+TXD2+GND).

2. open tty tools(must have kermit protocol), such as kermit, ckermit, teraterm.

3. power up your VoCore, once you find: "0: Load system code then write to Flash via SERIAL.", press '0'.

note: VoCore will show "## Ready for binary (kermit) download to 0x80100000 at 115200 bps..."

note: kermit: press Ctrl and '\' same time then press 'c', you will switch to kermit command console.

4. use kermit send function in teraterm/ckermit.

5. send upgrade firmware to VoCore, after that, back to VoCore uboot console.

note: kermit: call "send path/to/your/upgrade/file/on/pc.bin" to send firmware, around 10 minutes, once it finished, call 'c' back to console.

6. wait around 20~30 seconds, firmware uploaded, your VoCore will reboot.

Fix Bricked VoCore2 (uboot dead)

1. You must have another VoCore/VoCore2 or one flash loader and six wires.

2.1 using another VoCore/VoCore2 to recover your bricked VoCore2.

2.1 check blog http://vonger.cn/?p=8054.

2.2 using flash loader to recover your bricked VoCore2.

2.2.a disconnect VoCore2 from power;

2.2.b connect VoCore2 GND to flash loader GND;

2.2.c VoCore2 +3.3V to flash loader +3.3V;

2.2.d VoCore2 SPI MISO -> flash loader SPI MISO;

2.2.e VoCore2 SPI MOSI -> flash loader SPI MOSI;

2.2.g VoCore2 SPI CS0 -> flash loader SPI CS;

2.2.h VoCore2 SPI CLK -> flash loader SPI CLOCK;

2.2.i VoCore2 RST -> VoCore2 GND; (keep VoCore2 in reset mode)

note: if not work, swap MISO/MOSI.

2.2.j now, download then send "Flash Image" to VoCore2.2.

2.2.k remove wires, connect VoCore2 back to power, everything should back normal.

3. option: better to upgrade your firmware after recover, Flash Image is out of date.

Enable another antenna on VoCore2(standard version only)

On VoCore2 standard version we have another antenna, default it is power off status(to avoid two antenna cross-talk to each other), if you have a external U.FL antenna, you can connect it to VoCore2, convert it from a portable router to a full function 802.11n router, maxmize its speed and signal strength.

note: suggest distance between two antennas is > 6cm

1. download a factory setting read/write tool to /tmp/ on VoCore, chmod +x /tmp/ant*.

2. we run the following script to enable second antenna.

enable second antenna:

sh /tmp/ant2.sh

disable second antenna:

sh /tmp/ant1.sh

3. call firstboot -y(all your setting will lost!), then reboot.

Recover factory setting

Sometimes, we might mess the factory setting section on VoCore2 flash(address can be find by "cat /proc/mtd"), that will cause wifi driver failed to start. To recover it, we need the following steps:

1. get into VoCore console, by ehternet or serial port(TTL).

2. copy mt7628.sh to your VoCore2 /tmp, or directly copy the txt in the script and run in console.

3. run mt7628.sh by "sh /tmp/mt7628.sh", then reboot.

note: your mac address will be fixed to b8:d8:12:67:01:73, you can change this to modify your VoCore2 mac address.

Update UBOOT from serial port

1. reboot vocore2 at serial console, check "Connect to VoCore through USB2TTL"

2. once reboot, it will show "7: Load Boot Loader code then write to Flash via Serial.", now we are ready to send the data.

3. use kermit or compatible tools send uboot.bin, uboot.bin can be get from from Download section.

4. wait until it reboot.

Directly write to memory/register

We made a simple tool for this, download here, its name is "mem", put the executable file into /bin/ in VoCore2.

1. read from register/memory, for example: 0x10000060, pin control register

example: mem 0x10000060

2. write to register/memory, must in 32bits(4bytes)

example: mem 0x10000064 0x05540555

here is an example bash script flash the LED every second on VoCore2

mem 0x10000064 0x05540555; mem 0x10000604 0x1000; while [ 1 ]; do mem 0x10000634 0x1000; sleep 1; mem 0x10000644 0x1000; sleep 1; done

Mount VoCore2 onto customized PCB(ASMT)

1. on customized PCB, suggest keeping 16mm x 16mm rectangle clearance(no copper) for better signal on board antenna.

2. suggest using hot air instead of iron, DDR2 is a ESD sencetive part, might cause permanent damage.

3. must use middle level temprature paste(180C, Sn-Bi-Ag) or lower one, VoCore2 is using high-temprature paste(220C, Sn-Cu-Ag), same temprature level might cause damage to VoCore.

4. in order to use castle hole on VoCore, milling a hole(the yellow border in second picture) on your mount board is necessary. Check Sources/SMT Mount Footprint for KiCAD file.

5. before SMT, make sure you bake VoCore2 at 60C~80C at least 12 hours, longer is better.

6. recommend, please remove the mac address tag on main chip, add heatsink.