Archive

April 7th, 2011 Elze Comments off

This website is now an archive. Due to a serious lack of time in the past months and the founding of a new company this website is only an archive. No posts will be added. Commenting and contact methods are disabled.

Thanks for the interest.

Categories: Just Blog'ing Tags:

Timelapse using Micro Framework

October 19th, 2009 Elze 1 comment

Time Lapse photography/filming  is a technique to show very slow processes. It is the opposite of high speed video. Everything is shown a lot faster then it actually happens. To make a time-lapse video you take a picture every n seconds and merge them to a video. If you take a picture every 5 seconds and put them in a 25fps video the speed increase is 5×25 = 125x. More information on Timelapse can be found on Wikipedia.


Timelapse video of clouds. Made using MFTimelapse with 5 second interval and a Samsung ES15.

There are camera’s that have a time-lapse function build in. This is of course the easiest method. There is only one drawback. Making a time-lapse video is not good for your camera. For a short video you’re making thousands of photos, for each photo the shutter has to open and close. Therefore your camera will wear out very vast.

Read more…

Categories: Projects Tags: ,

Native code on ChipworkX using RLP

September 21st, 2009 Elze No comments

The main language for .NET Micro Framework is managed C# code (altrough with some thinkering people got other .NET languages like VB.NET to work). Which is a powerfull yet easy to use language. In combination with Visual Studio this is what makes .NET Micro Framework unique.

The only drawback of this solution is that the managed code is interpreted while running. This takes some time. Therefore it isn’t as fast as running native code. The people at GHI found a solution for this called RLP.

Screenshot of Wolfenstein on ChipworkX

Screenshot of Wolfenstein on ChipworkX

Read more…

Categories: Just Blog'ing Tags:

Widgets on Micro Framework

September 18th, 2009 Elze 4 comments
Basic overview of Widget System

Basic overview of Widget System

You see them more and more, on phones, computers, MP4 players, etc. Widgets. And I think it’s logical becouse the user can now choose what he or she has on her display.

I tought it would be usefull to have some sort of Widget system on .NET Micro Framework. An example: a termostat has multiple sensors for humidity, min/max/current temperature, etc. Some users find the humidity very important but others are more interested in the minimum temperature. With Widgets they can choose what to see directly.

Read more…

Categories: Projects Tags: ,

SHA/HMAC digest class

September 5th, 2009 Elze 1 comment

I know there are more SHA classes arround for C# but I needed a class that I could incorporate in a program without licence/copyright problems so I’ve written my own class from scratch.

The class supports SHA-1, SHA-224 and SSH-256. The HMAC versions with key are also supported. The comments in the code are the same as the pseudocode found on the Wikipedia page about SHA helping to understand what the code is doing.

Demo code:

// Outputs: SHA-1: 6CD1F13BA07759CCB56D904C02C5509FCDEC30E2
Debug.Print(”SHA-1: ” + HexDisplay.bytesToHex(SHA.computeSHA1(
 Encoding.UTF8.GetBytes(”The quick brown fox jumped up the fence and fell down”)
)));

// Outputs SHA-224: 475F234AC83E68834716DFF035A018AEFF5D575560B694EDD5FD40DE
Debug.Print(”SHA-224: ” + HexDisplay.bytesToHex(SHA.computeSHA224(
 Encoding.UTF8.GetBytes(”The quick brown fox jumped up the fence and fell down”)
)));

// Outputs SHA-256: 8A1C5C14E24F5EA8F04061CA96A389DF77F838D0BEAD3253CFFEF8C880F912AA
Debug.Print(”SHA-256: ” + HexDisplay.bytesToHex(SHA.computeSHA256(
 Encoding.UTF8.GetBytes(”The quick brown fox jumped up the fence and fell down”)
)));

// Outputs HMAC SHA-1: A31FBA759E7E25430CCC746800DFBA9926D3AAB9
Debug.Print(”HMAC SHA-1: ” + HexDisplay.bytesToHex(SHA.computeHMAC_SHA1(
 Encoding.UTF8.GetBytes(”testkey”),
 Encoding.UTF8.GetBytes(”The quick brown fox jumped up the fence and fell down”)
 )));

// Outputs HMAC SHA-224: A36AA9599671BFA825BF8B1444F52E7266E4B0E2C30FD5D920EEA980
Debug.Print(”HMAC SHA-224: ” + HexDisplay.bytesToHex(SHA.computeHMAC_SHA224(
 Encoding.UTF8.GetBytes(”testkey”),
 Encoding.UTF8.GetBytes(”The quick brown fox jumped up the fence and fell down”)
)));

// Outputs HMAC SHA-256: 5AF95A03C056CED859AE31BB320BD620997544102BBFA487FB36CB4731B5A385
Debug.Print(”HMAC SHA-256: ” + HexDisplay.bytesToHex(SHA.computeHMAC_SHA256(
 Encoding.UTF8.GetBytes(”testkey”),
 Encoding.UTF8.GetBytes(”The quick brown fox jumped up the fence and fell down”)
)));

Download:
You can download the class with test program: MF_SHA.zip

Categories: Just Blog'ing Tags:

MFBrix, a playable version!

August 24th, 2009 Elze No comments

