Freitag, 16. Dezember 2011

IPM product presentation

Hi folks!
For those of you, who don't know what the Internet Personal Messenger Project is all about, my friend The AirBear (proud owner of the IPM V1) created a Flash animation giving some explanations. It also features an icon of the IPM V1 in its makeshift housing - an old cardboard box!
Watch it here!
If you care, you may also explore the BearBros website, made by The Airbear. Bye for now - Mr Pelz

Mittwoch, 7. Dezember 2011

Arduino chiptune synthesizer

Today, I'm back again with source code and a video for you! Enjoy my first chiptune for the Arduino ;)

With the help of Draeyoc, I was able to get Linus Akesson's hardware chiptune player onto my Arduino. It is a port Draeyoc got from somewhere on the net, and I used the Linus' simplistic but perfectly usable chiptune tracker to create my own tune. However, the tracker exported an assembly source file, which I had to compile and decompile again to get the correct byte sequence for use in the player sketch.
If you want to create your own tune, then...
  • Use the tracker (Linux) to compose it.
  • Export it ("%" key in the tracker).
  • Run my conversion script in the tracker folder (you'll need gcc and java for it to run!).
  • Open the file "song.lst" and copy its contents to the clipboard.
  • Open the player sketch and replace the byte sequence in "songdata" by the sequence from "song.lst"
  • Update the defines of "MAXTRACK" and "SONGLEN" to the values found in "exported.h" in the tracker directory.
  • Connect a speaker to port 3 and two LEDs to ports 10 and 12 and enjoy your personal disco with synchronized light show.
You'll find the sources for my song in the conversion script archive. I also altered the player code a bit, making the LEDs light up brighter and I added a (glitchy!) rewind at the end of the song.
Have fun!

Donnerstag, 1. Dezember 2011

IPM2 Work Started

Hey, it's december ;) The first prize in my calender was... tadaaa! A piezo speaker and a 9V battery plug. Yay!
As this didn't provide distraction for long enough, I decided to start working on the IPM2.
In the former implementation using the ENC28J60, data was exchanged through shared buffers between the library and the main program. With the Ethershield lib, you get a stream-based interface, which suits me much better - I hate static buffers!
Simultaneous operation as server and client IS possible, so the path is clear to fully implement the requested features.
My next step is to find a new case (there are still LOTS of old cardboard boxes lying around here;) and to attach the LCDShield, speaker and LEDs.