.NET softwired

HACS - House Access Control System with fun doorbell

This is the video presentation I submitted for round 2 of the Microsoft "Dare To Dream Different" competition.

The main functions of the system are:

  • Guard dog barks when guests arrive at the door. Activated by movement detected by a PIR sensor.
  • Doorbell playing different individual tunes, stored as MP3 files on USB memory stick. Using VMUSIC2 MP3 player module.
  • Door access control with electronic door lock and door open/close sensor.
  • Door access can be controlled remote by sending SMS to the system from a mobile phone. Using a GSM modem.
  • Door alarms are sent as SMS to predefined mobile phone number.
  • Guest can write a SMS message which is sent to a predefined mobile phone number.

Unfortunately some parts of the video is a little dark, but I hope that you can see it anyway.

As the length of the video for the competition could not be more than 10 minutes, I ran out of time to show all features in the system. Maybe I will add more video clips of this later.


Dare To Dream Different video presentation has been submitted

I have just succeeded in uploading my video presentation of my project for the Microsoft competition :-)

I was just about to believe that I had problems as in the initial papers about the videofile formats it was stated that we could only submit files less than 50MB! I could not get my video file this small and still keep a good quality of the video.

Then I just tried to log in to the upload site, and luckily they had changed the max. filesize to 100MB. OK, I had to try the upload two times, as after 15 minutes of upload, I was notified of an error in one of the text fields on the submission form. I corrected the error and as I didn't know if my first upload was successful, I had to try again. Now 15 minutes later again, I was forwarded to the "success" screen (You can see it here: http://dreamdifferentcontest.com/thanks.aspx )

Now it is time to get some sleep...

By the way - my project is titled "House Access Control System" and is as the title states an access control system but it also has a really nice enhanced personal doorbell functionality, playing MP3 tunes.

This was great fun, now I just wait and see if I make it to the final.


Adding a hardware button keypad to the AMI board

One of the things you notice when you receive the AMI board, is that there are no hardware buttons on the board.

This article shows you how to connect hardware buttons so you can get started testing all the sample WPF applications that use the navigation buttons and of course write your own programs.

Please note that AUG Elektronik already have a nice looking ready made solution as an add-on board for the AMI. This add-on board have a number of extra features and you can read about it here.

If you feel like making your own simple keypad, then keep reading.

AMI board

The AMI board from the Austrian company AUG Elektronik, is in my opinion more than just a prototyping/development board like you have seen from other vendors. The board is ready to be used and incorporated in your own products.  

When you develop software for this board, you will most definitely need a hardware keypad with a basic set of buttons, like the up/down/left/right/select buttons. But you have to add this yourself or buy the add-on board from AUG. It is however very easy to attach a set of buttons to the board, as all GPIO pins are available on a set of Micro-Match connectors on the back of the board.

Navigation buttons and connectors

What you need is 5 buttons of good quality, a piece of stripboard/vero board to mount the buttons on and some wire. When you receive the box with the AMI board you get  a set of Micro-Match male connectors that connects to the board. Use these to connect the buttons.

A schematic diagram of the wiring will look like this:


The AMI board microcontroller uses internal pull-up resistors for the input pins, so a diagram with the detailed connections are as this:

The codes shown as "P5.9", refers to the Micro-Match connector on the AMI board, where P5 is the name of the connector and the ".9" means "pin 9". So "P5.9" means "Connector P5, pin 9".  The references I have used are the same as you can find in the technical manual from AUG Elektronik.

Remember to connect the ground connection, which can be found on P4.2

Click on a picture to see it in a larger version.


Additional buttons

In my version of the keypad, I have mounted more than the 5 navigation buttons (although not yet wired). This is only because I found it easier to mount all buttons now when I had heat on my soldering iron and as there are more GPIOs to be used... As you can also see I have used buttons with built-in LEDs. It is always good to be prepared for the future!

Have fun 


Dare To Dream Different - status looking good.

My "DareTo Dream Different" project progresses according to my plan and it looks not bad, if I may say so myself. I have a working prototype, where I have tested most of my ideas to be part of the prototype. I now know that my original idea can be build.

I have taken a few pictures which shows some of the additional hardware I'm using in my project. It is all going to be connected to my Tahoe-II development board. If you don't recognize the parts, then I can tell you that you can see a PIR movement sensor (detects infrared waves), an MP3 player module with a USB memory stick (which holds the MP3 files) and last there is a small construction of some electronics components. I'm not sure you can see that it is a loudspeaker in the background.

These are not all of the parts for my prototype, but now you can start guessing on what it is going to be. You should not be able to guess it only from seeing these pictures. More pictures will follow later. Also I expect to write some articles about how to use each of the components together with the Micro Framework and interfacing it to a MF development board. Consider the blog you are reading now as a teaser for later posts.

As you may know, Microsoft decided to extend the deadline for when we have to be finished with the prototype. Originally it should have been finished at the end of March, but because of some problems delivering the MF development boards to all participants, we have been granted some extra time. Now I have until May 15th to finalize my prototype and a video showing the result. As I work best when I have a tight deadline this extended deadline made me almost come to a complete stop working on my prototype. As I think that I have plenty of time, I have also had time to play around with some other cool stuff. Maybe I will even find time to write some more blog articles.


PS: I still loose the USB connection to my Tahoe-II board from time to time, but now I know that I "just" have to reboot my PC (I hate it). This seems to be related to a not too good USB device driver, which has more then once given me a "Blue screen of death" on my Windows Vista PC. I'd wish we could get a more stable device driver.

I have lost connection to my Tahoe-II board!