I introduced it before, MFBrix, a simple ball game written to test out the new board from GHI, The ChipworkX. It uses the onboard acceleration sensor and onboard MP3/Midi decoder.

The object of the game is to remove all purple bricks by bumping into them. But you have limited time to do this. And if you would bump into a red block you loose 5 seconds.. The game has 5 levels/rounds. Each level getting a little harder.

Ofcourse there is some room for improvement, so if you find this a fun project you could add new levels, add a highscore system, download levels from the internet, you name it!

Youtube movie:
You can watch a movie of the game below:

Download:
You can download the Visual Studio 2008 solution: MFBallV2.zip

Categories: Projects Tags: , , ,

MFTwitter, A simple Twitter Client

August 22nd, 2009 Elze 1 comment

Somebody asked if I could make a  Twitter Client for .NET Micro Framework. Afcourse I said, so I started building and within a few hours it’s ready. A simple but yet usefull Twitter Client.

This Twitter client allows you  to view your “friends” timeline. This is the timeline that you see when you go to your startpage. It’s shows your Twit’s and the Twit’s of the friends you follow.

The program consists of two parts. The Twitter library (It’s less fancy than it’s sound. It has only one function :P ) and the WPF display program.

It has some known impovements and issues, as this program is something in between it’s your task to fix it if you want :P

  • Twitter Username and password are stored in code, impovement can me made with an onscreen keyboard
  • The XML response is parsed “in order” so when fields are outputted in an different order
    the parser has to be changed
  • The XML response is parsed “in order” so when fields are outputted in an different order the parser has to be changed
  • The somewhat strange datetime format of Twitter is parsed without checking the UTC offset. I don’t think this is a problem. It seems that Twitter always returns Date/Time with UTC +0000
  • It doesn’t check if Twit’s are removed. It just removes the last one when the list gets bigger then 25
  • Profile images cache could be better
  • Many more :P

Video:
You can whatch a Youtube video below. The interface is fluwent but Windows Media Encoder screwed it up a little. Maybe I will make a new version with my camera and a real device:


Download:
And last but not least you can download the code for Visual Studio 2008:
MFTwitterClient.zip

Categories: Just Blog'ing Tags:

MFBrix a simple ball game

August 17th, 2009 Elze No comments

I want to write a simple but fun app that could showcase/test the functions of the new ChipworkX board. I tought of a simple ball game that could be controlled by moving the board. This is done trough the onboard BMA020 accelerator sensor.

It took me some time to figure out how to do the collision detection but I have an initial version ready. The idea of the game? You have to blast away the purple bricks in the game without touching the red bricks. I’ve done some testing and it’s harder then you think :P

The game isn’t ready yet. The video/source is as demonstration only! The red walls don’t harm you yet and there is only one level. When it’s finished I will upload it to microframeworkprojects.com

You can whatch a YouTube video below:

And download the Visual Studio 2008 solution:
MFBall.zip

Categories: Just Blog'ing, Projects Tags: , , ,

GHI Team: ChipworkX

August 9th, 2009 Elze No comments
ChipworkX development system

ChipworkX development system

In the time that I have been away the .NET Micro Framework community made great progress. The first device running the new 4.0 framework beta comes from GHI Electronics. It’s called ChipworkX and has some impressive features:

  • 200 Mhz 32-bit ARM 9 Processor
  • 64MB SDRAM
  • 256MB NAND FLASH (seen as an internal drive)
  • 8MB NOR FLASH (For user deployment and EWR)
  • 480×272 4.3″ TFT Display with touch screen.
  • 2 SPI (8/16bit), I2C, 3 UART, 1 PWM
  • One-wire interface
  • SD/MMC card connector
  • USB Device port
  • Dual USB Host ports
  • XBee module connector for wireless communications
  • 3D Accelerometer BMA020
  • MP3 & MIDI decoder chip VS1053 with Stereo Speakers and audio jack
  • Real Time Clock Battery
  • Power over USB
  • Net Micro Framework 3.0 hosted, V4.0 ready
  • Windows SideShow
  • SQLite Database Support
  • Native Procedure (RLP)
  • PPP Stack

With the RLP feature you can write native C++ code that can be called from .NET MF without using the MF porting kit (GHI has used this to make a MPEG decoder!) also a database system is provided in the form of a SQLite Database system.

You can find more information at the ChipworkX product page

Categories: Just Blog'ing Tags:

Dream Different Challange – Finalists

August 9th, 2009 Elze No comments

Maybe everybody knows already but the Dare to Dream Different Challange finalists have been announced! Unfortunatly I’m not one of them but still I find it very cool that people put so much and usefull effort into their .NET Micro Framework project.

Here is the list of the finalists (from the contest website)

Hobbyiests

Initial Last Name City Country
A Inochkin Moscow Russia
T Fogg Wallington Australia
T Scherrer Novo Hamburgo Brazil
R Stropek Traun Austria
E Percival Hatfield United Kingdom

Professionals:

Initial Last Name City Country
G Aasgaard Bergen Norway
D Schaffer Rockville, MD United States of America
S Vassiliev Moscow Russia
B Fisher Shiner, TX United States of America
J Ng Seattle, WA United States of America

I whish everybody the best of luck and congatulations!!