Sunday, August 3, 2008

Open source hardware

One truism that we see shouted over and over again is "you can't make money in open-source". Of course if you are reading this then it is likely you don't accept that premise. But it is true to say that for many corporations it is not possible to make money out of open-source. In my $$job we do it all the time, we use Linux, we use open-source VHDL and Verilog all the time. It reduces our development cycles, gives us a broad base of support and reduces our costs, at least up front. But as our final products required significant compliance testing and such we could never produce open-hardware the software is an integral part of the operation.

However, take things like Gumstix, Arduino, Wiring, LEDuino, DAISY MP3 player and others proves that the concept of providing a hardware design that can be duplicated is growing. No one individual or even small group might be capable of exploiting a design, but maybe others can. The Economist recently did a piece on open-source which was quite positive. One of my personal motivations for designing open-source hardware is that I am not really a programmer! I can give you really good hardware, and maybe some basic code to run on it, but be darned if I want to spend my life maintaining and enhancing it!

If course I can make money selling hardware, even when I do provide all that is needed to replicate it. How many people really have the skill and resources to produce sophisticated electronics hardware? A bare PCB sold for $20 is cheaper than the time and effort to produce something yourself. So I can make my designs, make some pocket money out of them and you can have the fun of doing things on the boards, sound like fun?

Tuesday, July 29, 2008

Arduino/Leduino mechanical drawing

The Arduino concept, and our own LEDuino, have been a great success. But one persistent difficulty I see is the lack of an accurate board outline drawing. At least supposedly "authorative" template I have seen had errors. So based on the Eagle files of the official Arduino Diecimila I created a layer in my EDA package that has the dimensions that as far as I can tell are accurate. This PDF file is a copy of that layer. Unfortunately I do not use Eagle but if you do, feel free to translate my drawing and I can happily post it on my site if you want.

Saturday, July 26, 2008

Atmel Xmega - some more thoughts

Work continues here in the background on a small development platform based on the ATXmega128A1. One very interesting point which becomes salient with these devices is the peripheral multiplexing issue. Until now the functions available on each pin were minimal - you used a pin as IO or you might assign it to a timer, or a UART.

But with the Xmega we have more choices, how many UARTs can we use while using various SPI or TWI ports? Which functionality do we lose by choosing some other function? Lots of fun and something that we have been insulated from in the AVR world.

Friday, July 25, 2008

LEDuino in the wild.

Well, the first LEDuinos are making their way into the wild. The very first shipment went to Australia. I hope the unit enjoys going back to my home country! Response so far has been very gratifying. We are working on some application examples using the LEDuino specific capabilities, more news soon.

Sunday, June 15, 2008

Arduino field to get a new entry

For some time now my colleagues and I have been using Arduino ( http://arduino.cc ) style hardware based on the Atmel ATmega168 processor and a very easy to use development environment. The Arduino IDE environment is flexible enough for much rapid prototyping work, but simple enough for non-technical people to use, in fact it was originally designed for teaching design students how to build interactive projects.

The more we used the system, the more we liked it. But the more we used it the more we found we were missing some things we take for granted on our more sophisticated development platforms.So why not add some interfaces to the Arduino to make it more usable in a variety of applications?

So we sat down and figured out what we use most commonly. Thus is born the LEDuino.

  • Buffered I2C bus for longer cable runs and higher bus current operation. So we added an IES5501 bidirectional driver.

  • We play a lot with designs for model railway layouts. Already we use a lot of DCC, so we figured that a standard DCC decoder input, complete with basic acknowledge facility. So we added that with full galvanic isolation both ways for convenience.

  • In a number of situations we use CAN Bus. Several developing or proposed model railway layout control busses use CAN, so we figured we could be compatible and give ourselves a simple development platform for that too. CAN is also used in a variety of other fields where we have some professional involvement.

So why the name LEDuino?

Well, one of our engineers develops a lot of LED based technology for architectural, visual effects and signage, he often wants to talk to serial interface devices like the TLC5940 from TI. So we added an entirely custom connector on the bottom edge of the photo, it has a serial interface that is designed to mate with some of our other products. As time goes on some of these products will be added to this range of products.

So this is it, the beginnings of a new range of Arduino inspired technology which is in fact already well proven, well used, and well liked.

Thursday, April 17, 2008

The NMRA and NMRAnet - a broken standards development process

Unless you know me, you wouldn't know that I love model railways and I have been playing with them one way or another since the early 70's. A couple of years ago I developed for myself a concept of hardware mimicking the object oriented software approach. In theory it works nicely. So I went in search of a networking technique to support what I wanted.

I am not sure how, but I teamed up with a guy from New Zealand (a professional programmer and accomplished embedded software developer) and one from British Columbia (a medical Doctor of all things with a CS degree before his time in medicine and a life long interest in modelling too. Turns out they also had some ideas about this sort of thing too. Then we got hijacked. Some other people started to participate in the list and decided that cheap, simple, unscalable and ready tomorrow technology is all that the model railroad industry and hobby needs.

Then someone tried to float a standard into the National Model Railroad Association (of the USA) to create an NMRA approved standard. So a working group was established. Sheesh! What an experience.

Since its founding just over 12 months ago the group has been a shambles to say the least. One group, form the UK with some USA participation, has gone off to develop things their own way. Others have been unhappy with the behaviour of some members. Now one participant with a very clear idea of what is needed (his proposal) has managed to get the Chairman sacked and he has been appointed in his place! Two weeks ago the working group had I think 18 members. Yesterday, after my departure it had ten and of those only three or four have made any contribution at all to the discussion and it seems that two of those are not happy with what is happening either!

So the group is going well and moving forward by all accounts of the new chairman. I suppose he has nobody left to argue with him and he seems to have perfected the "management of the standards process by attrition". Oh well, back to the grindstone. After twelve months of sniping, back biting, and a lot of ill feeling we can now get back to work!

Our little group seems to be re-forming. We are talking comfortably about where we see something going and about the uses of modern technology. A far cry from what we had been putting up with for the last year.

Atmel Xmega - they just keep on doing it.

Over the last year or two Atmel have updated their AVR line with a 32bit machine (AVR32), new small processors with lots more features, picoPower technology to keep things cool, and now - ATXmega.

Take an ATmega, add multiple DMA channels, an event handler system, four SPI ports, four TWI ports and EIGHT USARTs in a 100 pin chip! Talk about packing it in! Oh, did I tell you that without losing ANY of the specialist ports, it can also access up to 16mb of RAM, and has an SDRAM controller built in?

Things have come a long way since the AT90S8515!

Look at Atmel or AVRfreaks for more information