Watterott Display on Raspberry Pi

I really like my Raspberry Pi, but what I am missing is a tiny display matching the size of the board that can be used as primary display, the boot console or some graphics later on.

A very nice and cheap TFT display is the MI0283QT-Adapter (note: I got the -2 version not the newer -9 version that has another display driver chip!) sold by Watterott. Its mainly focused to be an add on for the Arduinos, but it should work on every embedded system providing SPI access.

For the Linux running on the Raspberry Pi a framebuffer driver for the display would be the best solution, as it allows you to use it as a boot console and then you can run everything that runs on a framebuffer device (e.g. X11, SDL, mplayer, …).

First I thought about writing a fresh driver from scratch but some google-fu showed me that there already exists a nice solution: user notro has written fbtft, a driver framework that allows to simplify writing an own driver for those tiny TFTs.

For the R61505u display chip found on my display board, there was no driver available, but thanks to notro’s powerful framework and Watterott’s example code (Thanks to Markus for porting the code to the Raspi), I was able to derive a new driver for this chip in a few hours: See my cloned fbtft Git Hub repository for the source.

It works really nice: with 32 MHz SPI clock I can run 25 frames per second and even watch movies with smooth display:

Playing Big Bug Bunny with MPlayer's fbdev output

If you compile the driver directly in your kernel (i.e. no modules) then you can use the display directly as the boot console of your board:

Linux Boot Console running on display

If you want to build this setup yourself then read on…

Continue reading

SD Card “disk box”

Its getting colder outside and its time for cool retro projects!

Today I had a really fine idea on how to better store all the SD cards I have lying around here on my desk…

With lots of retro projects using SD card as primary storage media I have lots of them here on my desk (e.g. for sd2iec, Chameleon 64, some Raspberry Pis, Arduinos …). All are usually shipped with their crystal plastic cases that also take up space…In daily use most of them are piled on the desk and the cases fly around somewhere else. So I really needed something to clean up this mess a bit.

Today, I copied some 5.25 inch diskettes for my real C64 machine and while storing the floppy disks back in the floppy disk box, I had an idea… why no build a disk box for SD cards? 🙂

After some hours of paper work the job was done:

If you want to build your own SD card disk box: Here are some hints:

  • Basic housing was the packaging of a SAM 256 uController from Olimex
  • I cut away the top cover and used the spare cardboard to model the separator in the middle
  • Finally I completely covered the box with self-adhesive plastic foil (Here in germany its called d c fix)
  • The foldaway dividers were cut out from SD card packaging (its a mixture of cardboard and plastic foil and its really durable) and stuck into a ground plate so you can move them a bit.

Now, its on to you! Prepare your scissors and start the paper hacking today 🙂

BTW: Another retro paperware project fits very well with this project: There is a thread on Forum64 that describes how to build scale replicas of 5.25 disk sleeves for your SD cards. See this thread for details and also downloadable PDFs with the sheets of construction paper…

vamos runs on Windows now

User kyberias was so kind to port the native part of vamos (the m68k emulation) to Windows and send me his patches for inclusion. The port is now included in my source tree and Windows user can now enjoy using vamos on their platform, too. Have a look at the README.WIN for build instruction.

