User Tools

Site Tools


content:meshextender:prototyping_on_mk808

This is an old revision of the document!


2nd Generation Mesh Extender Prototype Platforms

This page is for concepts for 2nd generation prototype intended to address the physical size, physical robustness, slowness issues of the 1st generation. It is also hoped that power consumption may be similar or lower than on the 1st generation through more integration in the Android stick PC platforms being considered, but it accepted that power consumption will initially be higher.

Objectives:

  • 24-hour run-time.
  • Fast CPU for good Rhizome signature verification performance, and generally low-latency operation.
  • RFD900 radio connected by USB for UHF packet radio.
  • Powered by nominal 12v input for car charging.
  • Full powered USB port for charging phones.

We are considering a few options for this, which are described below.

Comparing Power Consumption of the various devices

  • MK808B (idle, Wi-Fi client mode, HDMI display connected and on, Serval Mesh not installed, no serial adapter plugged in): averaging 0.187A - 0.198A @ 4.995V = 0.94W - 0.99W
  • MK808B (idle, Wi-Fi client mode, HDMI display disconnected, Serval Mesh not installed, no serial adapter plugged in): averaging 0.145A - 0.155A @ 4.995V = 0.73W - 0.77W
  • MK808B (idle, Wi-Fi client mode, HDMI display disconnected, Serval Mesh not installed, CP210x serial adapter plugged in, no RFD900 attached): averaging 0.173A - 0.180A @ 4.995V = 0.87W - 0.90W
  • MK808B (idle, Wi-Fi client mode, HDMI display disconnected, Serval Mesh not installed, CP210x serial adapter plugged in, RFD900 attached (TX @ 100mW), but no link): averaging 0.209A - 0.26A(but jumping between 0.21A - 0.26A wildly, presumably based on whether it is TXing) @ 4.995V = 1.04W - 1.3W
  • MK808B (idle, Wi-Fi client mode, HDMI display disconnected, Serval Mesh not installed, CP210x serial adapter plugged in, RFD900 attached (TX @ 100mW), link but no traffic): averaging 0.22A - 0.27A(but jumping between 0.22A - 0.27A wildly, presumably based on whether it is TXing) @ 4.995V = 1.05W - 1.35W
  • MK808B (idle, Wi-Fi client mode, HDMI display disconnected, Serval Mesh not installed, FTDI serial adapter plugged in, no RFD900 attached): averaging 0.168A - 0.175A @ 4.995V = 0.84W - 0.88W
  • MK808B (idle, Wi-Fi client mode, HDMI display disconnected, Serval Mesh not installed, FTDI serial adapter plugged in, RFD900 attached (TX @ 100mW), link but no traffic): averaging 0.210A - 0.25A (but jumping around wildly in that range) @ 4.995V = 1.05W - 1.25W
  • FTDI cable + RFD900 (TX @ 100mW) with link but no traffic: 0.048A - 0.09A @ 4.995V = 0.24W - 0.45W
  • FTDI cable + RFD900 (TX @ 250mW) with link but no traffic: 0.037A - 0.12A @ 4.995V = 0.19W - 0.60W
  • CP210x cable + RFD900 (TX @ 100mW) with link but no traffic: 0.066A - 0.1A @ 4.995V = 0.33W - 0.50W
  • MK802ii (idle, HDMI display connected, Serval Mesh not installed): 0.21A - 0.30A @ 4.995V = 1.05W - 1.50W
  • MK802ii (idle, HDMI display disconnected, Serval Mesh not installed): 0.20A - 0.30A @ 4.995V = 1W - 1.50W
  • TP-LINK WR703N (idle, no USB hub, memory stick, USB serial adaptor or RFD900 radio): 0.099A - 0.110A @ 4.995V = 0.50W - 0.55W
  • TP-LINK WR703N (idle, Wi-Fi in simulatenous ad-hoc & AP mode, USB hub, memory stick, running servald, no USB serial adaptor or RFD900 radio): 0.191A - 0.21A @ 4.995V = 0.96W - 1.05W

MK808B Android Stick PC + RFD900 Radio

