Thursday, January 12, 2012

32 bit painkillers...

The embedded market doesn't need another MBED, Maple, or Arduino Mega/DUE. These are great platforms, at reasonable prices, and as far as i can see, there is just no (horizontal) headache in the market that can be solved by the addition of another platform of this type / business model.

You might notice that the Arduino UNO was left off this list....that is because there is a fundamental difference to be found. There are -countless- projects / products out there that are based on the AT328/Arduino platform....so why don't we see the same width of dispersion (within the maker community) for ARM?

Things that are -not- the reason, in my opinion:
  • No Suitable platforms: Yeah, right. 
  • No approachable platforms: Mbed solves this, as does Maple, and Arduino is working on their DUE. 
  • Not easily integratable: Mbed and clones are painless to integrate. 
  • Chips too expensive: with bare chips at $1.50 - $10 per, ARM is cheaper than AVR. 
The problem is the time and money cost of prototyping and integration. Plain and simple.
This is a non issue for the AT328 - Arduino croud – DIP, <$5.

This cost comes from:
  • Lack of expertise: The number of people who can design, fabricate, and assemble a circuit-board for a 0.4mm tqfp is much smaller than those who can design and build for DIP (stripboard, anyone?) 
  • High unit cost... Even sending out to china, you are likely to spend close to $100 for a 2-3 boards. Then, unless you are proficient, you are going to take your chances or spend a large amount of time , or both, assembling the boards. 
  • High Cost ($50+) of common easily integrated DIP based products that solve the above problems
  • Still developing IDE solutions that are not too intimidating for the novice
The time and money cost of low volume integration is the painkiller opportunity for ARM / 32 bit (general) embedded development.

Even if breadboarding is falling out of favor for learning and experimentation, and it seems to be, a good baseboard (in the manner of the Arduino uno) solves this.

Breadboard/DIP/Strip/one sided/through hole/ easily made PCB's has value for to the amateur / small / educational / maker community for prototyping and small volume - proof of concepts. This is not likely to change

This explains my focus on low cost, DIP oriented solutions. I think that this is the way forward, at least until NXP/ST/TI/? Comes out with a PDIP28/40 ARM with respectable specs for <$10 (probably will never happen), realizing that this product will not really make money, but rather is advertising for adoption of their products.

I think that $10 is the magic number here. It may not be initially possible, but with scale it is. I can buy an 80x50mm board with an LPC1768 and a host of connectors for $15 in small production quantities. It should be possible to sell a chip that costs half as much, on a board 1/8th the size, with $2 less parts and connectors, for $10 and still make a couple of bucks. It will, of course, require an economy of scale.




Monday, January 2, 2012

Tough Choices....

We are reaching out to the community for a little feedback.... As one would expect, in order to shoehorn an ARM into 28 pin dip, with pin compatibility to another, unrelated chip, we have had to make a few design compromises....I'm going to outline them here, and I invite any feedback, suggestions, or comments that might be appropriate to foreseeable use cases.

Compromise 1: Pin doubling....

  1. To bring the equivalent functionality out to the appropriate pins, we have had to, in some cases, pair pins together. Use would normally consist of configuring the unused pin in a high z mode. 
  2. Most of these have been ADC pins. Our current design calls for a 500 ohm resistor in the ADC lines of doubled pins, to avoid pin to pin shorting issues. Our thoughts on this were: the Adc is high-Z anyway, so .5k should not be too big of a deal, and if it is, a non doubled pin could be used instead. 
  3. In 2 cases, however, we have had to double up pins that were non ADC related. For these we have PWM functionality paired with SPI SS0 and PWM functionality paired with MOSI0. 
  4. In these cases, we think that the best option will be to put the antishort resistor in the PWM rather than the interface pins....but we are very open to discussion on the issue. 
  5. A cool idea is to use the .5k resistor as a voltage divider....to directly read resistance. Connect the pin doubled ADC to the resistance you want to read,  supply power (or ground) from the doubled pin, read the ADC voltage with the far end of the test resistance connected to the opposite rail.
