Just a note: I'm building an open source project that utilizes STM32L0 as USB-UART gateway. This chip has some interesting attributes, and it can create a low-cost, small geometry USB interface that is also programmable. I'm building the CDC-ACM to UART version first, then an Android version that does the necessary authentication, and then finally a USB-Ethernet version so you can telnet to it (ssh is too much overhead).
The idle current will be in the area of 2uA, so it's a good USB bridge for any low power project you may have, unlike most off the shelf bridge chips which are nowhere near this.
That sounds pretty awesome, really.
Having a USB UART gateway that consumes that little power could be very useful to a project I'm working on.
What kind of physical size do you think? Do you have a rough cost estimate?
Could your project also do FIFO a la FT245RL?
Small. I'll have a prototype soon. It will be able to fit inside a USB cable, I think.
Possibly. In any case, the project is to be open source, so you can add features however you want.
I had not planned on making this into a Teensy competitor, but perhaps there is reason to do so. I could one-up Teensy by offering multithreaded Wiring (i.e. multiple sketches running simultaneously) with automatic low-power usage in the background -- the RTOS underpinnings are already there. This would require a couple months of my time, and therefore would necessitate a successful kickstarter. What do you think?
I think that would be incredible.
Sounds like a neat project and thanks for the info! Finally ST has made their low cost usb micro available. However, in general, if your looking for cheap USB MCUs, Freescale kinda wins with its KL24 and KL25 series kinetis M0+ MCUs. Not a big fan of freescale in general but they are cheaper, more feature rich, and already have a lot of libs written for them. Another feature that they got thats pretty unique is a built in internal LDO.
If your not already super deep in your project i'd recommend checking them out.
Thanks, everyone, for the encouragement. Look for a kickstarter in the next couple of weeks. The project is thus dubbed, "Pluto." The base goal will be pretty low, for the hardware and basic firmware, and then I will do a series of stretch goals for additional firmware and software features. I'm thinking maybe $18/unit in order to pay for all the firmware time. COGS will be tiny, certainly under $4 in low/moderate volumes.
2. Both STM32F0 and L0 can do USB without a crystal. This takes the cost down below the Freescale solution.
3. I have already a ton of libraries for STM32L1, of my own design.
Part of the goal of this project is also micro-power. Nobody has anything that can run on USB-Suspend current. This could do it. The other main goal is to allow detachable USB devices with backup batteries. STM32L062K8 might be the perfect part for this. You should check the STM32L062K8 datasheet -- IMO it's in a class by itself.
Both STM32F0 and L0 can do USB without a crystal.
Oh ya don't say? Well the KL24 can print money, grant 3 wishes, and is utterly indestructible!
. So your saying its the first MCU that might actually be USB2.0 compliant? . I'm curious how its LPMs compare to the MSP430s. Might have to pick one up.
TI makes some no-caps-needed LDOs, they're something like a buck each for singles though and don't drop a ton in price till you're buying a lot, if I recall correctly.
I've been meaning to get a couple to see how they do.
I'm not sure I have any need for one of these, but will definitely be following your Kickstarter with interest. I'll probably back it anyway and wonder what to do with it later.
Proto PCBs are sent to OSHpark.
A load-switch that allows a coin cell (or whatever) to operate as the power source, automatically, when it is not plugged-in.
A raw Vdd port for attaching a super cap.
Charon is a tiny USB-dongle type thing. It is extremely small, the USB plug is the biggest part of the assembly. There is a 10 x 12.7mm header on one end that exposes SWD and a com-bus. SPI, UART, or I2C can be used (but only one I/F at any one time). The firmware will do autodetection, and there's an extra pin for forcing the bus to reset.
Both will use virtually identical firmware, which is what will provide the ultra-low-power features in addition to the multi-sketch (multi-thread) features. When sketches call delay() or any other sort of blocking call, the underlying kernel will transparently do the multitasking and most opportunistic low power sleeping (This stuff I already have done).
The default firmware also can do autodetection of control data (binary, packetized) vs. TTY data. Control data can be sent according to a spec, but the client software "otter" is the best tool for working with it. The "otter" interface is a bit like the Bus Pirate interface. All firmware and software is and will be open source.