Pros:

  1. Much faster CPU and lots of internal storage for Rhizome
  2. Much smaller size than equivalent components in 1st generation
  3. Android based, so power management is probably pretty good (but remains to be tests)
    1. Rooted ROMs are available, and it is easy to replace ROMs:

Cons:

  1. Wi-Fi probably can't do ad-hoc at the same time as AP mode, so:
    1. no ad-hoc meshing when in close range with another Mesh Extender
    2. no connection by ad-hoc mode phones
  2. It runs Android instead of a bare Linux OS, making life a bit more complicated and development slower.
  3. It might end up using a lot of power, since the 808B isn't intended to be battery powered (reports on the net suggest 2.2W typical, and around 1.1W if the CPU is derated down to 265MHz, but we need to find out how to control this). This means we have a total power budget several times higher than with the original WR703N solution (0.3W without Wi-Fi apparently, and probably well under 1W even with Wi-Fi on). Total power budget including radio we estimate to be <3W, so 24 hour run-time requires 72Wh battery, whereas 30Wh would probably have been enough with WR703N.

Flashing ROMs on the MK808b

Linux/Mac Based

The default flashing tool runs on Windows, which is not convenient for us on Linux/Mac. But it is apparently possible to install ClockworkMod Recovery, and flash ROMs using that:

http://blog.geekbuying.com/index.php/2013/03/22/how-to-upgrade-your-mk808b-to-android-4-2-os-with-cwm-recovery/

The actual Clockwork Recovery installation is as easy as copying the CWM zip to a microSD card, renaming it update.zip and rebooting your MK808b.

There after you can reboot into recovery when needed to flash ROMs from the microSD card. To be confirmed is whether you need to press the reset button to reboot into recovery, whether it boots into recovery by default and other such fine points.

Windows-Based

The RKBatchTool allows the flashing of several devices at once from Windows. Some versions are in Chinese, but the one included in the RK808/RK808B ROM from the following link is in English, and easy to use.

http://www.armtvtech.com/armtvtechforum/viewtopic.php?f=111&t=1402

Potential ROMs for MK808B-based Mesh Extender Prototypes

We need CP210x serial support, and Wi-Fi hotspot, and ideally simultaneous Wi-Fi access point operation. “Monitor and operate” could probably do in place of simultaneous ad-hoc. Hotspot only would do in a pinch.

Also, it is rumoured the RK903-based version of the MK808B has terrible Wi-Fi performance due to poor ground separation from USB. That would be very annoying.

On the positive side, the stock rom includes Access Point mode support from in the Android menus.

Don't forget on Android 4.2.2+ devices (like the MK808b) you need a recent version of adb that supports RSA authentication, else the device won't show up. See http://developer.android.com/tools/help/adb.html for more details.

CP210x drivers aren't included by default. Will try FTDI usb serial adapter soon.

Might be possible to build these drivers is missing using the technique described in http://forum.xda-developers.com/showthread.php?p=17020258

Hybryd (Based on the Minix Neo X5 ROM)

This looks like an interesting ROM for the RK903 based versions of the MK808B, which is what I have. This ROM comes with ftdi and cp210x usb-serial drivers included:

http://www.armtvtech.com/armtvtechforum/viewtopic.php?f=111&t=1402

We have confirmed that cp210x support works, and can talk to an RFD900 radio with this ROM.

But Wi-Fi/Bluetooth support should work, but remains to be tested. Wi-Fi seems to work in the lab in client mode. Hotspot mode to be tested. Also, need to test the performance of the Wi-Fi given the allegations of poor performance that have been made in various fora.

MK802ii

This is the older generation of the MK808B. It runs @ 1GHz with an older core, lacks Bluetooth and depending on the version has either 512MB or 1GB RAM. Certainly enough for what we need. It might (or might not) have lower power consumption.

Putting a Debian image on is easy: http://romanrm.ru/en/a10/debian I didn't get that one to work, so instead grabbed lubuntu 12.04 from: https://www.miniand.com/forums/forums/2/topics/1 lubuntu is much bigger than I wanted, but for testing will be fine.

Basically this device will boot from an OS put on a microSD card, making life very easy.

