A Grand Slam in Baseball, is a home run hit, when each of the three bases is occupied by a runner, thus scoring four runs. The Grand Slam of Ultrarunning is recognition for those who complete in four of the oldest 100 mile trail runs in the U.S. And in Tennis, the Grand Slam describes the four Grand Slam tournaments, also called Majors, the most important annual tennis events.
A few years back, we came up with our very own definition of a Grand Slam, the Code Camp Grand Slam, which would recognize those who had spoken at four distinct Code Camps, during one calendar year. After having fallen short for the last two years, speaking at only three venues, Tom and I finally completed the four Code Camps in a single year Grand Slam.
A couple days back, I wrote about ‘The $3 Arduino‘, how to leave the Arduino board behind and program an ATmega168 Micro-Controller directly, still using the Arduino IDE but with the AVRMSPII programmer. Of course, the ATmega168 isn’t the only MC available for something like that. In fact, I have quite a few 8-bit AVR Micro-Controllers in a small box right here, next to my desk.
Let’s minimize the ‘Minimal Arduino’ even more, for instance by using the tiny ATtiny85 Microcontroller. Just like we did with the ‘BareBones’ definition, we add board definitions for the Mircocontrollers that the Arduino IDE doesn’t support out-of-the-box. Board definition for the missing MCs can be found here and after moving the
attiny folder into the
~/Document/Arduino/hardware folder and restartig the Arduino IDE, the IDE should now know about the new MCs. More details about this can be read here.
Extended List of supported Arduino Boards
Minimizing the Minimal Arduino
Now that the Arduino IDE knows about the really tiny ATtiny85, we can set it’s internal clock to 8Mhz and flash a small program.
Buying and using an official Arduino Board like the standard Arduino Uno is the perfect way to get started with the Arduino language, common electronic components, or your own embedded prototyping project. However, once you have mastered the initial challenges and have built some projects, the Arduino Board can get in the way.
For instance, many enthusiasts, who started out with hacking and extending the Arduino hardware and software, have now moved on to the Raspberry Pi, which is equally or even less expensive, but more powerful and complete. The Raspberry Pi comes with Ethernet, USB, HDMI, Analog-Audio-Out, a lot of memory, and much more; adding all these capabilities to the Arduino with Arduino-Shields, would probably cost several hundred Dollars. However, the Raspberry lacks some of Arduino’s I/O capabilities like Analog-Inputs.
Combining an Arduino with a Raspberry Pi, may make sense for a lot of project; but we don’t need or want to integrate an Arduino Board – the Arduino’s core, the ATMEGA Microcontroller, is all what’s needed.
Looks like Android 4.0 (aka Ice Cream Sandwich) is coming to the Raspberry Pi. But even without Android, the Raspbian OS (Debian Linux-based operating system optimized for the Raspberry Pi) turns this credit card sized computer into a powerful tool.
The single-board computer comes equipped with the Broadcom BCM2835 SoC (system on a chip, includes an ARM-11 700MHz processor, VideoCore IV GPU, and 256MB RAM.) While the computer does not have any Flash Memory on-board, the SDCard socket allows adding up to 64GB Flash Memory.
The HDMI video and audio support, Ethernet socket, and the two USB sockets, allow the device to be used as a mobile computing platform or embedded system. However, its complexity and lack of analog inputs will probably not make to many Arduino enthusiast jump ship just yet.
The size, price, available hardware features, combined with a Debian-based operating system make this board the perfect prototyping, learning, and teaching device for more than just basic computer science.
Besides a select few (you know the “I’m only using *”, where * is either emacs or vi) most developers I know have a number of tools, they cannot live/work without. The set of development tools I’m using is ever changing, but a favorite of them all remains IntelliJ IDEA, an unbelievably smart IDE for Java and Android as well.
I might be a little biased; way back in 1999, I was working for Artificial Life in St. Petersburg, Russia and after they closed their offices there, some of the best engineers moved on to Jetbrains, starting to work on IntelliJ – and that’s what they are still doing. If you happen to work with Eclipse a lot, you may want to give IntelliJ a try.
Anyway, I thought I’d share, what’s in my bag of tools today ..