The Intel® Edison is an ultra small computing platform that will change the way you look at embedded electronics. Each Edison is packed with a huge amount of tech goodies into a tiny package while still providing the same robust strength of your go-to single board computer. Powered by the Intel® Atom™ SoC dual-core CPU and including an integrated WiFi, Bluetooth LE, and a 70-pin connector to attach a veritable slew of shield-like "Blocks" which can be stacked on top of each other. It's no wonder how this little guy is lowering the barrier of entry on the world of electronics!
Piggyback an Arduino onto your Edison with the Arduino Block. This board features the same ATmega328P you'll find on Arduino Uno's, Pro's, and Pro Mini's. The 8-bit microcontroller workhorse is connected to the Edison via a selectable UART, so your Edison can interact with the Arduino over a serial interface.
The GPIO pins of the Arduino are all broken out to the familiar Pro Mini form factor. You can jump wires off of them to control LEDs, motors, or sensors. Or connect it straight up to a Pro Mini shield.
If you are looking to add a little more stability to your Intel® Edison stack, check out this Hardware Pack. It will provide you with increased mechanical strength for stacking Blocks on your Edison!
If a board needs code or communicates somehow, you're going to need to know how to program or interface with it. The programming skill is all about communication and code.
Skill Level: Competent - The toolchain for programming is a bit more complex and will examples may not be explicitly provided for you. You will be required to have a fundamental knowledge of programming and be required to provide your own code. You may need to modify existing libraries or code to work with your specific hardware. Sensor and hardware interfaces will be SPI or I2C.
See all skill levels
If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.
Skill Level: Rookie - You may be required to know a bit more about the component, such as orientation, or how to hook it up, in addition to power requirements. You will need to understand polarized components.
See all skill levels
We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.
No reviews yet.
Does it support SPI?
Is anyone having trouble getting serial comms back from the Arduino into the Edison, on the standard UART1?
I can send to the Arduino fine, but don't get anything back. Only exception is when I plug an FTDI adaptor into the Arduino while monitoring on the Edison, I immediately get one 0x00 (NUL), but that's it.
I'm running a Node.JS program on the latest Yocto-based image, and using MRAA to set up the UART. But even reading direct to the shell doesn't seem to receive anything.
I get the feeling I'm missing something obvious...
I'm currently experiencing the same issue! I've got code on the arduino block that prints data to the serial. I am using a SparkFun base block and plugging into both of the USB ports to a power usb strip.
I can get data from /dev/ttyMFD1 using nodes with serialport but it's strange "<Buffer: c4 fa ...etc>" and running a hex translation on it results in junk.
With mraa and getPinCount() I get 56 which I guess is not the expected amount. Please let me know if you come up with anything!
This block (and the UART block) offers the possibility to switch between the Edison UART1 and UART2. However, I have not found a clear answer to how to enable UART2 which is used by default by the console. The question has been asked on the Intel forum where the correct answer suggests to reproduce what is being done on the Edison Arduino breakout firmware. However, this approach relies on the presence of a /etc/inittab file that cannot be found in my Edison installation. So what would be the recipe to unleash this capability in the Sparkfun blocks?
EDIT: After some research, I have been able to find a crude way to disable the console on UART2, thanks to this post
FIRST MAKE SURE THAT YOU HAVE ACCESS TO THE CONSOLE WIRELESSLY THROUGH SSH, as you will need this access to reattach the console to UART2 later on if you wish. Open an SSH session and disable the console with:
fw_setenv bootargs_console
then reboot
shutdown -r now
To re-attach: - Open an SSH session and enable the console with
fw_setenv bootargs_console console=ttyMFD2 earlyprintk=ttyMFD2,keep
then reboot.
This could surely be automated the same way as in the Edison Arduino firmware.
Where is the schematic of this board at ?
On SparkFun's internal network ;) I'd guess they'll become available when they finalize them as things may yet change (even if only slightly).
Does anyone have problems with reading analog values using Edison and the Arduino block after power on/off?
I have a stack with Edison/Arduino/Base/Battery: sketch reads analog value from the Arduino block and blink a light if the reading is greater than 0, or blink another one if it is less than 0.
All works fine if I start the system with USB connected loading the sketch. I can disconnect the USB and the system keeps running OK.
However, if I power off/on the system using the battery switch, the analog reading is zero, until I reconnect and disconnect the USB again, and starts working again.
Any help would be appreciated
The
I have a question: I have a battery block. Does the battery block power this block so I don't have to be tethered?
Dave
I too am having problems with reading UART data from this board to the edison. I can read and write from and to the edison to a terminal via UART. I can read and write from the Arduino via the FTDI, but I cannot read data from the Arduino via the stacked connector that I assume connects to 0 and 1 on the Arduino.
My Arduino code is:
void setup()
{ // Open serial communications and wait for port to open: Serial.begin(9600);
}
void loop() // run over and over {
if (Serial.available()) Serial.write(123); }
My edison code is:
import serial import time
serialport = '/dev/ttyMFD1'
print 'open ' + serialport ser = serial.Serial(serialport, 9600)
print ser.portstr # check which port was really used counter = 0 while True: try: if ser.isOpen():
print 'begin' data = ser.read() print 'reading: ' + str(data)
print "done"
Console output:
root@kextrel:~/pythoncode# python uartread.py open /dev/ttyMFD1 /dev/ttyMFD1 begin
Any help appreciated
For those having problems:
115200 DOES NOT WORK - I don't know if it's the Edison or the Arduino that won't work at that speed. Use 9600
Anyone had any success with this board? The Edison doesn't start up even though the Arduino has power and is running code.
I've been running this for a couple of months now with no issue... I will mention it seems that this board isn't set up to power the Edison from the Arduino VCC connection, or through the FTDI port connection (if you might be powering the Arduino Block in either of those ways). I've been powering this board (and the Edison) through either a base block, UART block, or the Intel Breakout Board.
The Arduino runs when powering it through the VCC connection on the Arduino side, but there doesn't appear to be any method to back-power the Edison board when hooking it up this way.
From looking at the schematics, it appears that you can power this board via the VIN connection (SJ4) to power both the Arduino and the Edison. VCC has to be limited to 4.4 volts max when configured this way due to limits of the Edison VSYS range. SparkFun's other blocks appear to be set up to provide 4.0 volts at VSYS to the Edison (which is what the VIN connection is tied to) - presumably to have a little margin under the Edison VSYS max of 4.4 volts.
Not sure what to check other than the power supply connectivity. Curious as to how you are verifying that the Edison is not running? Presumably if you have any of the UART/Base/Breakout blocks attached to see the Edison serial output you should be powering the board OK through them...
One other thing that jumps out is the DCIN jumper (SJ5) that is normally not populated. Leaving this unconnected appears to alter the boot timing a bit and the Intel Breakout board (as well as the Base Block) short this jumper together. The Base Block does so through a transistor, but it appears to have the same effect.
My thoughts for what they are worth. Good luck
I don't recommend attaching the edison directly to this block, the nuts on the hardware supplied rubs against the reset switch and breaks it off really easy. Needs a bit more clearance....
Is there any tutorial on how to read analog value using this device?
We're working on a tutorial, it should be out this week.
For now, we've got some example code in the GitHub repository. It's an example client for Firmata, which you'll need to load on the Arduino first.
Hi, I will really like to know an approximated date for this item because I have an excellent project idea but it can only be done with this block combine with the Intel Edison. P.S. I hope it's soon (Please :))!!!
The Edison will emulate an Arduino, if that helps.
How does this board get power? Or are we suppose to provide our own power solution? Like a Battery Block?
Will there be a SPI pin exposed in this Arduino block?
I would also like to see the eagle files for this board please.
See note above, once the design is finished and these are available we will release the schematic and board files.
Will this be a 3.3 or 5 V Arduino?
It'll likely be 3.3V/8MHz.