

Callaloo Radio System: Part 2 – Building a Homebrew USB Device - silentbicycle
http://spin.atomicobject.com/2014/05/17/building-usb-device/?utm_source=twitter-ao&utm_medium=social&utm_campaign=building-usb-device

======
zokier
I'm not sure if attiny+ftdi really makes sense anymore these days. Checking
digikey for prices (single units), that attiny84 costs $1.7 and the ftdi chip
is $2, combined $3.7. Meanwhile you can get USB equipped PICs for $1.5 and ARM
chips from Freescale and NXP starting from $3.

Of course there is the complexity argument that goes both ways; with
attiny+ftdi you need to fiddle with soft-uart and need to design with two
chips (with supporting circuitry) instead of one. With ARM you are dealing
with more complex MCU and USB is not abstracted away in some blackbox ftdi
chip.

~~~
silentbicycle
Hello, author here. As I said, mostly stressed in the first post, I'm doing
things the hard way as a learning exercise, building a bunch of infrastructure
myself. I would use a better radio transceiver and a chip with actual USB and
UARTs, etc. if it wasn't a self-study project. :)

------
mikepurvis
Funny thing about the UART not being able to do manchester coding— since he's
defining the protocol, it totally could! He'd just have to define each data
byte as two wire bytes, and then translate on each end.

On the whole though, it seems weird to eschew software USB but then go ahead
with software serial. I would definitely have just done this as FTDI -> SPI.
Or thrown away the AVR, and gone with a some dirty-cheap 32-bit ARM chip that
has the needed peripherals built right in. Maybe an STM32F04, which is $3.64
at quantity 1:

[http://www.digikey.ca/product-
detail/en/STM32F042K6T6/497-14...](http://www.digikey.ca/product-
detail/en/STM32F042K6T6/497-14647-ND/4815294)

That's a 32-pin LQFP package, which is straightforward to hand-solder for an
intermediate.

~~~
silentbicycle
I decided against software USB because the receiver is already spending much
of its time trying to meet the real-time limits from the radio decoding, and
the USB would be its own big undertaking.

As I stressed in the preceding post
([http://spin.atomicobject.com/2014/05/16/radio-system-from-
sc...](http://spin.atomicobject.com/2014/05/16/radio-system-from-scratch/)),
I'm _intentionally_ doing these things the hard way, so I can learn how more
of these things work at a deeper level than "use built-in functionality,
configure to run at this baud rate, done". Otherwise, yeah, I'd use a 32-bit
ARM chip and a better SMD transceiver. :)

