A Connection Machine look-alike
This project is about building a 19-Inch-Rack case that features the design of a connection machine. The structure is made out of wood and plated with glass on the outside to give it a nice looking finish. Details are implemented using acrylic glass lasercut parts. The iconic LED blinking effects on the front are recreated using eight 16x32 LED panels. There is also a comfortable power management unit built in. Seven programmable power outlets and Power/Reset control lines for up to four PCs are also implemented. For the interested Hobbyists and Makers out there I have released my 2D/3D CAD files, and the sourcecode for the software controlling it all.
2D/3D Cad files:
Sourcecode of the PMU:
Sourcecode of the LED-Panels:
Mini Magstripe Reader
Recently I had the need for a simple to use magstripe reader module and I managed to find a panasonic swipe reader module (PANASONIC ZU-M1363S1E1) for darn cheap. These modules output a clock signal along with a data saignal for each stripe while the card is beeing swiped. To make use of such a module some decoder logic has to be added. I implemented an easy to use firmware on an ATmega328p controller board (Arduino Nano 2.0). The Implementation allows for access to the undecoded raw bits as well as to the decoded Ascii-Data. Since there were a few unpopulated pins leftover on the arduino module. I also added some user controllable GPIO to control some LEDs or read some buttons. Bottom line is a simple to use and simple to integrate magstripe module that can be used for a various tinkering projects - go ahead and build something with magstripe cards!
Vector Graphics Interface
VGI is a vector graphics framework that enables programmers to create individual vector graphic applications that run on hardware vector displays such as laserprojectors and CRT devices (oscilloscopes, vectrex). VGI comes with 2D drawing functions and even with a basic 3D vector engine that allows the user to model 3D graphics as well. It also has an integrated vector font so that text output is possible as well. VGI has support for the output on SDL, Trammell Hudson`s V.st and Müller-Elektronik`s Easylase USB lasershow controller. The underlaying protocol is TCP/IP based, so that the system controlling the hardware can be installed in a remote location. VGI is extensible and offers interfaces to integrate own hardware. As long as you know how to draw lines and dots with your hardware it can be integreated very easily into your existing system. VGI comes with examples and tools to start off immediately. The network protocol is a cleartext protocol and well specified. VGI is optimized for programming new vector graphic applications and games. However, it can also be used to route the output from existing vector games (mame, vecx) to real hardware. If you are looking for a flexible, non hackish vector graphics solution VGI might be the optional solution for your application.
I have a Fluke Multimeter for some time now. I also own the cable and the Fluke View-Forms software. View-Forms can export the measurement data as CSV-Files. I thought it would be nice to have a parser for these CSV-Files. So I integrated the format into libcodebananas and wrote a little linux tool that extracts the measurement values from the View-Forms CSV-Files and writes them to a gnuplot compatible file. My program als generates a matching gnuplot script so that the results can be viewd with gnuplot immediately.
Visual Data Inspector
This is a tool to visually inspect binary data. The data gets rendered into a PNG image. Cursurs can be added by the user in order to structure the data. Width and height of the data matrix can either be coosen by the user or determined automatically. Multiple input formats are possible. The data can be either packed binary or unpacked binary. Furthermore it is possible to hand the data in an Ascii format. Then one line in the file makes one line of pixels. The program can also be used as a diff tool to visualize the differences between two binary files.
The idea of mazewar is ingenious in various aspects. It models the fundamental aspects of an 3D-Ego-Shooter in a very pure and simplistic way. Mazewar is the proove it is the concept of a game that maks a game a good game. Unfortunately the original mazewar can nowhere be found on the net. There is an Xerox-Alto emulator avialable, but the inclulded software package does not contain a copy of mazewar. Here you can download a linux implementation of mazewar. I have oriented myself as closest as possible to the screenshots and videos i found on the internet.
As the most radio amateurs do i have some measurement equipment laying around. In this case an Agilent E4406A and an Anritsu MS2601B. I thought by myself that it would be a nice idea to have software tools to create a spectrum site survey. The software works by gathering spectrum data through the measurement equipment. Then this measurement is interpreted by a second tool which creates an HTML page with the spectrum graph and additional information comming from a bandplan. With obra.profiler, the user can create own, customized measurement and monitoring solutions. Thanks to the open design it is easy to implement support for own instruments. All tools are free software and examples are included.
I have a pdp11/53 in my collection. Instead of a console with switches and lights it has an integrated machine language monintor called ODT (Octal Debugging Technique). Through this monitor you have read and write access to the memory of your machine. So i thought it would be cool to have a tool that can load a memory image from your linux computer directly into the memory of your pdp11. My tool also features a readback and verify functionallity. You can store your memory images as binary or as octal-ascii dump.
The tool might become handy if you want to run the ZRQC tool to format a winchester drive in a pdp11/53 like it is discribed here. This was my original motivation as wanted to make the procedure a bit more comfortable.
Digital Signal Weaving Loom
Digital Signal Weaving loom is a software to process logic analyzer data. It was originally developed to maintain a special measurement situation (microprobing) where the recording of only one trace per testrun could be placed. The solution was to record the traces in series and merge them later.
To handle this and future problems dealing with digital signals and logic analyzers i wrote this framework.
A novum is that the exchange-data-format (DSC=Digital Signal Carpet) is human readable and writeable. This of course introduces a huge overhead (which has been criticized), but also gives you a lot transparence down to the lowest layer. The Format also supports comments, so you can take down notes while reverse-engineering stuff. No other ascii-based logic analyzer format gives you a transparency like DSC does! The format has a versioning so if the day comes when i am fed up with DSC, i can always upgrade to a new format. And it is of cause possible to convert to VCD and view with GTKWave.
Right now two logic-analyzers are supported: Asix Sigma, and Zeroplus Logic-Cube.
Create your own magstripe cards!
MagnetcardLab is a tool to create, modify, read and process magstripe cards. You can use the interactive mode to manipulate cards and doing experiments. The commandline mode allows you to create magnetcard application by just writing a bash script. The tool was developed to work with "OMRON 3S4YR-MVFW1 JD" devices which were widely used over the past years and now available for cheep on online acutions.
dsp_buttler helps you with your USRP.
dsp_buttler is a tool to simplify the daily work with the USRP (and maybe other dsp related tasks). It includes tools that realize a comfortable interface to usrp_rx_cfile.py and baudline. It helps you generate, examine and cut and manage the usrp capture files. A waterfall diagramm which accepts raw data is also included (requires SDL). To compile the tools you need a working libcodebananas installation and of cause a working USRP toolchain as well as baudline properly installed.
When you work with airprobe or maybe other analysis tools you may often ask your self? Which frequency has ARFCN x. Or which arfcn is the frequency i am currently monitoring? With arfcncalc you have a powerful tool to quickly lookup the matching frequencies for a given arfcn and the other way around. The program also displays some additional information like to which operator the frequency belongs to or in which country the frequency band belongs to.
Start RFID with rfidLab!
rfidLab is a tool to read and write mifare-ultralight and mifare-classic transponders. For mifare-classic the program provides an integrated key-management that automaticly chooses the right key for authentication. The program also can be used to talk to T=CL cards. rfidLab also has an integrated dedector that can help to identify an unknown tag. There is also a sweeper-function that can be used to find hidden tags. rfidLab supports librfid (openPCD and omnikey5121),libnfc (acr122 and semilar devices), the elektor and the trf7960evm (as sold at 25C3).
Bildschirmtrix is there!:
In the 80s videotex-services wer very popular in some countries. France had a system called "minitel". Great Britain had a semilar system, they called it "prestel". The USA had a system called NAPLPS. In germany, we also had a videotex-service. We used to call it "Bildschirmtext". Unfortunately Bildschirmtext was not so much successful. You had to buy expensive terminal equipment and the usage costs were not so cheap at all. Bilschirmtext also had some serious security problems. Today no videotex infrastructure exists anymore - but the terminal equipment is sill existent and available through online-auctions. What would be if you would have such a terminal? Imagine you whould have a small device with a plug for the terminal on the one side and with an ethernet plug on the other side. You would plug it in the next ethernet switch and than videotex pages would fill the the terminal screen. Illusion? No! I have invented such a device - take a look to that File:
XCOS: Experimental Card Operating System:
XCOS is an operating system for smartcards which are Atmel-AVR based. You can install it on nearly every atmelcard. Funcard, Megafun, Jupiter1 or homebrew cards with ATmega8,16,128 are supported. You should use a Towitoko Chipdrive to operate the cards, other readers might cause problems (maybe this is a bug). XCOS supports some basic functions lile PIN, PIN-Change, "Secure"-Storage and some other fnacy stuff. The first version was written in Assembler (Included in the package) and was rewritten now in C. The functionality stayed the same but a powerful XXTEA encryption was added. The package also contains some utilities to use ENC-FS with an XCOS-Card. Please note that you should not expact too much security, since the Atmel-AVR processors are no security-processors. For working with the chipcards i recommend a TowitokoChipdrive (USB or Serial).
Today we are sourrounded by always-on-devices, but do we need them always? The most time this devices are on idle, especially network devices like DSL-Modems, Routers or switches. I have developed a cheap and easy cicuit to detect if a device is in use and if not to switch it off after a specified time period. Once switched off the device must be switched on if you need it again. In our House i use this circuit for managing the network infrsatructure. If the network is not in use it will be powered down. The circuit consists of a microcontroller, a trsnsistor, a relais and a few LEDs and resistors as well. It can be assembled by everyone who is a little bit familiar with electronics. It also has a serial console for debug output, but you do not really need it the status is also shown on the LEDs. The great advantage of this solution is that power-off means real power-off with zero power consumption.
Codebanans for the codemonkeys:
This is a small c library i wrote to make my c-life easier. Up to now it supports some very easy-to-use network functions, Serial-Port-Control and some other useful tools. In the future i will add new functions whenever i need them. I will do anything that is possible to keep this library compatible to older versions. Some of my projects requiere the latest version of this library. You should always download the latest version to ensure that everything works best as possible. If you use this library and if you find a bug or if you have questions, please ask.
The ChipcardLab is a small laboratory for exploring Chipcards. It is very handy if you want to evaluate Telephone cards and other memory-cards. The package contains useful things like card-imitations, adapters, a breedboard and a micro-processor frontend (You also can install XCOS on it!) which serves as an analysis tool. Please note that this was my first project i ever made with a microcontroller so it might already contain some bugs.
I ever liked the good old pdp computers from digital. Unfortunately that are big, expensive and hard to find machines. So i decided to build my own pdp-8. It consists of a homebrew panel, a special hub (called hub-8) and Douglas W. Jones great pdp-8 emulator. The hub-8 has also an 110 Baud RS232 Interface on which you can hook up a real Teletype. For the panel itsself are also various things available. The package contains also a description how to control the panel with an AVR (Think about an emulator that directly runs on an AVR...) as well as FPGA-Sources for controling it with the Spartan3E-Starter-Kit. There exist also C programming examples that illustrate how the controlling with the hub-8 works. All in all it was great project that brought me a lot of fun.
Some time ago i got an old ASR33 Teletype from an online auction. Unfortunately these machines have 20mA current loop interfaces instead of an RS232 Interface. But fortunately it is very easy build a suitable converter. So i did. My converter has a 20mA Courrent-loop interface and a motor-standby function which turns the motor off when it is not needed. The Interface is very easy to build, it does not contain any microcontrollers or anything that might cause problems. The package also contains a Software for testing and debugging teletypes.