Member Since: January 14, 2008

Country: United States

  • On that note, could you upload some small raw video file for download? It's tricky to judge the video quality from a youtube video that's been recompressed to half the bitrate... from what I can tell, the lens seems to be focused a bit short (1-2m), so the picture seems a bit blurry -but it would be good to see the original file as it comes out. Do you know what the recording bitrate is?

  • Awesome idea! Any chance though that there will be open source firmware for it? One thing that always bugged me about commercial cameras is the fairly limited bitrate, leading to motion artifacts in 1080p, effectively reducing the quality to SD... The GoPro actually delivers better video at 720p than 1080p, as it uses 15 Mbit/sec for each (which is twice as much than most other "HD" pocket cameras around...) I once compared a nice triple CCD standard definition Sony camera with a "HD" pocket camera, also from sony - the 756x578 SD footage looked sharper than the "HD", recorded at 7 Mbit/sec. The HD live-output of the pocket cam looked much better though, it's really down to the compression. For comparison, the Canon 5D II records at 50 Mbit/sec - which in professional circles is still considered low for 1080p... For fast-moving video (e.g. model planes) I'd actually prefer a high-bitrate MPEG, as it doesn't have any motion artifacts. At 50Mbit/sec there's not much of a difference in quality between h264 and MPEG, and the latter is more consistent.

  • Some recommendations that may help to avoid the pit of despair:

    • Find out in advance as much as possible how to produce your item, and outsource as much as you can. Take the costs into account. If you need to assemble some parts yourself, figure out the time, and "pay" yourself adequately when you calculate the retail price.

    • Test your design, have a prototype that is identical to the product you want to ship, before taking people's money. Takes a bit of commitment, some of your own money, and a lot of time, but you'll sleep better...

    • There are actually a number of companies now that are specialised to small runs at affordable cost:

      • Shapeways: upload your 3D design, market it, profit. They take care of everything - customer service, financials, production, shipping, etc. - and you'll get your markup paid every month. You can use their web-shop facilities, so you don't even need your own website/ordering system/payment system, etc. As long as your design can be 3D printed without any extra steps you only have to design, and make sure your design works. No need for pre-orders either, as long as you can afford printing your prototypes for testing.

      • Ponoko: Similar to Shapeways. They do laser cutting and 3D printing, and also distribute Sparkfun goods. Main issue with combining electronics and mechanical parts here is that your customers will have to assemble it themselves, and there is no provision for custom electronics, or a finished, assembled product. You can do those steps yourself, but then you have to handle sales yourself as well (don't underestimate sales and order fulfilment!)

      • PCB-Pool.com, pcb-factory.de (Germany only), etc. PCB manufacturers (similar to BatchPCB), but they also do board assembly for any batch size (gets cheaper per board for larger batches of course). They order the parts for you as well, you get finished PCBs. For a batch of 50, the whole manufacturing and assembly cost might be under $10 depending on your design, plus component costs. I just realised that PCB-Pool does offer assembly on their german website, but not the US... Maybe BatchPCB could offer this as well? Or do people know alternatives in the US?

      • Protomold. They do injection molding, starting at around $1500 tooling costs. For 1-50 units, 3D printing is probably better if the quality is sufficient, for larger batches this can be the way to go.

      • emachineshop. A bit more pricey, but they do all sorts of machining. Their software gives you instant quotes as well.

    In summary, if you can adapt your design that production is almost completely handled by companies like these, you either have no production work yourself, or only some simple final assembly tasks. With this new breed of digital manufacturing tooling costs are nonexistent or at least quite low, so you can actually go from 1 prototype to 100's or 1000's of units without too much pain. Unfortunately it doesn't work for all projects, but if it does it's great.

  • Isn't that what the license for Eagle light is for? I think it's $49 and the way I read it should allow commercial use ( http://www.cadsoftusa.com/downloads/freeware/?language=en&lang=en - read "how can I register/upgrade). You'll still have the size and 2-layer limit, but you can do a lot with that (especially these days with tiny SMD components, 5mil traces and microvias, depending on the manufacturer, but even with 8mil traces it's a lot of complexity if you manage to fill up the limit).

  • Great project, must have been fun!
    Regarding the timing problems (I think someone said something similar, but let me re-iterate...)
    "Use Hardware Timers!"
    It is really amazing what kind of timing magic you can do when you delve a little bit into the timers and their operating modes (and maybe also timer interrupts). You'll get dead accurate edges with basically zero jitter, and there's no risk that a small change in the code will stuff up the timing again. Two examples:
    - A few years back I implemented a longwave radio transmitter - the modulated carrier was produced "in software", but mainly using HW timers. I programmed one timer to the 120 kHz carrier. A second timer for the modulation used the output pin of the first timer as the clock input, so they always were perfectly synced. The second timer was set to run over with 8192 Hz (the bit rate). I set up a timer interrupt at overflow, which would get the next bit to be sent, and programmed the timer register to either "set at next overflow" or "clear at next overflow" depending on the data bit. As the switching of the output pin was done in hardware, it was dead accurate, perfectly synced to the carrier, and no jitter at all. And the "main" of my program was basically empty, other than a call to "initialise" to set everything up.
    - recently I wrote a program to sample audio from the ADC for the Atmel XMega, which also has a HW event system. A timer was set to the sampling rate, and programmed to create an event at overflow (different than interrupt - events don't affect the CPU). The ADC was set up to trigger on the timer event and take a sample. The DMA copied the sample to RAM, and when the buffer is full there is a DMA interrupt to start processing the data. This is the only time the CPU would become active - everything else happens "in the background", the CPU can be put to sleep.
    My unwritten goal is to have as little as possible in the main loop of any microcontroller code I write... :)
    PS: I definitely agree on the logic analyser! (or an oscilloscope, the more channels the better...) :)

  • "Unfortunately, no one can be told what Sparkfun is. You have to see it for yourself. This is your last chance. After this, there is no turning back. You take the blue box, the story ends, you wake up in your bed and believe whatever you want to believe. You take the red box, you stay in Wonderland, and I show you how deep the rabbit hole goes."

  • I just bought one of these, and had the problems described above running it in Linux (ubuntu 8.04).
    Plugging it in directly into a USB port of my PC the OS doesn't recognise the device properly. Plugging it into a USB hub (in my case built into the monitor) works. The blue LED should light up immediately, the "stat1" red LED should light up after a few seconds.
    The other problem I had was avrdude complaining "Operation not permitted". This is due to read/write permissions in udev (running Ubuntu 8.04) Setting up a udev rule fixed the problem. Check here http://www.ladyada.net/forums/viewtopic.php?p=21579 for details.
    Sometimes I need to run avrdude to make the red LED come on (avrdude will quit with an error "could not find USBTiny"). After the red LED turned on avrdude will work fine.
    So there are a few problems to make it work, but with a few workarounds it's a great compact programmer. I also have the STK500 clone USB AVR programmer from Sparkfun which works fine out of the box - but it's a lot more expensive, much bigger, and it doesn't power my circuit either.

No public wish lists :(