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.
I was recently reading an article on signal processing and embedded systems (Linux Magazine France n°149, p32-50, sorry, nice magazine browsing with page flipping, but in French only!). Stated shortly, the article first provides some concepts on Fourier analysis before implementing a fixed point FFT on an STM32 microcontroller and applying it to a continuous Wave (CW) RADAR system.
This article is making reference to Maxim's AN3722 "Developing FFT Applications with Low-Power Microcontrollers" that turned very difficult to find, as Maxim apparently wiped it from its servers!
After some time googling around for it, I eventually found it as a 2005 design article in EETimes, later included in Maxim's EngineeringJournal #57 pp. 9-13. There is a corresponding "3722Firmware.zip" file that is also quite difficult to locate, but is eventually still hidden somewhere at Maxim's here!
Originally written for the MAXQ CPU, it can be ported easily to other CPUs, as it is written in pure C.
This is really great stuff if you want to do real-time FFT on a microcontroller.
On the same subject, a recent (October 2011) Application Note from NXP (AN11115 with source code) is using similar technique to perform a quite impressive real-time FFT on audio over an USB device link on a small Cortex-M0 LPC11U14 CPU: [attachment=0]
I found an easy way to create a 360° panorama/swivel (à la 3D Warehouse preview).
Just download the Google (now Trimble) SketchUp Web Exporter (Beta) plugin.
Run the installer and specify your Sketchup install directory (do not put the "/Plugins" at the end of the path, otherwise, you will get nested "Plugins/Plugins" directories).
Make sure everything is OK by looking into the Sketchup "Plugins" directory: you should get both a "swivelButtonPlugin.rb" script and a "swivelButtonPlugin" subdir.
Now launch Sketchup, you should get a small floating tool window with this icon: [attachment=0] Dock this tool into a convenient menu bar, open a model and click on the tool button. A dialog will pop up, allowing you to change the image size, the resolution in degrees and the output directory location:
[attachment=1] This tool will create in the given directory a collection of JPEG pictures and an HTML file containing the JavaScript code to animate the panorama, as well as a ZIP file containing the above files for convenient deployment on a website.
I already received my Raspberry Pi board (after waiting for 2 months), so I don't need it for myself, but I am thinking of those still standing on the line...
The USBug is a complete USB-based microcontroller development system in a very small footprint. All programming is done via the USB port. No special programmer is needed, only a standard "Mini-B" USB cable and a Windows/Linux PC or a Macintosh with a USB port are required.
In order to have a better view of what is available, I just laid all the parts into a scene and rendered it with Kerkythea. Here is the result (click to enlarge): [attachment=0] Some parts were created directly into Sketchup, but most of them are coming from my collection of 3D part originally created using Alibre Design XPress, which used to be a free (as in beer) software...
In order to import them into Sketchup, I converted my backup .STL files using the Sketchup STL import plugin and corrected the mistakes.
If you find these parts interesting, please drop a word here.
I tried with actual EagleCad-generated CAM files that I sent to SeedStudio's batch PCB service, and it work without problem: [attachment=0] It is fast, intuitive and free!
However, I tried with some Protel99SE-generated files files and it did not work.
Does anybody knows if there is more information somewhere (schematic...)? I would be very interested to know the differences with the above boards.
In the meantime, here are a few suggestions I already mentioned regarding the V&B board:
for better ESD protection, add a 10n/500V cap and a 1Mohm resistor between shield and ground, and a USB protection device across VBUS/D+/D- and GND, like the PRTR5V0U2X
for better EMI suppression on the USB, add a small ferrite bead on VBUS (BLM15HG601SN1D or equiv)
add a BAT54C double diode to force RESET upon ISP, so you don’t have to hold both buttons down , and a 10K/100K voltage divider connected to USB_VBUS pin, so the LPC bootloader will automatically boot in USB mode if USB is connected, and to UART mode otherwise (cf. latest MicroBuilder design)
maybe change the LDO or have a dual footprint to accommodate for a smaller device, like the cheaper 150mA MIC5225, which only requires small 2.2µF ceramic capacitors
if possible, reorganize the 2×20 edge connectors by function (POWER, ADC, SPI, I2C, UART, GPIO1/2/3), rather than following the natural LPC pin layout
Beside its main logic analyzer normal task, I also use it as a cheap FPGA board and tried interface it with an existing 5V circuit. I thought that the 746245 5V buffer would be really appropriate for this purpose...
However, I found it has both DIR inputs (pins 1 & 24) tied to GND, which is what is expected for a logic analyzer, but quite limiting in my case where I want I/Os...
Would it be possible in the next board revision to get access to these pins from the FPGA, so both 8-bit wide ports can be configured as either input or output? Maybe sharing 2 signals from wing header or from unused bank 3 (IO_L07N_3/IO_L07P_3 with pull-downs, pins 22/23)?
I will try to cut the GND traces and add the wires and resistors on mine when I have time.
I just wanted to submit an idea: it looks like that most of the proposed gadgets (besides the Web server and dev boards) feature an USB device interface to connect to a PC.
In order to achieve this function, I see that 2 different solutions have been used:
a PIC18F2550 with built-in USB device
an FT2232H with High-speed USB 2.0 using bit-banging
My idea consists in providing a unique (well, maybe two) USB interface boards, and then to develop additional pluggable boards for them:
JTAG debugger with buffered signals using a CPLD
SPI/I2C/etc like Bus Pirate
Logic Analyzer with CPLD or serial RAM chips
Infrared
CPLD/FPGA programming interface
As we would seldom use all these devices at the same time, this would save some cost if you buy several of them.
Actually, such a board already exists: this is your FT2232 breakout board... So basically, why not develop "shield-like" boards for it?