Wednesday, April 9, 2008

Circles, Squares, and Lines... Oh my!

Fiddling and optimizing Bresenham's line-drawing algorithms is fun, but not like as in something you brag about to your friends doing it on a Friday evening.


The TouchShield gives Arduino users a chance to draw shapes right from the Arduino environment, leaving the nitty gritty for the early morning coffee drinkers.

As easy as,


What's more, you can do it all at the hand (or finger) of touchscreen events.

Gentlemen, Start Your...Arduino?

The progression of open source hardware innovation is bringing a whole new meaning to community development. This movement is bringing people together who have never even met before in person. The best part about the open source hardware community is not that they all share many of the same interests, but that this entire community continues to inspire synergistic innovation and creation. Everyone in the community is constantly contributing ideas, sharing videos, and answering questions from fellow hobbyists and professionals. This friendly environment helps mold comfort zones for those who are not socially adept, and also invites and inspires newcomers to enter a realm governed only by open minds and collaborative ideas.

If you haven’t already been privileged enough to be a part of this thrilling and thriving environment, my advice: Check it out. If you’re interested in challenging yourself and being a part of community with no boundaries and unlimited opportunity, open source hardware could be your next big adventure.

Tuesday, April 8, 2008

Open Source Hardware, courtesy of Sparkfun

Until about 2000, "software" was pretty much implicit whenever the term "open source" was mentioned. Sure enough, open source software could happen because people everywhere could code easily and share that code. All you needed was a computer and an internet connection, which you already had.

Fast forward to 2002. People begin to toss around the idea that open source might be applicable to hardware as well. Jim Turley (and others) think not. The fundamental concern here is that the requirements to develop open source hardware are much higher. Essentially, you're creating a tangible product and you need tangible building blocks. People will have to pay for these building blocks, and why would they do that? With open source software, the development cost was virtually zero. With open source hardware, the individual engineer will have to sink money to build a product, right off the bat. Prototyping costs money. Development costs money. And should the product work, manufacturing and distributing the tangible product will cost money as well.

So what's the issue? There's a huge hurdle that open source hardware faces that software never did—the host of issues that come with being hardware and being concrete. Does that mean we shouldn't do it? For some people, the answer is yes. But I always say, wherever there's a hurdle, there is great opportunity in finding a way around it. And that is exactly what Sparkfun did—and with that, taking open source hardware to a whole new level.

Now it's 2003, and Nathan Seidle, an electrical engineering student at CU-Boulder, needs a replacement microcontroller and finds it incredibly difficult to get these online. Like any smart guy facing a challenge, he turned it into an opportunity to stock quantities of the products he used, making them available on a user-friendly, easily accessible website called Sparkfun. This way, many more users like Seidle no longer needed to scour the ends of the earth for the products they needed. And what an opportunity it has turned out to be! From the Sparkfun website: "Now in its fifth year, the company employs nearly three-dozen people and maintains a growing office on the outskirts of Boulder. We add new products all the time! If you've got a recommendation or something you can't believe we don't already carry, let us know! sparky@sparkfun.com So enjoy! Take a look around. You may already have your Ph.D. in Material Physics or you may be a curious kid who's ready to wire up your first kit - we've been there and we know how to help."

So back to Jim Turley and the impracticability of open source hardware. Sparkfun found a market of DIYers and engineers who were more than happy to front the costs of innovation. Perhaps Turley took too pessimistic an approach to people. Perhaps the community is indeed willing to foot the bill if it means they can contribute to something greater. Or maybe they just love building their own hardware. I don't know. But it seems like Sparkfun is growing rapidly with an ever-widening fan base who look to them for all their engineering needs.

What's interesting is that before Sparkfun, nobody supplied these parts, and now there are quite a few sources—the likes of Make and Adafruit, to name a couple. But by far, talking to folks who do this stuff, it seems like they've always got at least a few pieces that they "got from Sparkfun". Sparkfun, as the supplier, has arguably enabled the progress of open source hardware, founded on a simple need to pursue independent electronic projects. Somehow they are able to offer low cost products that would typically require high quantity orders from the traditional retailers like Jameco, Digikey, and others. All this is catered to the individual, pioneering, and innovative engineer.

They also have a knack for picking useful and practical components and devices from the wide and sometimes boundless universe of "potential parts". Most of their components have a little bit of a "that's cool" factor, and even if not all of them have immediate applications, they still deliver on stimulation and imagination. Check out the Port-o-Rotary. Or the opening of the WiiMote. I could go on and on, but you get the point.

Knowingly or not, Sparkfun was the first to fill a supply gap that allowed engineers to make open source hardware a very real revolution. Not to say others like AdaFruit, Make, or Arduino were not part of shaping the open source hardware landscape that we have today, because they are. But without Sparkfun opening its doors in 2003, many of us would still be sitting here wondering if Jim Turley was right all along.

Thanks!

Thanks to everyone who wrote in, emailed, volunteered to help out, added suggestions, and for the folks who bought a few TouchShields, ExtenderBoards, and Lithium BackPacks! We made it to two sites (thanks Make and Crunchgear!):

Make magazine


Crunchgear


I should be ready with my "BitDJ" program in a week or 2... I think the physical computing folks out there are really going to like it!

Sunday, April 6, 2008

Super modular Arduino with Extendershields

Looking around at some of the assembled DoubleTall and DoubleWide ExtenderShields, I had this thought that it might be cool to combine everything into a single super-modular Arduino. Although it's not fully functional, in theory it could be, and could actually be made to work with some time (and energy).

Included in the picture are:

-Arduino Diecimila
-Liquidware TouchShield
-Liquidware Lithium BackPack
-Parallax Temperature Sensor
-Parallax Sonar Ping Sensor
-Parallax 2D Accelerometer
-Parallax Motion Sensor
-Libelium GPS Module
-Sparkfun XBee Module
-Liquidware DoubleTall ExtenderShield
-Liquidware DoubleWide ExtenderShield


