intel edison

I recently purchased the (now discontinued) Intel Edison Breakout Board Kit from Fry’s Electronics. I’m guessing that I overpaid for this product offering by Intel since they’re only $23 at the time of this writing.

edison

I assume that there was a moment a few years ago in which Intel must have thought that they needed to enter into this whole IoT business and rule the space, given their history. I’m sure they were made confident in the sheer volume of Raspberry Pi and Arduino boards being shipped each year. “How hard could this be?”, I’m sure they asked themselves before venturing out into terra incognita.

Setting it up

Setting up the board was a bit different from earlier attempts with either Raspberry Pi or Arduino boards. Intel decided that it would have you use a paired-down Linux customization called Yocto to generate the operating system. The result is a slim o/s with just enough breathing room for things to run.

Additionally, it uses not one but two micro-USB cables to your workstation for a fair bit of that setup which seems unique. The first connection powers the Edison and creates a virtual network adapter and can be used to flash the code. The second is strictly serial and can also be used to communicate with the board. From the specifications, it includes two UARTs, for what it’s worth. Once setup, you can power it from the single connection, however.

At times, this duality can lead to trouble as seen when attempting to connect the Edison within Intel’s System Studio software. It was unable to connect using the hostname alone since this would try to use the wi-fi connection rather than the (expected) serial connection within their own software.

The Edison comes equipped with both Bluetooth and wi-fi. I would like to say that setting up the networking was easy; it wasn’t. I found the labyrinth of documentation to be daunting at times. The initial suggestion to get the chip running simply failed. I then had to do enough research to chase an alternative path to setting it up by using their Platform Flash Tool Lite version. Having then successfully connected the wi-fi to my network, I then attempted to see what was under the hood.

NodeJS

I was pleased to see that their own configuration utility which boots by default runs as a Node service. Once configured, the web interface provides little information than you probably already knew by inspection. They call their implementation of Node Intel XDK which is of course discontinued as well now.

System Studio

Intel provides an IDE for programming these devices. One needs to register in order to download the software. Having installed the interface, it’s easy to be impressed at how complicated the interface looks. It’s a lot like Microsoft Visual Studio with its number of panels and such.

Unfortunately, all this doesn’t work—we’re just talking about the “Hello World” example and it simply doesn’t work on the Edison. A single shell script called device-detection.sh does not appear to include the code for the device and further, throws a fatal syntax error in the Yocto bash itself.

Unfortunately, this means that any code compiled for the Edison uses the wrong target and so won’t run. Searching within their user community forum doesn’t result in anything useful so I’ve decided to abandon System Studio for the moment.

Arduino software

It looks like another option is to use the Arduino IDE software to push code to the Edison, assuming that we’re talking about C++ or similar compiled code. I haven’t tried this yet but I’m not sure if I really want to leave the relative comfort of JavaScript for C++ for this project anyway.

GPIO pins

Like a Raspberry Pi or an Arduino board, the Edison has GPIO pins. They’re just available on the back of the breakout board in this case. There is also a space for adding a barrel connector for power, should you want.

edison_rear

Overall impression

At a discounted price of $23, this falls into the middle range between a Raspberry Pi Zero W ($5 plus $6 for microSD) and the Raspberry Pi 3B ($35 plus $6 for microSD) price points. It can host a diminished Linux stack, serve up Node applications and appears to have two full UARTs at your disposal unlike the Raspberry which only has one full UART.

It’s probably okay for a few IoT projects but I doubt if I’d try to spin up a grand solution given its discontinued status. It was a good exercise in getting my feet wet with my first Yocto configuration at least.

I find myself disappointed with Intel’s inability to succeed within this product space. I could only guess how they failed at this; I have to assume that the right people skills were not included in the teams which contributed to this.

and one button to rule them all

The project from yesterday and today is something called a “dash button”, an IFTTT or an IoT button. Push the button and some activity gets invoked (usually, remotely). Amazon’s take on this is for you to be a consumer, press the button and something gets ordered.

