Archive for July, 2008

Operating systems and MINIX

Wednesday, July 16th, 2008

I am going to do a minor about operating systems for the next half year. What i want to learn is how operating systems work from the inside. What is a better way to learn than using MINIX and the book “Operating Systems Design and Implementation”. The MINIX operating system is written for educational purposes mainly. It’s small, simple and well documented. Because our minor should also have a project we decided to work on the MINIX kernel. After some mail conversations with Andrew Tanenbaum, the author of the book and MINIX we have visited him today at the “Vrije Universiteit Amsterdam” (Free University Amsterdam). Because MINIX3 will also be aimed to run on embedded systems, it is wished to make MINIX3 more real-time. We will work on that.

Silent Disco Project

Tuesday, July 15th, 2008

It has been a long time ago since my last post.

The last couple of months i was busy with a project for my course “Real-time Embedded Systems”, called the “Silent Disco Project”. If you don’t know what a silent disco is: A silent disco is a disco where people wear earphones to listen to musique instead of big speakers. This results in a disco that is almost silent from the outside. We have added a lot of features to the traditional idea. The project has its own website: silentdiscoproject.net

Our silent disco concept

The user will have an device where he/she can plug earphones in. The user should make an account for the disco if he didn’t already has. Now the user can login to the distribution server. The connection goes by WiFi.  In most other silent disco’s all users listen to the same music. In our concept every user can listen do different music.  After login in and being a new user, the user will hear random music. The user can vote onthe music with yes and no to make clear if the user likes it or not. The distribution server has backend information about similar artists. This information comes from Last.FM. So after a time the distribution server will get to know the taste of the user and can send music that the user likes. It is also possible to form groups of users that listen to the same music. An other feature might be chatting.

The Hardware

We used an ARM7 processor (NXP LPC2138) as the heart of the system. Furthermore we use the Lantronix Matchport B/G as WiFi module. The audio stream will be sent to the device as MP3. We use the VLSI VS1011 as MP3 decoder. As display we use the a Nokia 6100 display clone that has 4096 colors and 128×128 pixels. This display can be bought at sparkfun.com.

A high level hardware design:

Silent Disco Client High Level Hardware Final

The results
Too bad we’ve run out of time. Most of the server side software is finished. Also we have created a simulation client in Java to test the server side. The hardware for the client is as good as finished. Only the firmware is far from finished. Also we had major problems with the MP3 decoder. It is a doubt that the project will ever be finished :( .

Some pictures of the hardware:

Silent Disco Client PCB Side

Silent Disco Client PCB Side

Silent Disco Client PCB Closeup

Silent Disco Client PCB Closeup 2