matseng: Nice work! I hope it will go through as expected! Let us know when the boards arrive!
Can you provide some details on how you did this: which tool did you used for Floyd-Steinberg filtering and the step-by-step procedure on how to import this into EagleCAD?
[quote author="kehribar"]Hi Adam, For the USB connector issue,
If you look at the initial pages of this i also had a design with edge connector: viewtopic.php?p=32031#p32031 But it wasn't robust enough to ship as a product and i gave up. :)[/quote] Yes, to be reliable, the USB edge connector has to be on 2 mm thick PCB (but PCB is more expensive), or you have to add tape or solder on the bottom side to make it thicker by 0.4 mm!
As for the 6-pin headers, the board edge can be soldered in-between the 2 rows, and it work both with 1.6 mm and 2 mm thick PCBs (you may have to bend a little bit the pin tails for 1.6 mm, as the pins are usually 0.4 mm thick and the pitch is 2.54 mm).
I have one suggestion reagarding the 2 mm thick version: you could mount the 6-pin header on the edge (3 pins on top side, 3 pins on bottom side), so you have SMT components only...
I am glad you joined us on this forum, this is a really great place to be!
And thank you for the compliments! Of course, I know the Forebrain dev board, which is also an amazing platform. All the work you have put into it, as well as the supporting website, are both a great source of inspiration.
I also agree with you regarding moving away from 8-bit microcontrollers. Not only for the CPUs themselves, but also for the benefits of all the accompanying peripherals that are moving to higher gears with these 32-bit SoCs!
As for the LPC1347, yes: I designed it from the start to be compatible with a broad range on NXP CPUs, both lower and higher ends. Right now, I have assembled 3 boards:
1xLPC11U24
1xLPC1343
1xLPC1347
You can see the first 2 ones depicted above, the last one was not yet assembled when I took the picture! I got a few early LPC1347 pieces from Farnell (thanks mikestefoy!), so the USBug is probably one of the first LPC1347 dev board around... You can check all the (supposed) pin-to-pin compatible CPUs on my Github page under the "CPU Variants" accordion section.
Right now, the help would be for taking the decision of what I need to do with this USBug board: it is both very exiting and technically interesting, but also frustrating and intimidating regarding the user's expectations: should I invest more time and money in this project, get help from someone, I don't know!
[quote author="IPenguin"]Hmmm, now I see where this thread's title is coming from - you got inspired by the product description on ebay.[/quote]
Yes ;)
But given the feedback here, I should have put an "s" to "Alternative"!
[quote author="IPenguin"]Actually the current ebay price is 24% above Olimex regular list price for single qty (EUR 28,74) now (don't forget to add 20% VAT to prices shown on the Olimex pricelist if the shipping address is within the EU and you have no EU VAT-ID)!
(EUR 23,95 * 1,2 --> EUR 28,74 = 22,56 GBP <--> GBP 27,95 = EUR 35,60 - exchange rate: 0,785 EUR/GBP)[/quote] For shipping to France from the Olimex website, I have a basket of 23.95€ + 5.50€ shipping + 5.89€ VAT = 35.34€ Total, and 35.61€ + 3.82€ shipping = 39.42€ Total from eBay, or +11%
[quote author="IPenguin"]But then the UK is a funny place to order electronic/computer stuff/equipment from anyway ... prices tend to be 20% and up higher than in other parts of Europe/US ... at least for those living in/buying from eastern/central Europe :P[/quote] Absolutely! But sometimes, you can find bargains too :P
You will NOT find any source for SoC including either Wifi or GPU like these, as these kind of chips are not available for retail: you need to contact the manufacturer with MOQ (Minimum Order Quantities) of 100.000s, at least...
As hobbyist, the only way to go is to find some easily hackable and cheap devices like this one and use them with mods.
As for the GPIOs, the Linux kernel is exposing the GPIOs under "/sys", so you can test them with the Shell by using "echo".
But it is one thing to have access to them from software, and one other to find were they are located on the board and for what purpose they have been used...
[quote author="Emeryth"]RAM can be upgraded to 64MB if you are not afraid of hot air soldering. Just take out one chip from a 512MB DDR 333MHz SODIMM module and replace the one on-board.[/quote] Yes, more details on the compatible SDRAM chips can be found in the OpenWRT Wiki.
It looks like you can replace the 4MB SPI Flash by an 8MB (MX25L6445EM2I-10G SOP8), but this would require an SPI Flash programmer (BusPirate?) to backup and restore the Flash.
And you can also use GPIO7 and GPIO29 as a software I2C port by unsoldering the R15 and R17 pull-down resistors:
[quote author="sqkybeaver"]ill see if i cant find that book somewhere.[/quote] Yes, this book is really worth its price: it is full of signal processing algorithms and implementations on FPGA (but with easy translation into whatever you want, since the algorithms are explained).
Be careful, there are 3 editions, last one is from 2007 (ISBN 3540726128), and it exists both in soft and hard cover.
A cheap way to get it is through Abebooks, both used and new. But again, be careful with cheap phototcopies from India!
The TP-Link TL-WR703N is probably the cheapest and smallest Wifi-enabled Linux platform you can get: for $20 on eBay, you get a 57mm x 57mm x 18mm small box featuring an Atheros AR9331 Chipset (integrated Wifi+ AR7240 400Mhz CPU), 4 MB flash memory, 32 MB RAM and a USB 2.0 port that is able to run OpenWRT.
It is quite easy to connect a serial <=> usb converter to get bootloader/console access and have fun with it.
You shouldn't be too afraid of using non-DIP packages: with just a few minutes of practice on sacrificed chips, you should become an expert in SMD soldering... Just check Davind Jone's tutorial.
Even for prototyping, you can get cheap adapter boards to use SMD chips on breadboards. The big advantage is that you have then a much larger choice of usable chips.
The problem with DSPs is that each one is different. I mean, REALLY different: not at all the same architecture (beside the MAC), so you cannot port one DSP program to another DSP, and if it leverages the burden on math computation, then the problem is with registers banks, memory access, etc.
This is why I stopped investing useless time in them, and moved directly to FPGAs: standard language (Verilog or VHDL), much more flexible, faster... Get an Open Bench Logic Sniffer or even better, a Papilio board and dive into it, you won't regret it! As for the particular field of signal processing on FPGA, I strongly recommend the reference book "Digital Signal Processing with Field Programmable Gate Arrays" by Uwe Meyer-Baese: a must-read!
Maybe the M4 will help to get a de facto standard for DSPs that will be widely used... We will see!
Well, yes, check the USBug LPC1343 Development Board thread... More info on my corresponding Gitub page. I am sending free bare PCB for the postage cost, let me know by PM if you are interested.
As of today, I have mounted 3 boards:
1 x LPC11U24 (Cortex-M0, 50 MHz, 32 KB Flash)
1 x LPC1343 (Cortex-M3, 72 MHz, 32 KB Flash)
1 x LPC1347 (Cortex-M3, 72 MHz, 64 KB Flash)
All these CPUs are pin-to-pin compatible (not software-compatible, though!).
As for speed, the AN11115 claims 32 16-bit PCM audio ksps, 1 FFT operation of 64 samples performed every 64 ms, the 64 points FFT result (8-bit data) is sent back @ 1 kSPS/s on 115200 bps VCOM, all this on a 50 MHz LPC11U14.
ChaN fixed-point library for MegaAVR @ 16 MHz performs a 16-bit x 64 points FFT @ measured 19 ksps, 128 points @17.5 ksps, 256 points @ 16.1 ksps, and 512 points @ 14.9 ksps. For example, it is used in the XProtoLab.
So yes, I agree with you: these microcontroller-based FFT are good for audio, but if you want a better throughput (up to some 100s Msps), an FPGA is the only way to go.