This is way too easy.

Getting Started

After having the Linkit Smart 7688 Duo in my hands for a few days, I became very familiar with its inner workings. It runs a MIPS processor and hosts a version of OpenWRT linux, a very capable distribution that has been designed for devices with very limited resources. I have used OpenWRT in several Linksys wireless access points and it is very reliable. It isn’t the easiest thing to get working, but once you get into the rhythm, it works every time.

Seeed has made the Linkit 7688 easy to use due to a nice boot loader and several interfaces that make things easy. I was very interested in the Duo since it has the best of both worlds — a real Linux system and an ATMega microcontroller that are linked together internally.  One thing that made me unsure of the Raspberry Pi was the difficulty in doing any real-time control of devices. Linux can pre-empt you at any time to do its own housekeeping, so if you are twiddling bits on a gpio pin, you may get into trouble. The ATMega, on the other hand, can be tuned to do exactly what you need to do, down to the microsecond.


Although I’m fairly fluent in several computer languages, my favorite lately is Python. It was a welcome surprise to find that python was already installed on the Linkit. One of the major problems with the Arduino is trying to fit the network code, a protocol, and user code into that tiny flash. It usually worked, but I discovered that there were many projects that would need more than one Arduino just to house the functions that talked to the sensors and actuators that were required.

With the Duo, you can dedicate the Arduino to the working code and have a very frugal serial connection to Linux. This lets you put all the heavy network code into Python and let the Arduino work in the background. This also lets you use a very secure protocol for communication to the home automation server. That was almost impossible with the Arduino.

Of course, you are still going to have to code the Arduino in C, but with the network code out of the way, it becomes almost trivial. Most of the code examples work right out of the box and all you have to do is write some messaging functions to talk to Linux. ( There are several ways of doing that, too, but I like to use just a simple UART protocol.)


In general, the Linkit seems to be very fast. The program startup can take a while, because the flash “file system” is using SPI. A python cli prompt can take several seconds, but for things that don’t need file access, it is plenty fast.

Uploading the Arduino code is a breeze too, since the Linkit has a real network connection, the Arduino IDE can send the code over the wifi, no USB needed. This means that real remote uploading is a reality. Even if your controller is stuffed in a box in the garage, you can still send the ATMega a new set of instructions from your desk. And, of course, the Linux system is business-as-usual by using SCP or any other method.

Disasters and Recovery

Like any of the small “computer on a chip” systems, the Linkit can become broken due to power, programmer error, or other damage. Fortunately, you can restore the board to factory-fresh condition with just the buttons on the board. Indeed, there are a couple of ways. If you need just the Wifi restored to AP mode, one button does that. And if you want to wipe all traces of your meddling, another button press takes care of that.

So follow the advice of all experienced hackers and backup your data. It only takes a few minutes to fix the board and with recent backups, you can have it back in business in no time.


Automation the right way.

I have struggled for many years with various ways to monitor and control my environment. It started with hard-wired switches and relays and “progressed” through X10 and the other power-line interfaces. Those were sometimes fun, but very expensive for any real environment.

Around 2000, I started using Atmel microcontrollers as a new way to connect things to a network. First there was RS485 with some Basic programming. It worked OK, but stringing dedicated wiring throughout the site was a pain.

Eventually, my home environment ( two houses and six outbuildings spread out over several acres ) was provided with ethernet and some wifi access points. But getting ethernet to talk to dozens of devices was still very expensive, and wifi was far too complicated for simple controllers.

Eventually, I discovered the Modtronix SBC65EC, which was a single board with ethernet and a built-in web server. Not cheap ( around $40, as I recall), but still usable for the remote control of lights and fans located hundreds of feet from my easy chair. It was pretty easy to operate attached devices with just a web browser or some python code.

Then along came the Arduino. At last, I thought, here is a real solution to the problem. For just a few bucks, you can have a controller that speaks ethernet, is programmable in C, and has a decent if not beautiful development environment. However after getting all the parts together, it was still seeking the $50 mark for a working device.

Well, not to be beaten, I even tried the Raspberry Pi. A very nice device with built-in ethernet and even wifi for a few more bucks. But alas, after shelling out $35 for the pi, you still needed an SD card, power, and the case. And it had far to many frills for a simple controller. (Who needs HDMI, cameras, and sound for a controller hidden in a closet.)

Then in early 2016, I was surfing the internet for some good deals on Arduinos when I tripped over Seeed Studios website. I had followed some of their interesting boards for a while, but they were still out of the range for simple controllers. But here was something new: a tiny board that contained a real microcomputer that ran Linux with built-in wifi and an attached Atmel microcontroller. And all for around $15. Can this be real?

Supplies were limited and there was the usual shipping delays from China so I finally ordered two of the boards (without the Atmel chip) and backordered two with the chip.

After the several weeks shipping, I received my first two boards. (Hardly “boards”, they are about 1 by 2 inches. I plugged one in and in less than a minute had a wifi access point working. A few mouse clicks later, this little device was connected to my network and was speaking both web and ssh. This is beginning to be interesting!