Friday, February 1, 2008

Make Controller Kit

The Make Controller Kit is a pair of boards that snap together, with a AT91SAM7X256 as the microcontroller. For communication it has USB, Ethernet, CAN, and JTAG, and supports the Open Sound Control protocol, which has interfaces for numerous programming and scripting languages. It offers eight analog inputs with 10 bits of precision over a 0-to-3.3-volt range. There are eight high-current digital outputs that can drive relays or two stepper motors or possibly solenoids. There are four servo controllers. It has an 8-position dipswitch. It costs $109 at the on-line store for Make Magazine.

Tuesday, January 1, 2008

Xilinx Spartan 3 FPGA eval board

I was thinking I wanted to do something with the ARM91SAM7 eval board and a Xilinx FPGA, and I discovered that Xilinx also sells a eval board for their Spartan-3 FPGAs for $150. Here's the user guide (PDF). Big surprise, it's available at Digikey.

The Spartan-3 series has hardware multipliers, blocks of RAM, and "distributed RAM bits" which you can spread around your design as needed. Pretty sweet. As I mentioned in an earlier posting, there are readily available HDL tools for FPGA design on a Linux platform. Hardware design shouldn't necessitate the indignities of Windows.

Here is a ridiculously affordable SAM7 board that I need to investigate. It lacks RS-232 level converters, and you need to kludge the JTAG stuff (probably drive it with a parallel port somehow or other). Also interesting are these two open-source simulators for the ARM7 architecture.

The idea would be to use the SAM7 eval board to program the FPGA on the Spartan-3 eval board. FPGA programs are pretty large, so maybe this should be done by feeding the bits through the USB cable. Then you have some GPIO bits on the SAM7 connect to IO pins on the FPGA, and other IO pins on the FPGA to the outside world.

Some years ago, there was a guy who got his hands on some prototyping hardware of this sort (PowerPC based, I think I recall) and he set up a paid-subscription website where subscribers could submit compiled code and run it on his hardware. The cost of a subscription was small compared to the price of buying one's own hardware. According to EE Times Asia, Hitachi was doing the same thing in 2002.
Hitachi Semiconductor America Inc. is trying to move remote engineering to the next level by letting customers tinker with microcontroller hardware and software tools via a Web browser.

Working with DevelopOnline, Hitachi has set up several remote development stations for its H8 microcontroller family. For a fee, engineers can access these remote engineering laboratories from a PC at any time. Hitachi launched the service with its H8/3664 microcontroller device and plans to expand the program during the next several months to include other members of the H8 line and the company's SuperH devices.
One could make two of these gadgets and connect one to an Apache box to set up a remote development website like this. The second gadget is used to tweak/observe GPIO pins, interact with serial debug, etc. There would need to be some mechanism for allocating time fairly among multiple subscribers. The website would want lots of example code (or pointers to code findable on the web) for people to get started.

Thursday, December 27, 2007

AT91SAM7S microcontroller and eval board

Recently I came across the AT91SAM7S microcontroller from Atmel (Wikipedia article). It's a very cool gadget and is affordably available at Digikey. Here is Atmel's ad copy:
The AT91SAM7SE512 is a Flash microcontroller with external memory bus based on the 32-bit ARM7TDMI RISC processor. It features 512K bytes of embedded high-speed Flash with sector lock capabilities and a security bit, and 32K bytes of SRAM. The integrated proprietary SAM-BA Boot Assistant enables in-system programming of the embedded Flash. The external bus interface supports SDRAM and static memories including CompactFlash and ECC-enabled NAND Flash.

Its extensive peripheral set includes a USB 2.0 Full Speed Device Port, USARTs, SPI, SSC, TWI and an 8-channel 10-bit ADC. Its Peripheral DMA Controller channels eliminate processor bottlenecks during peripheral-to-memory transfers. Its System Controller manages interrupts, clocks, power, time, debug and reset, significantly reducing the external chip count and minimizing power consumption.

In industrial temperature worst-case conditions, the maximum clock frequency is 48MHz. Typical core supply is 1.8V, I/Os are supplied at 1.8V or 3.3V. An integrated voltage regulator permits single supply at 3.3V. The AT91SAM7SE512 is supplied in a 128-lead LQFP Green Package, or a 144-ball LFBGA Green Package. It is supported by an Evaluation Board and extensive application development tools.

The AT91SAM7SE512 is a general-purpose microcontroller, particularly suited to applications requiring high performance, USB connectivity and extended on- and off-chip memory.
So that's already pretty cool, but even better, there is a great little evaluation board which is also available at Digikey. Software resources abound.

Monday, October 22, 2007

Brilliant collection of hobby electronics videos

http://dev.emcelettronica.com/ETUBE

This is a collection of YouTube videos about different topics in hobby electronics. I've only just discovered this and haven't yet checked out many of the videos, but it's great to see that so many have been posted. It seems to mostly be two guys working for Make Magazine.

Thursday, October 18, 2007

It's a good time to be an electronics hobbyist

OurPCB is a Chinese PCB fab outfit with an initial cost of $57.00 and a subsequent charge of around 15 to 25 cents per square inch for 2-layer boards and 50 to 75 cents per square inch for 4-layer boards. The per-square-inch costs shrink for bigger orders. So PCB fab and assembly is cheap. What do I do with this? Obviously there is a huge opportunity to do something.

PCBs and assembly (even surface mount assembly) are no longer a significant obstacle to complex electronic projects. The next obstacle is that I'm lazy about learning. To some extent that can be addressed by prioritizing what to learn - if USB does all the communication I need, I can ignore PCI.

We could have an electronics hobbyist renaissance as good as the 1970s, starting with a series of articles in Make magazine. O'Reilly would probably love it.

The economics works better for big boards than for small boards. I can envision scalable VLIW array processors spanning several FPGAs, or maybe tightly networked DSPs or GPUs. I like the look of the Analog Devices ADSP-31362. I could review some of the molecular modeling code out there (Amber, CHARMM, Gamess, Gaussian, Gromacs, NAMD) and build an scalable architecture optimized for molecular modeling, large-scale simulations, and other interesting things.

Building a supercomputer, that's so unimaginative. I don't have any interesting problems to feed it. I suppose I could build it and let other hobbyists figure out what problems to throw at it.

Wednesday, October 17, 2007

Some of the code for the board

Much of this code was written by a genius named Wolfgang Wieser, who deserves the Nobel Prize in hobbyist electronics. I've tweaked his code in places.

The firmware is at http://will.ware.googlepages.com/fx2_firmware.tgz and the Eagle design files are at http://will.ware.googlepages.com/n1ibt_board.tgz.

I work in Linux, and the stuff in these tarballs is written to work on a Linux box. To build the firmware you'll need SDCC on your machine. I've built the firmware successfully on Mandriva 2006 and Fedora Core 5. I have had trouble getting it to work on Ubuntu and hope to get that fixed because I'm migrating my home machines to Ubuntu.