Oh no. This is not true. After only a week I have lost the communication to my Tahoe-II board :-(

While I was doing some testing with a simple program toggling a few output ports, VS2008 suddenly reported that it could not see the device anymore. My testprogram was running along fine though. I have seen from time to time that VS does not deploy successfully in first attempt, but then I just try again, which normally succeeds.

This time I unplugged the USB cable and reconnected - Argh: Windows tells me that the USB device is not recognized. Reboot the PC didn't help. Reinstall the USB driver and the SDK didn't help. I moved the board to another PC (Windows XP), but that gives the same result.

Now I have filed the issue to Device Solutions and a newsgroup for help and just hope for the best.

My "Dare to Dream Different" future is at stake.


UPDATE Problem solved: Jan Kučera has saved my future. Newgroups are your friend.

Jan writes:
"Be careful of your debug mode setting. First try to switch to USB, which you can do be holding SW3 while pressing RESET. This is too how you could change it by accident (SW2 selects serial, SW4 selects Ethernet).

The current recovery firmware does not affect this setting, so it won't help you if this is the problem."

I pressed SW3 and RESET - Eureka I'm back in contact! - Thanks Jan.


Tetris for Tahoe-II board

Pavel Bánský made this great game and demo application for the Tahoe classic (Tahoe I) development board last year.

Since then a new version of the development board from Device Solutions has come out and they switched the screen from portrait to landscape mode. They also made some changes to how you reference the buttons on the board.

So in order to make the Tetris game run on the Tahoe-II, I have made some adaptations.

Here are a few pictures of it. It runs in the Tahoe-II emulator as well.

You can download the adapted code from here: MicroTetris3.zip (41.00 kb)

All credits to Pavel for a great program.


Maxstream XBee RF module documentation

I have digged out the specifications for the Maxstream XBee RF modules, which I received as part of the "Dare To Dream Different" competition package.

Please note that there is also a Zigbee variant of these modules. The ones I received are 802.15.4 versions. I'm not currently sure of the differences, so you have to look that up yourself if you need it.

You can find the specs. and other information here:

1. XBee XB24-AWI-001 802.15.4 module product manual.
2. XBee XBIB-U-DEV development board diagram.
3. USB driver for Windows (for the development board)


New Micro Framework development kit from AUG Elektronik Gmbh

AUG Elektronik Gmbh, from Austria is in the process of making a new Micro Framework based development board. According to the specifications, it looks like a real killer! Plenty of memory and an OLED Display in a nice high resolution.

Andreas Schloffer from AUG, informs me that the capacitive keypad mentioned in the specs. is a transparent keypad which makes it possible to place the display behind a glass surface to make sure that the system is vandal safe and still use the touch functionality. You do not use both the resistive keypad and the capacitive keypad at the same time.

You can find more info on the company homepage here: AUG Elektronik Gmbh

Some of the specifications (from the technical product sheet) are:

- Atmel AT91SAM9261 (200 MHz)
- 160 kB SRAM (internal)
- 256 MB NAND Flash
- 3.4” OLED Display 480x272, 24 BPP RGB
- resistive touch screen (SPI)
- capacitive sensor keypad (16 keys, I2C)
- 4 serial Ports (2 RS-232, 1 RS-485, 1 Debug RS-232)
- 10/100 MBit Ethernet Auto-MDI
- I2C Bus
- SPI Bus
- battery backed realtime-clock (I2C)
- several (15) free GPIOs (more depend on peripherals)

.NET Micro Framework 3.0
USB Host (Note 1)
USB Device (Note 1)
Micro SD-Card slot (Note 1)
single 5 V power supply
PowerOverEthernet PoE power supply (optional)

Note 1: Features are not yet implemented in MF core or in the AUG port!


Dare To Dream Different hardware arrived today

Yihaa, today I received a package with the MF development board and other stuff.

The package contains the Tahoo-II development board from Device Solutions, a USB cable, 2 XBee 802.15.4 radio modules from Maxstream and an XBee development board so that one of the radio modules can be connected to a PC on the USB port. 

There was no USB cable for the XBee development board and there is no documentation on the XBee stuff at all! I will probably also need a USB driver for that board. - Well I guess that I just have to find it on the Internet...

XBee dev. board to the left and Tahoo-II board to the right. Two XBee radio modules on the top.


The backside of the Tahoo-II board - the Meridian MF processor in the lower left corner.


The Meridian processor board is not much bigger than a standard SD memory card! 



Close up on the two XBee modules.  


The XBee development board. 


 This just looks nice and I'm looking forward to get started playing with it.


Dare To Dream Different contest - Round 2


I have been selected to move on to round 2 in the Dare To Dream Different Challenge. I didn't believe my eyes when I saw my name on the wall of selected participants. I'm in the hobbyist category.
This is great and I'm looking very much forward to receive some hardware to test on.

Oh boy - now I actually have to produce a prototype and a presentation video of my submitted design proposal.

Although working with the emulator is not bad, there is nothing as the real stuff - hardware with buttons, display and I/O ports. So I can hardly wait to get my hands on it.

Until the development board arrives I have started collecting other hardware that I am going to use in my design. When I made my submission to the contest I did not really have any idea of what parts I was going to use or where to get it from. New ideas about the design comes up every day so I am still in the discovery phase and I have not landed on a final design yet - only on a building block level. This is almost like making a new jig saw puzzle; Right now I have about 5-6 pieces making up the complete picture and in the coming days and weeks I will cut each of the big pieces into smaller ones. I just hope that I don't end up with a puzzle in 1000 pieces and no time to put it all together!

Anyway, I have managed to collect most of the critical hardware parts I'm going to use, so this is really great. Now I just have to agree with myself on how the software is going to work and let myself dream up some nice innovative features.

Let the fun begin!