Duane Benson
Embedded
The Arduino began life as a simple and inexpensive 8-bit microcontroller teaching tool. In the intervening decade plus, it’s grown into a diverse platform that has revolutionized the microcontroller education and hobby worlds. Recent, more powerful additions to the Arduino family have added 16 and 32 bit processors and have brought the Arduino into commercial development as a rapid prototyping platform.
One of the latest entrants to the world of high-performance Arduino compatibility is the Edison, from Intel (Figure 1). The Edison has a dual-core 500 MHZ Intel Atom processor, with built-in Wi-Fi and Bluetooth. It comes with 1GB of RAM, 4GB of eMMC internal storage, and a USB 2.0 OTG controller (but not the connector).
Figure 1. |
I’ve designed a fair number of PC boards with an Arduino-compatible heart. The 8-bitters, Atmega32u4 and Atmega328P, are really easy to use, but limited in power. I’ve started using the 32-bit ChipKIT design, with a Microchip PIC32MX340-512E, which is much more capable, and not a whole lot more difficult to design in. Still, I want more power, which sent me toward the Edison.
The Edison is set up to be Arduino software compatible. It also runs a pre-loaded Linux distribution. You can load Arduino code into it through the Arduino IDE, or you can load code through the Linux side, just like you would with any other embedded Linux distribution. When combined with the right add-on cards, this flexibility makes for a real quick initial bring-up, as well as the capability to do some real work.
The basic module can’t be used stand-alone. It’s designed to be plugged onto a motherboard, or as one board in a stack. All of the I/O and power connectors come out to a high-density 70-pin board to board connector, so the device needs at least one add-on board for power and any wired I/O. Multiple boards can be stacked to add just about whatever peripherals might be wanted.
I recently purchased an Edison module with the intent of designing something around it. I also purchased a SparkFun “Base block” daughter board, with USB connectors for the console and USB OTG (Figure 2). The whole stack can be powered through the USB ports, so this minimum configuration will allow me to get to know the software end of things while my board is in design and being built.
Figure 2. |
I use I2C a fair amount, so my first design is an add-on board that will have 3.3 volt I2C, 5 volt I2C, and a micro SD card receptacle. The Edison runs natively at 1.8 volts, so it requires line level converters for just about everything. My board will have three; one for each of the I2C interfaces, and one for the µSD card.
Unfortunately, one of the first things I did with the Edison was break the board to board connector on the base block. I wouldn’t recommend doing the same thing. The connector is a somewhat fragile 70 pin, 0.4 mm-pitch Hirose board to board connector. I hit it with the nut driver when I was fastening the two boards together (Figure 3).
Figure 3. |
It’s too small for me to do anything with, but fortunately, the folks I work with at Screaming Circuits, my day job, can easily replace it for me. 0.4 mm pitch high density connectors are really getting beyond the hand soldering capabilities of all but the most masochistic folks. We apparently have some of those people in our rework department - a definite advantages of working in a place that specializes in this kind of work (Figure 4).
Figure 4. |
SparkFun made their Edison boards open source, and put the design files on the product pages of their website for download. Github, where most people place their design files, is nice, but I like having a direct download of the files in the same place I buy the board. Their EagleCAD files gave me a point of departure, with the board sized to match those at SparkFun, and the high density connectors already placed and routed out. From there, I added the microSD socket, line level converters, and two connectors for I2C.
I’m using a Texas Instruments TBX0108, 8-bit converter for the microSD card, and a pair of PCA9306 open drain 2-bit converters, also from Ti, for the 5 volt and 3.3 volt I2C interfaces. It wasn’t that long ago when line-level converters were somewhat of a rarity in the microcontroller world. Now, with higher performance systems like the Edison, at 1.8 volts, converters are standard-fare.
Figure 5. |
As you can see in the layout (Figure 5), it fits nicely into the SparkFun-size, 1.2” × 1.75”, form-factor pc board. I chose a 2 mm × 4 mm, 0.4mm pitch DFN package TBX0108 for the micro SD card converter, to give extra clearance around the mounting hole. I used a larger package for the PCA9306 to allow for routing under the part.
I’ll write more when I finish the design and get the assembled boards back.