The Nanode is a cool Ethernet enabled Arduino clone all in one kit for sale at $39.95, including shipping, which is a pretty good deal. It Also includes a year’s subscription to Pachube Pro, a $25 value. So all it all it is great value for money.
We have been working with Ken Boak, the inventor of the Nanode, who is based in London and worked with the London Hackerspace to create the Nanode. It has made a big impact there, and is used in projects like the Open Energy Monitor, which I’ll be blogging about in the future.
If you want to find out more about the Nanode, this website has a step by step build, application info, IRC chat and more. We’re really looking forward to doing some fun stuff with it.
I think there are probably a lot of Arduino users out there who either (a) don’t know about interrupts, or (b) don’t know you can use them in the Arduino environment. I will almost certainly be using the Timer Interrupt capability of the ‘duino in an upcoming project that uses Charliplexing (get excited!). I found the following to be an excellent overview and reference in that respect: http://www.uchobby.com/index.php/2007/11/24/arduino-interrupts/
For more “advanced” Arduino users, it helps to keep in mind that at the end of the day, all your source code gets compiled using avr-gcc, so in principle you can do anything with an Arduino that you could do by targetting an ATMega328 (or ATMega168) using vanilla avr-gcc (i.e. use any of the chip’s hardware). For some things it’s harder than for others because the core Arduino libraries implement some of the interrupt handlers (ISRs), but for some things, like Timer2, it’s open season! Other than that you just have to make sure you are not trampling over some other (Arduino) function of the hardware resource you want to hijack . Have fun!
Having your Arduino communicate over the serial monitor is nice, but for longer running installations and apps, a GUI is a good way to go. This blog post shows how to use a threaded GUI client to listen to the Arduino. It uses Python and Qt, from Nokia.
This example is as simple as possible. It uses threading to control the GUI, and a queue to communicate between the Arduino and the GUI.
There are many GUI toolkits available, but I like Qt. It is world class, fully cross platform, and presents a professional looking result. Also, it has a cool system of signals to communicate between objects, avoiding callbacks. This means it is safe. If you are going to build professional GUI’s with Python, in my opinion Qt is the way to go. This tutorial uses Qt4.7 and Python 2.7 (I imagine anything over Python 2.4 will work, but I haven’t tried).
I’m a big fan of Python, because it is an easy general purpose language and doesn’t get in the way of my brain while I’m problem solving. To get Qt and Python talking, we use PyQt. You can use PySide as well.
To get started, you need to install Python (Mac and Linux have it pre-installed), PyQt and pySerial. I like easy_install, a Python package installer. You might as well download Qt4 while you’re at it – I recommend going the whole hog and getting the Qt Creator Binaries for your system. It includes Qt Designer, which is nifty.
Next step is running the GUI application. Download ArduinoPyQt.txt and rename it to ArduinoPyQt.py. Before we go over what it does, run it from your IDE or Python ArduinoPyQt.py from the command line to check it works. It should bring up a window like the picture above, but blank. (I’m on Win7 – the skin will match whatever system you are on.) It is blank because we don’t have the Arduino connected yet.
The Arduino sketch
We’re going to use the most trivial Arduino sketch possible. Here it is:
Living on a busy road and getting home in the snowy dark means I am not particularly motivated to check my mail every day. Trekking to the mailbox only to discover it’s empty is particularly annoying.
Why not build a device which tells me when the mailman has opened the mailbox? That way I can reasonably assume there is mail there for me. If you also want to save unnecessary trips to your mailbox, then this build is for you.
Difficulty: 4/5: Both a physical and electronics build, need to download header files.
Time: An afternoon (4 – 5 hours).
Announcing two new products, a 433 MHz transmitter+sensor, and a receiver shield, both available in our store. Both are designed for short range, power sensitive applications.
The transmitter and sensor combination makes it very easy to add both digital and analog remote sensing to your projects. It has modes for periodic and event based transmission. Sensor pads make it very easy to solder up to 4 sensors to each sensor. Range is up to 300′ line of sight. It is extremely power frugal, ideal for drop-and-forget sampling.
The receiver is simple, and gives you wireless capability on your ‘duino for under $10, the cheapest we have seen. Together they provide a short range wireless link and sensor package for under $25.
Happy New Year! I recently decided it was high-time, here at Wicked Device, that we started making some of our “stand alone” products (even more!) accessible to the Arduino community. So for my first trick, I decided to take our Day Counter product and make it easily usable as a general purpose 7-segment display for an Arduino. In the process, I also ended up making a separate library for dealing with the trusty 74HC595 shift register used in the Day Counter project. All I had to do was read the tutorial on the Arduino website, remember how to write C++ classes, and port a bunch of code I had already written for the ATTiny85 for the Day Counter. I was actually really impressed, it wasn’t that hard at all.
The result is some really powerful capabilities for end-users with a neat public interface. Using the new libraries lets users use the Day Counter for whatever they can imagine without having to worry about the details of the Arduino/DayCounter interaction. As a user, all you really want to be able to say is:
I’m using Arduino pins 5, 7, and 10 (or your favorite pins)
This is very clever, using an Arduino UNO to target an ATTiny45 or ATTin85 with a sketch! Watch out for assumptions in Arduino libraries, most notably that the assumption of 16MHz operation. And of course there are clearly limitations in terms of available pins on the smaller device. For what it’s worth, Wicked Device Day Counter kits come with an ATTiny85V and a programming header if you want something a bit more sophisticated than a breadboard to play with !
I did not see a simple example of using Twitterizer2 in a desktop app. For example, the Twitterizer app notes that desktop apps are not supported not being actively maintained, and in the forums Ricky notes “I am not maintaining a desktop example.” so I figured it might be useful to post one.
My guess is that there are not many times you would need a desktop app, so that makes sense. However, my project reads serial input from an Arduino and posts that, so a desktop app seemed appropriate. I just want something running in the background. If it tweets, great, but my application did not require connectivity. Putting in a dependency on being connected by hosting the app online did not seem appropriate.
Here are absolute basics of connecting using Twitterizer2 and oAuth from the desktop. I’m using the free version of MS Visual Studio 2010 and used Twitterizer2 2.3.1.
High Level View: Here are the essential steps.
Prerequisites – download etc.
Create a windows forms app.
Add a button to login with.
Create a token (you can’t tweet with it tho’).
Get permission from Twitter for the app using a second form for the pin.
Create a second token using the pin (this one works to tweet).
Add a text box or two. I used 2, one to output status and a second one for the user to enter what he wants to tweet.
We are launching two new board and announcing some upcoming products.
This board will replace the Duemilanove. We replaced the aging FTDI chipset with a custom made usb-serial converter built with an Atmel ATmega8U2 this provides lower latency and doesn’t require to install any drivers on mac and linux (on windows all you need is a simple .inf file) more advanced users will be able to reprogram the USB chip to make the board show up as a variety of USB devices (Keyboards, Mice, Joysticks, MIDI etc)
Arduino Mega 2560
An upgrade for the Arduino Mega which will sport the new Atmel USB chip plus an ATMega2560 processor with twice as much flash memory.
We have been working for a few years on this modular system of sensors and actuators.