Off-The-Shelf Hacker: Hands-On with the Artik Microcontroller
Last week we covered putting Linux on the Pine64. The board is pretty fast. The desktop, WiFi and web browser, all worked out-of-the-box. I wasn’t able to get the general purpose input/output (I/O) pins working with Python. So, we’ll place the board into the project rotation, and hopefully, a working Python input/output library will appear on the Web in the next few weeks.
This week, we’ll look at the Samsung’s new Artik 10 module. This Linux-based, Arduino replacement board isn’t for sale quite yet. You can buy a developer’s kit, with a breakout board, an Artik 10 module and antennas for around $150. Samsung has done a great job with the quality of the hardware and supporting developer website.
Like all new hardware, there are challenges Off-The-Shelf Hackers will face when building projects around the Artik. Keep in mind too, everything goes through a “maturity period,” where good features are refined, and rough spots are smoothed out. We’ll talk about those topics today.
The Artik 10 sports an 8-core ARM Cortex, integrated A15 and A7 application processor chip. It also has 2GB of memory, WiFi and Bluetooth, 51 digital I/O pins, six analog pins, audio, HDMI and Zigbee interfaces. It’s definitely a hot rod for certain types of physical computing applications and a huge jump up from the everyday Arduino. Don’t let that intimidate you.
The module is very compact, at about 1.5-inches long by slightly over 1-inch wide and attaches to the developer board using several fine-pitched surface mount sockets. There are also sockets for the cables connecting to external WiFI and Zigbee antennae.
I’m happy to report that the Artik runs Linux in long-term memory, on the module. That means fast boot up and operation. The BeagleBone Black also runs it’s Linux operating system on the chip. The Raspberry Pi runs Linux from a micro-SD card. Each has its place, with various advantages and shortcomings.
Why Mounting Sockets?
In my mind, the Artik 10 is a pro-level device for pro-level applications. I think it could make an awesome Off-The-Shelf Hacker platform.
I initially thought the module’s use of very fine-pitched surface mount sockets, was a major hurdle for beginner hackers. Actually, mounting sockets are a great idea. Hacking together projects with a socketed Artik 10 will be orders of magnitude easier than trying to reflow the chip onto a printed circuit board solder pad.
We’ll all eventually reflow our System on Chips (SoC) projects at home — just like 3D printing, right? For now, a few breakout boards with sockets and external I/O pads or headers would go a long way to helping individual prototypers and DIY project developers easily use these devices. Perhaps the aftermarket and third-party parts houses can satisfy that itch.
The Quest For Connectivity
One major rough spot for me was connectivity.
Being a pro-level device, it’s no surprise that you’d perform initial setup using the Linux command line, over a serial connection (via USB) via a terminal application. I used minicom, as suggested in the Artik documentation.
I was able to connect the Artik to my network over a CAT 5 link after some initial manual setup. I was not able to get WiFi working at all. The suggested “wpa_cli scan_results” command, once logged in using minicom, did return lists of local access points. It seems that the WiFi radio is working. I specifically followed the directions in the documentation and didn’t get any errors. It simply wouldn’t connect to two separate access points, even with authentication and passcodes turned off at the router.
The ssh for remote log-in didn’t seem to be enabled by default, either. That would be a helpful tool, especially in a dev kit.
I typically don’t interact with vendors much when first checking out a new piece of gear, preferring to work out tech issues on my own, then share the info with readers. I assume that parts received work according to the documentation provided or is available on the Web. If I’m unable to solve a problem with reasonable effort, perhaps the documentation and setup processes could use a little tweaking. There’s always the possibility of a hardware problem. As your informal tech adviser, my job is to show you the easy, as well, potential frustrating parts so you can decide where you want to go.
At some point, a call to Samsung developer support might be in the cards.
I went ahead and prepped the Arduino IDE, on my Linux notebook next. Updating my existing IDE (version 1.6.7) to include the Artik board was a breeze, following the directions on the developer’s support site. You’ll need to register as a developer to get to the downloads and some of the development documents. Samsung also offers an Artik IDE, based on Eclipse Che.
That’s said because the standard “blink an LED” program worked flawlessly in Python. As you recall, Python is the default language on the Raspberry Pi. Well, it’s native on the Artik, too. I just hooked up a 220 Ohm resistor and LED to the standard Arduino pins 13 and ground (on the Artik developer board), grabbed the blink example Python code and ran it from the command line.
artikuser% python -i blink.py
Samsung covered everything well, including wiring diagrams and instructions, in the Artik “First Program: Blink an LED” tutorial.
Once I’m able to connect to the WiFi network and use the Arduino IDE to test out sketches, I’ll explore the HDMI, audio and cloud-based development environment. Look for an upcoming Off-The-Shelf Hacker story summarizing those Artik topics.
Artik As A Physical Computing Platform
The Artik looks like promising physical computing technology for all levels of Off-The-Shelf Hackers. Just like with the Pine64, there’s bound to be a few sticky points in the beginning. I’m sure they’ll get worked out shortly.
Samsung bundled in a bunch of radio capabilities, plenty of processing power and lots of memory. It uses Linux, and I’m anxious to program it using what’s becoming the industry standard, the Arduino IDE. Samsung’s Artik cloud development environment looks useful, too. It will be interesting to see how the various Artik modules are priced and if DIY breakout boards become available.