This is a love letter to a great part: the ODroid Show2. It's an Arduino with a screen! Does that sound familiar? Maybe you remember the MicroView Kickstarter. The MicroView is another Arduino with built-in display. In fact the Show2 and the MicroView use the same (ATMEL ATmega328P) Arduino SOC. Here is a look at both of them in action (attached to an ODroid-XU4):
So does the MicroView suck? Not at all! The MicroView is a very well designed and constructed part ... but I'm not in love with MicroView (any more) ... it's an emotional thing - I can't explain it; but I'll try anyway:
|bigger is better - more pixels (320x200 vs. 64x48) and larger screen make for easier reading||+2||small is beautiful - it really depends on the application||+1|
|Arduino driver sketch (apparently) written by Lady Ada||+7||Geek Ammo kickstarter team performed admirably||+6|
|price: about $27||+3||Sparkfun has it for about $40, but you probably also want this this for $15 to go with.||-25|
|bare/unfinished part||0||superb style and finish||+12|
|breakout pins||+12||breakout pins||+16|
|buttons and LEDs||+6||(crickets)||0|
(Scoring system approved by Her Majesty's royal auditors at Top Gear BBC.)
How do I express my love for the Show2? Read on ... (safe for work!) ...
- Linux machine connected to Show2 via USB
- Java 7 or 8 runtime
First make sure Linux tool dependencies are installed:
sudo apt-get update sudo apt-get install ant arduino git python-pip sudo pip install ino
Then get Show2-Eboogaloo bits and run setup script:
cd git clone https://github.com/cjdaly/Show2-Eboogaloo.git cd Show2-Eboogaloo/Show2-Eboogaloo-SETUP ant -f setup.xml
Press the Show2
RESET button and note the message that is briefly displayed as the Show2 restarts. If you see the message
Hello ODROID-SHOW! with version
v1.6, this should be compatible with
Show2-Eboogaloo. Otherwise, you may need to skip to the sections below on Arduino sketches and upload either
And now you should be ready for...
The top level
Show2-Eboogaloo directory contains several bash scripts. The
find-show2-ttys.sh script will search for connected Show2 devices and print their Linux device file path (e.g.
show2.sh script controls the Show2 by interpreting a series of command line arguments. Run
./show2.sh with no arguments to see a usage message. To produce an image like in the picture above:
./show2.sh siz4 fg3 +Hello fg6 '+ world!'
Note in this example how quotes are needed for the final argument, because it contains whitespace. If the Show2 is associated with a non-default device file, use the
-T argument to specify the correct one:
./show2.sh -T/dev/ttyUSB1 +hello fg3 '+ world'
setup.xml script clones the hardkernel ODROID-SHOW repo to the home directory and does a
git checkout to the version mentioned above. Inside the
ODROID-SHOW repo is the Arduino sketch (
~/ODROID-SHOW/show_main/show_main.ino) that serves as the Show2 firmware.
setup.xml script can copy the Arduino sketch into an Ino project structure in the
Show2-Eboogaloo project and build it using the Arduino tool chain. To do this:
cd ~/Show2-Eboogaloo/Show2-Eboogaloo-SETUP ant -f setup.xml Show2-sketch.build
If you need to make changes to the Arduino sketch, the quick-and-dirty command line way to rebuild and deploy goes like this:
cd ~/Show2-Eboogaloo/Show2-Eboogaloo-SETUP/show_main ino clean ino build ino upload -p /dev/ttyUSB0
Depending on the orientation of your Show2, it may make sense to switch the default text rotation setting in the firmware sketch. To do this, edit the sketch file (
.../show_main/src/show_main.ino) and look for this line:
uint8_t rotation = 1;
Valid values are
0-3. Change to a different value and then repeat the Ino
upload sequence described above.
weatherThing Arduino sketch
I have made some enhancements to the
show_main.ino sketch, forking off a new sketch called
weatherThing.ino. This supports new commands to enable (
-WB) and disable (
-wb) dumping of sensor data from the ODroid WeatherBoard, if one is attached to the I2C headers on the Show2.
Also new are the
led commands. Use
ledB to turn the blue LED on and
ledb to turn it off. Similar commands control the green and red LEDs.
To build and deploy the weatherThing sketch:
cd ~/Show2-Eboogaloo/Show2-Eboogaloo-SETUP ant -f setup.xml weatherThing.build cd weatherThing/inoProject ino upload -p /dev/ttyUSB0
fold extension channel
To use the Show2 with fold, copy the 2 jars in
~/Show2-Eboogaloo/Show2-Eboogaloo-SETUP/plugins to the
~/fold-runtime/extend/plugins directory and then run
./fold.sh extend from the