With Mac OS X and Linux/*nix support available since the beginning, vamos is now available on all major platforms.. Yay!

Build an Arduino-based Temperature Logger

Ok, this time its no retro project, but a rather useful tool to measure your temperatue at home over a longer period of time. I had trouble with my heating devices at home and so I wanted to record and present temperature curves of various rooms to show that something is wrong…

This was a friday night project and done in a few hours (some might call it a hardware hack – but it works fairly stable for weeks now!). All you need is an Arduino 2009 Board, a Logger Shield, a push button, 2 1k resistors, and a DS18S20 temperature sensor. With these ingredients I was able to build the following compact temperature logger:

Arduino and Logger Shield: Temperature Logger

The logger samples the temperature every 10s and gives you a digital temperature value with +/-0.5 degree Celsius precision. It has a RTC (real-time-clock) on board that time stamps every measurement. Addionally, the SD card allows you to store the temperature samples in log files.

The logger has two modes of operation: Either directly read the temperature via a Mac/PC connected via the virtual serial port available on USB or write a temperature log onto the SD card. The latter mode allows you to use the device stand alone in any room without the need to directly connect your computer.

Read on for the full build and usage instructions…

Continue reading

added new amitool: xdfscan

I added a new tool to amitools, my set of cross platform classic Amiga tools: xdfscan!

What does this tool do?

Its a disk image file scanner that inspects Amiga disk (.adf) or hard disk (.hdf) image files for AmigaOS OFS or FFS file systems. If such a file system is found then the scanner runs a validator that does an in-depth check of the whole file system structure. If anything does not match or does not fulfill the file system specification then error or warning messages are generated. Warnings are usually not critical and the files on the image are all accessible, but error messages may hint to file corruption in the image. In the latter case it is advisable to recover the image by running a xdftool repack command or by issuing a DiskSalv running on an emulator.

This tool either scans a single disk image file or scans through a full directory tree. The latter operation allows you to quickly scan your disk image collection with a single run…

Have fun scanning your disk collections for corrupt or even broken images… (I must admit that the scanner is really picky and it found some issues on images I believed that were running Ok for years on a real machine… So don’t panic if lots of warnings or errors are reported… AmigaOS is quite robust handling these disks without reporting trouble…)

plipbox 0.2: added support for AVR-NET-IO board

I discovered a new board that is even more suitable for plipbox than the Arduino: It’s called the AVR-NET-IO and is available from german electronics distributor Pollin. Its fairly cheap (20 EUR for the kit) and you can also buy it pre-assembled (28 EUR). It contains all things we need: an AVR ATmega32, the right ethernet chip (ENC 28j60) and even the DB 25 connector for the parallel port of the Amiga!

Only a single wire is missing to make it fully compatible to plipbox. But you can add this one easily…

I added support for this board to the firmware and with v0.2 I ship a new firmware image just for this board… Besides adding the new board nothing has changed in this release. So Arduino users can still stay at v0.1 without any drawbacks.

See the plipbox hardware and firmware page for all details on the new board.

plipbox firmware 0.1 released

The wait is over: the first firmware release of the plipbox project is available. Simply head over to my plipbox page and fetch your copy…

The first release includes full DHCP support and statically configured Ethernet operation, so it should work on most local networks out there. With ARP and TCP/UDP/IP bridging in place, it has all essential features I envisioned for this project already available… And it really works well: I am already totally used to have my Amiga 500 in the network… (without thinking about starting a SLIP server first 😉

Now I hope that it works for you, too… just drop me a comment if you found bugs or have any remarks!

Introducing plipbox

My plip2slip project was the first attempt to build a cheap but quite powerful network adapter for my unmodified classic Amiga 500 to get it to the net. Its already a lot faster than a Paula based serial link but you need a host Mac/PC speaking SLIP to finally reach the Internet…

The next level is called the plipbox project: Starting from a similar setup with an Arduino board I now added a cheap Ethernet module that allows direct access to your local network. Here is a photo of the resulting device:

The parallel connector is connected to your Amiga and the Ethernet cable is connected to the network module. Now run a TCP Stack on your Amiga with a MagPLIP network device driver and you can reach the Internet from your Amiga via plipbox… (The third cable on the left is the USB Arduion serial port I use to configure the parameters of the device like IP addresses)

Continue reading

Site page structure changed

Here is a short info about my site: Due to the increasing number of projects here I had to structure them a bit. I introduced new main sections called c64-projects and amiga-projects.

All existing pages are now relocated under one of the two sections. Unfortunately, with this change all external link addresses to these pages changed. So if you have external links to one of my pages then update these accordingly. Thanks!

CF card partitioning with rdbtool

Here is my little easter present for you: I finished the first release of rdbtool. “What’s that?” you may ask. It’s a new member of amitools, a family of cross-platform Classic Amiga tools I am developing. rdbtool is a command line utility that allows you to inspect, change or create new disk images or even real disks with Amiga’s RDB partitioning format. Its a companion tool to xdftool that handles Amiga’s file system in disk images or on the RDB partitions.

I had the idea for this tool while changing the CF flash card of my A1200. I removed the old card, had look at the files found there and wanted to retrieve files from there and then set up a new shiny card and build up partitions there. The current way to accomplish this, is to dump the card’s raw data from the block device and use this image as a RDB hard disk image in UAE to retrieve the files from there. Same thing with partitioning the new card: mount the block device or an empty image in UAE, run HDToolBox there, format partitions and copy files around in the virtual Amige environment… This works, but its a roundabout way. I wanted to have a nifty tool the works directly on my Mac’s Terminal… 🙂

Read on to see how this task (and lots more!) can be achieved with rdbtool…

Continue reading