Compromise 2: Port fragmentation
  1. For similar reasons as above, we have had to break ports up into chunks. We have attempted to keep GPIO ports as contiguous as possible, but that isn't saying much in this case.
  2. Our solution is to write a library function that creates accesses fragmented ports as if they were contiguous, provisioning a "virtual" port when portwide access is required.
  3. This would either require calling a read or write function, or passing a function as a parameter.
  4. The ports could still be accessed directly, of course.

Chip selection...

To maintain full 5v compatibility, we have tentatively chosen the Nuvoton NUC100LE3AN. Another choice that fits all requirements, except for 5v output, would be the  ST32F1038. The ST part is 5v input compatible. Our requirements are: 7mm x 7mm package or smaller, less than $5, can achieve close to 50MHZ on a 16mhz crystal, 128k+ flash, 16K+ Ram, and all the peripherals required for matching the ATmega328p as closely as possible. Comments?

Viva la evolution!!



Sunday, December 11, 2011

New boards for Evo1 and PicoARM!!!



Daruino Evolution 1

The Evo 1, our flagship product... At 17 x 54 mm, and Pin compatible with the Arduino Uno / ATmega 328P, it will fit into your designs and your budget! Packed with 128K of flash, 16K of ram, 12 bit ADC's and 50MHZ of 32 bit processing power, you can be sure it will be up to the task at hand. The EVO1 can handle up to 35MA on its I/O lines, so you can switch close to 200mw directly at 5.5v. (the Evo1 can operate at 2.5 - 5.5V)   The board is 4 layers, so weight will be around 3 - 4 grams for the pinless version.


Daruino PicoARM

Sporting the tiny new LPC1102 from NXP, the PicoARM board will measure 12mm x 20mm, and weigh in around a gram.
NXP's tiny LPC1102... Photo courtesy NXP

Our pricing goal for the pico is around $5, so this will bring 50+ MIPS to even your smallest projects! Tiny but robust, the PicoArm's I/O lines can handle up to a whopping 50ma, so many applications can be driven directly, simplifying design.  As with all of our microboards, the pinless version does not require an external circuit board, so it can easily form the core of your tiniest quadcopter, robot, or other gadget....


Stay tuned for further developments!!!!!

Daruino PicoARM

We've just completed research on a possible variant - this would be a "micro" version, 32k Flash, 8k Ram, 50 MHZ, in a tiny but friendly 14pin DIP for smaller, lighter applications. Through CMSIS, it should be able to run the same code with only minor modifications....and just like its larger sibling, it will be available in a pinless version for easy integration into tiny projects!

Whats Up with Daruino????

As we mentioned before, Arduino is launching their ARM variant....we are really excited to see that project come along, and we are also strategically biding our time, waiting until more of the libraries are complete! This will allow us to launch a better Daruino right out of the gate, improving the experience for everyone..... 

Meanwhile, development goes on.....new circuit boards, new products, new ideas....check back to see the exciting projects we have in store!

Monday, November 7, 2011

Arduino Grows an ARM! (long over due)

Hmmm....say, maybe we should have a drink sometime....

Big news for Daruino!!!

The Arduino team has announced an ARM based platform, the Arduino Due, using the Atmel AT91SAM3U, a 96mhz, 256kb Cortex M3.....THIS IS GREAT NEWS!!!

This means that Arduino will be supporting the development of ARM on the Arduino IDE, and because of CMSIS, swapping the Due code to the EV01 Core (and back)  will be easy.

Best yet, Arduino picked a performance - price segment which we are comfortably beneath, and are going will fully integrated PCB's, instead of inexpensive, integratable daughterboards like the Evo 1..... so, that makes us a perfect fit!   Arduino Uno < Arduino Mega < Daruino Evolution One < Arduino DUE

Oh, No, there goes Tokyo, Go-go Daruino! Yeaeaheah...

See more at the source article  below...



Friday, November 4, 2011

New site!

We have a new site on google sites, that will serve as our site until we develop daruino.com...

check it out at : http://sites.google.com/site/daruino/

Not much new content, but a pretty FAQ page linked in the sidebar....