It also comes stock with a rooted Android 4, which if it can be made to see a USB2serial adaptor would be sufficient for our needs. Alternatively, we could even try using the onboard serial port on the device. The complication there is that it is already used for boot/console, so we would need to get a bit creative. Also it lacks hardware flow control.

Nonetheless, we will try the on-board serial port as an easier option than finding the usb serial drivers for the Android installation that comes with the unit.

Onboard Serial Port

Serial port wiring for the MK802ii can be found at:

http://www.rikomagic.co.uk/forum/viewtopic.php?f=6&t=2488

The pads are very tiny.

To connect the serial port to an RFD900 radio:

RFD900 | MK802ii
1 GND  | GND
3 CTS (joined to RTS on pin 11) | Not connected
5 +5V  | Not connected
7 RX   | TX
9 TX   | RX
11 RTS (joined to CTS on pin 3) | Not connected

The serial console defaults to 115200bps.

With a cable like that and the RFD900 set to 115200 serial rate, I was able to watch the serial console on boot. Then my serial port leads broke because the glue holding the serial connector on the MK802ii broke.

Anyway, it looks like it should work (not counting the untested power consumption and Wi-Fi performance).

USB Serial (FTDI or CP210x)

Both of these work with the lubuntu 12.04 distribution out of the box.

To connect the RFD900 to a CP210x, you just need GND, +5V, TX and RX lines – there is no hardware flow control by default on the RFD900 or CP210x, so no need to hook up the extra lines.

With this we were able to talk to the RFD900 easily from our MK802ii.

Radio Modules & Antennae

RFD900 radios are AUD$62 wholesale (orders above 20 or so units, but check with RFDesign before ordering).

From an antenna perspective, we are keen to have two antennae for diversity, and to orient these antennae at 90 degrees to each other, so that orientation of the Mesh Extenders is less critical, e.g., when being carried by hand, in a back-pack or in a vehicle. The idea is to make it as easy to use as possible.

Flexible strip dipole antennae

Of the antenna options that rfdesign stock, the dipoles have much better performance due to ground-independence (less local noise induced on the receiver) and reduced transmission losses through reflection. The flexible PCB dipoles (http://store.rfdesign.com.au/rfdflex1-900mhz-flexible-pcb-antenna-no-cable/) are probably the best. These are $7.95 each, plus coax cable and connectors, cost to be determined.

A coax cable solution is probably to buy one of these cables (http://store.rfdesign.com.au/rf-cable-sma-m-srflex-sma-m-30cm/), and chop it in approximate halves. That is a cost of $6.45.

That makes total radio cost $62 + $7.95 + $7.95 + $6.45 = about AUD$85 in quantity.

One challenge with this arrangement is that the battery (remember that LiFePO4 batteries contain iron) should be ideally around 5cm from the dipoles to minimise detuning. This would suggest a larger enclosure size than we were hoping for.

Corner-mounted monopole antennae

This was a concept that Seppo at RFDesign suggested, having two monopole antenna on corner-mounted ground planes. These would be on truncated corners of the relaxed cube shape of the enclosure.

Enclosures/Cases

MyTouch 3G retail box

We were looking at using the boxes that T-Mobile branded HTC MyTouch 3G Sense come in, because we have a few, and they are a nice hinged plastic case big enough to fit an MK808B, 30Wh battery and RFD900 radio. But it turns out that with our larger battery requirements, and the clearances required for the antennae that they are probably too small. That form factor is still possible in a future version where we can commit more resources to optimising behaviour, in particular of antennae.

Plastic cases from a Chinese manufacturer

There are a few options we are looking at by hunting around on AliExpress.

The most promising at this time has external dimensions of 220x210mm by 130mm high, and a carry handle on the top. Internal dimensions are 208x200x126mm.

It does weigh 490g, which is more than I would like, as it would make for a total weight of >1.5KG by the time we have a ~1KG 70-80Wh battery in there. One presumes that it must be quite robust to weigh that much for such a small box.

But it will probably be fine for now, either that or we continue to buy plastic lunch boxes from supermarkets or discount variety stores.

content/meshextender/prototyping_on_mk808.1366780551.txt.gz · Last modified: 23/04/2013 22:15 by Paul Gardner-Stephen