Adressable SPI

Sometimes I wish that SPI slaves have an address similar to I2C devices. Then I could connect all SPI devices to the same 4 lines: SCK, MOSI, MISO and SS. This would save all but one salve select lines. Pull SS low, send address, the addressed device listens and enables its MISO, the rest as usual. When finished talking to the selected device raise SS.

A long time ago I was talking to a friend about this idea, and if it is possible to put this into a GAL. The answer is yes.

Continue reading

FTDI Vinculum II

I think I saw these chips before but today I took a closer look. It’s a very interesting 16bit CPU running at 48MHz (or 12/24 when saving power). This chip (maybe) has 2.5 times the power of an AVR. I like these small DIP boards. The official site contains a lot of information. Unfortunately I haven’t found (yet) any information about the instruction set.

A binutils and gcc port for this chip would be nice. I don’t want to use a strange IDE, especially not on WinDoS.

Panelize Kicad PCB

Edit: panelize.py got a permanent place here.

Making PCBs is fun these days. Years ago I always paid a lot of money and got one single layer PCB without mask or silk screen. Now there are many PCB manufacturers which make prototyping PCBs for reasonable prices. But normally they don’t allow you to make panels (putting multiple circuits on one PCB). At least two manufacturers exist which allow you to create up to 5 panels per PCB: seeedstudio.com and iteadstudio.com (their PCB options look so similar that I think it’s the same manufacturer).

But how do you create the panelized production files?

Doing it by hand is too cumbersome. It could be done with the gerber files. But I chose to write a little python script panelize.py which duplicates the specified parts in a kicad PCB file (.brd). The advantage is that the panelized version is still editable with kicad and I still can run the checks.

Continue reading