VoCore2 Ultimate

The Coin-sized Linux Computer with external equipment and interface

note: if microusb connector head is too big, it will block you plugin tf/sd card.

IMPORTANT: Please upgrade your VoCore2 Ultimate firmware to latest version for best performance.

Parameters

Details
SIZE28mm x 30mm x 30mm
CPUMT7628, 580 MHz, MIPS 24K
MEMORY128MB, DDR2, 166MHz
STORAGE16M NOR on board, support SDXC up to 2TB
WIRELESS802.11n, 2T2R, speed up to 300Mbps.
ANTENNAOne U.FL slot, one on board antenna.
ETHERNET1 port, up to 100Mbps.
USBSupport USB 2.0, up to 480MBit/s.
PCIe 1.1Supported(option)
GPIO>=40 (pinmux)
UARTx3 (UART2 for debug console)
PWMx4
A/D CONVERT4 channels
D/A CONVERT1 channels
AUDIO PLAYBACKSupport(3.5mm jack)
AUDIO RECORDSupport(3.5mm jack)
DEBUG CONSOLEUSB2TTL(microUSB, for power and console)
SHELLIncluded
POWER SUPPLY3.6V ~ 5.5V, 500mA
POWER CONSUMPTION74mA wifi standby, 230mA wifi full speed, 5V input.
LOGIC LEVELall logic pins are 3.3V, current 4mA/8mA

more information, please also check VoCore2 manual

Change Log

20240201:

1. update 16MB NOR flash to 32MB, firmware patch required for openwrt 18.06, link here

2. support POE

Sources

PCB&SCH: Download   md5:882079c4bf94b5f27e0769a553bdb670

OpenWrt 18.06.5: Download   md5:641a804d4ec78ae0be8841d313b06a87

MediaTek SDK: Download   md5:4591c418ba6599920337859633d2aa18

UBoot: Download (Github)

WiFi Driver: Download (Github) support latest openwrt

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(DDR128,NOR16/32,OpenWrt 23.05.2): Download

Firmware Patch: Download

Flash Image: Download   md5:f4c527a1e563d0ad7ef9ab0b5e0b35c6

Toolchain: Download (Ubuntu 14.04 x64)

UBoot: Download   md5:5167715c0c7732352ed12c666f29f648

Datasheet: Download

FCC: 2AC4RVOCOREV2

Shell(STL): Download

Details

Super small router but contains microSD, USB2.0, A/D, D/A, Ethernet Port, audio record/play, up to 300Mbps wireless transfer speed, low power consume. It is a perfect portable router.

read more from VoCore2 description

* for more details, please also check vocore2 page.

Tutorials

Connect to Power

1.a connect the microUSB port on the box with a USB charger(5.0V).

1.b connect the microUSB port on the box to your computer USB port(5.0V).

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/teraterm or similar tools login to VoCore2(root/vocore).

4.b using internal USB2TTL, it is driver free, once you connect it to your computer by USB, you will find a serial port in your device list, connect to it.

note: for windows(xp or win7 or win10, support usb cdc), you can find USB2TTL device at your device manager; for Linux/MacOS, you will find USB2TTL device at /dev/tty.usbmodem_____1

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


Connect to VoCore2 Console through its MicroUSB Port

video tutorial: youtube

VoCore2 Ultimate, VoCore2 Audio have on board USB2TTL, you can directly connect its microUSB and your computer.

windows: if you need to install driver manually, please follow tutorial in the package: install usb cdc driver.

macos: connect VoCore2 to your computer, you will find it in /dev/tty.usb_______1, then you can use kermit or screen connect to it.

linux: connect VoCore2 to your computer, you will find it in /dev/ttyACM0, then you can use kermit or screen or minicom connect to it.

USB2TTL parameter: 115200bps, 8 data bits, no even-odd check, 1 stop bit.


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

For OpenWrt 19.07.3, AP+STA can be directly set up in LuCI

This is for firmware 20190316 or later which based on openwrt 18.06.2.