dash

My own take on this is to add a big red button (BRB) as a remote panic switch for the 3D printer. Press it, magic happens and the print job is paused. It’s useful when something bad starts to happen and you need to make it stop quickly.

IMG_0034

There’s not a lot of room inside the printed plastic for this. Whatever electronics it uses, it will need to be small enough to be self-contained.

IMG_0049

I’m currently accomplishing this with a nifty Adafruit Huzzah ESP8266 board, a charging module and a 3.7V battery. I’m using the Arduino software to “flash” (upload) code to the tiny processor as well as a full directory of files to support the webserver which runs when it’s in configuration mode.

By strapping a pair of header pin connections and pushing the reset button, it now boots up in wi-fi hotspot mode and serves up a configuration website. Submitting to the form then re-configures the device and resets it again.

Booting up now in the standard mode, it then connects to the local wi-fi and attempts to then connect to the URL that you’ve given it. Once it does all this (perhaps ten seconds’  worth of activity), it promptly goes to sleep. Press the BRB again, it wakes up and goes through its routine again.

If you think about it, it’s now a reconfigurable dash button and much more useful than those one-trick-ponies as provided by Amazon.

Repository

adafruit 2.8″ capacitive tft screen

Today’s review is on the small TFT touchscreen for the Raspberry Pi computer. At $45, it’s not the cheapest screen you could add onto a single-board computer but the capacitive touchscreen and the four accompanying tactile pushbuttons along the side make it worth the extra money, especially if you’re adding it to a 3D printer for the sake of control.

IMG_0042

TFT

IMG_0047

Installation

As usual, the Adafruit documentation was more than adequate to get this done. They provide an installation script which makes the process easy.

Observations

The touchscreen works wonderfully, much better than the typical/cheaper resistive TFT that we’re most familiar with.

I’ll need to determine which GPIO pins those four pushbuttons go to. It will be nice to use those in some sort of interface.

I reviewed both the OctoPrint-TFT and TouchUI interfaces for OctoPrint on this. I’m not convinced that either are a perfect fit, given the size of the screen. Both required the Desktop to be installed on Raspbian. In the case of TouchUI, it required the use of a local browser on the Pi (Chromium) but I was able to get this to go into the full screen mode.

Other than as a control interface for a 3D printer, I’m not quite sure what projects would be a good fit for this. The timelapse rail kit would be good for this setup, perhaps. It’s a little bulky for a cryptocurrency cold wallet. It would probably make a good streaming music player, given the positioning of those buttons.

Adafruit makes some very attractive enclosures for this, unfortunately they’re out of stock at the moment.

  • Size: 2.8″ (board matches form factor of Raspberry Pi 3B)
  • Screen dimensions: 50mm x 69mm
  • PCB dimensions: 56mm x 85mm
  • Brand: Adafruit
  • Model: 2423
  • Name: PiTFT Plus 320×240 2.8″ TFT + Capacitive Touchscreen
  • Cost: $45
  • Resolution: 320×240
  • Touchscreen type: capacitive
  • Feature: extra 40-pin header underneath board
  • Feature: four tactile pushbuttons

adafruit oled display

Other than importing gadgets, Adafruit sometimes also designs them. Today’s review is for their cool 1.3″ OLED display for the Raspberry Pi computer. It appears to fit exactly the top of the Raspberry Pi Zero WH (the one with the included header).

IMG_0041

At $22.50, the hat is about twice the cost of the computer itself. The 128×64 display is enough for most projects, I’d guess.

I’m thinking that I’ll use this one to develop a cold wallet for cryptocurrency.

The hat (“bonnet”) includes a joystick with four positions and a pushbutton as well as two stand-alone pushbuttons on the right. It comes with good support on the Python side of things. If you’re like me and prefer Node JS, then you’ll be doing a lot of research on this one.

The interface is I2C. The device identifier is SSD1306. The example software includes text- and image-based Python and a bit of an animation of text.

In case you’re interested, I’ve written a tutorial for getting this setup.