Saturday, April 5, 2008

Introducing the TouchShield

For the past few months, we've been wrestling with Chinese manufacturers, bargain hunting in South America for pin headers, and negotiating with Russian OEM microcable manufacturers... all to build the cheapest possible OLED and touch screen combination shield, called the TouchShield.

To my knowledge, it's one of the most feature-packed Arduino compatible shields to date, complete with onboard processing capabilities, display functions, and even 16 megabytes of onboard video ram (don't ask how hard it was to cram that on, but suffice to say we found a tiny corner in the back upper left of the PCB where we could fit it).

Here's a picture of the front side:

...and the back side (try to find the ram chip):

...and a picture of the TouchShield snapped on top of a DoubleWide ExtenderShield with an Arduino on the back, and a battery BackPack on the underside as well:


...and here are some videos of the TouchShield in action:


We have 10 of them built and fully tested, with open source software and cores, sitting on the desk right next to us, and we're selling them for $109 if you're interested.

Introducing the DoubleWide ExtenderShield for the Arduino platform

With the growing number of Arduino add-ons out there, especially snap-on shields, I thought it might be helpful to make some pin replicator boards in order to support more than one shield at a time. The idea was tossed around a bit over at the www.liquidware.org site, and so we finally decided to make a few of them to see what they looked like:



And here's an example of Mike demo'ing the Doublewide with a few of the other shields plugged into it:


We also have the DoubleTall ExtenderShield, which allows you to change the orientation of the shields in the opposite direction:


Mini black and colored proto boards

Here are some shots of the black and multi-colored mini protoboards that just came in, and are on sale over at www.liquidware.com

These things are so cute, you have to see them to believe it. It gives a whole new meaning to the drab beige and white protoboards I'm used to seeing from my undergrad engineering days, and they look darn good in motion.

Here's a video Mike took last night:


And here's a sequence I shot this morning while playing around with a stop-motion webcam animation... enjoy!

Controlling a fan with the Arduino

This is a brief video Chris made last night, showing the Arduino using PWM to control the speed of a CPU fan. The code is available online here.

Touch Shield Bitmap Portal

Touch Shield Bitmap

  1. Set up your Touch Shield
  2. Open the Touch Shield Bitmap Portal
  3. Open the bitmap you want to upload
  4. Upload the bitmap (Burn Bitmaps)
1.)Set up your Touch Shield
  • Set the "Board" to "TouchShield" in the Arduino environment.
  • Put the Touch Shield into the boot loader by pressing the “Black Button”.














































Image interface code:

void setup()
{

image_interface_begin(); //wait for the vb image downloader to take over

bmp_draw("spears5",0,0); //draw the spears5 bitmap that is stored on the memory chip at //location (0, 0) which is the top left corner of the OLED screen.

while(1); //wait forever
}


2.)
Open the Touch Shield Bitmap Portal
  • Open "TSImageUploader.exe".
  • Enter the COM Port number in the box to the right of “Enter COM Port
    Number”.


3.) Open the bitmap you want to upload
  • File -> Open -> spears5.bmp
  • The file should be a bitmap (.bmp).
  • The file should have a resolution of 128 X 128 or smaller.




4.) Upload the bitmap (Burn Bitmaps)

  • Click on the “Burn Bitmaps” button and wait.
  • It will say, “Finished” when all of the images are downloaded onto the Touch Shield memory chip.





Getting results with a simple homemade lightbox

When the pictures first come in, they are very yellow tinted, even with some simple tweaks with the built in settings. I haven't been able to find any decent combination of exposure, contrast, brightness, etc. settings to counteract the tinge:

Despite the brightness of the lights, there are still some shadows cast in back of the DoubleTall ExtenderShield:


And in this picture, you can see the walls of the lightbox:



I've done it so many times, I almost have the Gimp edit sequence memorized:

  1. Open the image, and crop around the right size
  2. Open brightness and contrast - improve brightness by 40%, contrast by 70%
  3. Use the fuzzy color select tool with 14.2 pixel fuzzy tolernace, and select the whitespace
  4. Fill with whitespace
  5. Size image to 800 pixel width or 600 pixel height at maximum
  6. Save and upload!
The results look like this (I really like the contrast of the black board with the red min protoboards on top!):


There's still a little tiny hint of yellowish-orange tint, but for the most part you can get the idea :)


It took me about 3 hours total of camera work, editing, and uploading to snap the photos for everything you see on the www.liquidware.com site. Let me know what you think... anyone have any ideas on how I can improve next time?

Setting up a simple lightbox for liquidware.com product pictures

Nowadays it seems every major online website or store has clean, carefully taken "professional" photos of their products and gadgets. And for some reason, that tends to mean they're floating in whitespace, with little tiny shadows, and certainly no glare or background noise. Weird.

But I suppose if someone really needed to follow the doctrine, they could do a quick online search like I did, cut out a hollow cardboard box, fill the holes with white card board, and then buy a few Home Depot halogen lights for $15 apiece. And in less than 5 hours, I was able to take all the photos you see on www.liquidware.com!

This was the floor before the lightbox:


This is a small shot of the lightbox only, with no lights set up yet:



When you put something in the box, I think you're supposed to turn it slightly sideways, to look "interesting". At least that's what it looks like on other web sites...



I don't know if there's a science to this, but I bought two halogens to point at the corners, and then I wasn't satisfied because all the pictures came out yellow. I bought a fluorescent workman's bulb, which I used to add white light:



If you turn on all the lights, the inside of the box is *very* bright:



The lightbox even overcomes the brightness of my camera's built in flash: