Monday, October 31, 2016

MediaTek LinkIt Smart 7688 Duo - First Application

Hardware: MediaTek LinkIt Smart 7688 Duo

Firmware: 0.9.3

Software: Windows 10 / Putty

The documentation from MediaTek is both wonderful and horrible. It is wonderful in that there seems to be a lot of it. It is horrible in that there are glaring holes in it and lots of errors.

To get your first application running you'll need to first follow the instructions I laid out in my other post on setting up your development environment here.


The first application in their documentation shows how to send data to the Arduino side of the unit from the Python side.  It uses a serial connection to pass a 1 or a 0 over from the Python side to tell the Arduino side to turn an LED on/off.  While this is very basic, it is a good outline of how this board is intended to be used.  Do the higher-level decision-making and external communications on the Linux/Python side and then let the low-level manipulations happen on the Arduino/C side.

oDroid C2 GPIO Setup

Hardware: oDroid C2 Rev0.2 20151218 / SanDisk Extreme SD

Software: Ubuntu 64 16.04 Minimal (ubuntu64-16.04-minimal-odroid-c2-20160815)

As embedded projects tend to go, a new requirement popped up and forced me at the last minute to throw out an Arduino solution and replace it with one of the oDroid C2's and SanDisk Extreme SD cards (https://www.amazon.com/gp/product/B00M55BX3G) I have on the shelf for another project.  Of course this also meant rewriting every stinking piece of code in Python vs. C.

The last minute time crunch meant that I wasted precious hours reading piecemeal discussions on how to get simple pin I/O working on the oDroid series of boards.  Now that the fire is out, I drafted up the following instructions below for future reference.

Sunday, October 30, 2016

MediaTek LinkIt Smart 7688 Duo Development Environment Setup

Hardware: MediaTek LinkIt Smart 7688 Duo

Firmware: 0.9.3

Software: ColaSoft MAC Scanner / Putty / Arduino Sketch

You'll need to mounts this to some kind of PCB eventually

Getting this board working is mostly about fixing the gaps in their instructions.  Here's a quick start guide:

Thursday, October 27, 2016

Fixing a borked MediaTek LinkIt Smart 7688 Duo


Hardware: MediaTek LinkIt Smart 7688 Duo

Firmware: 0.9.3

NOTE: At this time (10/27/2016) I am extremely dissatisfied with MediaTek's approach to supporting this hardware in the field and find them to be wholly unprofessional. They appear to be hoping that the community will solve all the problems with their software/firmware and are not interested in engaging in anything beyond the simplest configuration questions.
I've had a few of the MediaTek LinkIt Smart 7688 Duo (can we fit a few more words in there) boards get into a bad state during configuration. As a result of this, I've gotten a bit aggressive in not using the GUI configuration items and focusing on the CLI (http://wiki.openwrt.org/doc/uci) for configuration. In fact, the first thing you should probably do once you have configured these is to vow never to use their GUI or the LUCI interface again. It just causes problems.

Monday, October 24, 2016

Disable WIFI and Bluetooth on Raspberry Pi 3 Model B



Hardware: Raspberry Pi 3 Model B

Software: 2016-09-23 Raspbian Jessie Lite (minimal)

The Raspberry Pi 3 models are pretty powerful with lots of extras.  But when you start thinking about securing them and/or cutting down on power usage then it is time to start turning things off.

Here's how to shut down the WIFI and Bluetooth radios on the unit.

How to power off Raspberry Pi 3 USB or Ethernet ports

Hardware: Raspberry Pi 3 Model B

Software: Windows 10 / 2016-09-23 Raspbian Jessie Lite (minimal)

I was mildly annoyed searching for how to turn the power for USB ports on/off.  The official documentation doesn't include it and the instructions online are out of date and/or incomplete.  So here it is from scratch!  Essentially, you're going to install an additional Linux module, download a third party app's source (https://github.com/codazoda/hub-ctrl.c), compile it and then run it.

These instructions assume a base install of Raspbian as indicated above and a default configuration.