tutorial please check at Beginner: OpenWrt 18.06 stable version

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

note: please upgrade your firmware to 20190127, this version is out of date.

note: LuCI interface(the web interface) has bugs, MUST use console command.

1. connect to your VoCore to your computer through its microUSB.

2. run command in console(replace [TARGET AP SSID] to the target ap ssid you want to connect to, [TARGET AP PASSWORD] is its password).

important: this setup MUST run in UART console. SSH console through wireless or ethernet will be disconnected during the setup.

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

3. set sta to disabled, so next boot if your hotspot disappear, you still able to connect to VoCore2.

note:: put the following code to /etc/rc.local

uci set wireless.sta.disabled=0

uci commit

/etc/init.d/network restart

sleep 10

uci set wireless.sta.disabled=1

uci commit

4. setup firewall to enable access 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. enable dhcp then it will get ip from your hotspot.

uci delete network.wwan

uci set network.wwan=interface

uci set network.wwan.proto=dhcp

uci commit

6. reboot VoCore2 or call "/etc/init.d/network restart".

7. wait a moment, now it is in AP+STA mode

note: more information please check Vonger's Blog: VoCore2 AP + STA


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"


Connect Speaker to VoCore2 to Play Music

note: please update your firmware to latest version.

0. use opkg install madplay-alsa.

1. download a music to VoCore2 memory(put it in folder /tmp/).

2. connect a standard 3.5mm headphone or speaker to VoCore2.

3. in VoCore2 console call "madplay /tmp/test.mp3", the music will play in seconds.

note: this is used to test audio, we will update the audio driver to enable more features.


Connect VoCore Camera to VoCore2(DIY Wireless Camera)

note: please update your firmware to latest version.

0. use opkg install mjpeg-streamer.

1. connect usb camera to VoCore2.

2. now you find device at /dev/video0, /dev/video1.

note: /dev/video0 is mjpeg stream, /dev/video1 is h264 stream.

3. run mjpg-streamer or setup in LuCI(web ui 192.168.61.1) -> MJPG-STREAMER.

4. now you can view the camera video in your browser at http://192.168.61.1:8080/?action=stream


Compile OpenWRT for VoCore2

video tutorial: youtube

1. install Ubuntu 14.04 64bit Server to Virtual Machine.

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 python-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 VoCore2 Firmware".

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 VoCore to computer through microUSB, keep your VoCore in reset mode.

note:: to keep VoCore in reset mode, you need to connect RST and GND by wire, use this step to wait until USB2TTL ready.

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

note:: VoCore2 GD32 USB2TTL is driver free, but have to wait 6~8 seconds until it is ready, once it is ready, we can disconnect RST and GND, then it is able to boot normally.

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.

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. prepare another VoCore/VoCore2 OR a flash loader and six wires.

2.a. using another VoCore/VoCore2 to recover your bricked VoCore2.

2.a.1 check blog http://vonger.cn/?p=8054

2.b. using flash loader to recover your bricked VoCore2.

2.b.1 disconnect VoCore2 from power;

2.b.2 connect VoCore2 GND to flash loader GND;

2.b.3 VoCore2 +3.3V to flash loader +3.3V;

2.b.4 VoCore2 SPI MISO -> flash loader SPI MISO;

2.b.5 VoCore2 SPI MOSI -> flash loader SPI MOSI;

2.b.6 VoCore2 SPI CS0 -> flash loader SPI CS;

2.b.7 VoCore2 SPI CLK -> flash loader SPI CLOCK;

2.b.8 VoCore2 RST -> VoCore2 GND; (keep VoCore2 in reset mode)

note: if not work, swap MISO/MOSI.

2.b.9 now, download then send "Flash Image" to VoCore2.2.

2.b.10 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.


Open the plastic shell (Ultimate Version)

1. use a paper knife open the box(1-4).

2. you can simply use a pencil push it out from ethernet port side(5).


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.(Ctrl+C stop it)

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