Jens Kühner

Geek stuff about the .NET, Compact and Micro Framework.
.NET Micro Framework community at Embedded World 2009

On the Embedded World 2009 in Nuremberg/Germany I had the chance to meet other .NET Micro Framework enthusiasts (developers, community contributors and people from AUG Electronics and even Device Solutions from New Zealand).
Frank Prengl, Technical Evangelist at Microsoft took a nice photo and can find more info and pictures about the party at Michael's, Pavel's, and Frank`s sites. Looking forward to seeing you next year again.

 

Implementing Linq on the .NET Micro Framework

Thomas Amberg from Oberon microsystems AG pointed me to this extremly cool article from Marc Frei and Cuno Pfister who prove with their code, that the lack of generics barely affects the undeniable elegance of LINQ.

AUG AMI DevKit Rev. 2 ready

The AUG AMI DevKit Rev. 2 is now ready. There are some new pictures available. It is capable of PoE (Power over Ethernet) and has a display with an amazing contrast and viewing angle.

New Hardware: AUG AMI DevKit for the .NET Micro Framework

The Austrian company AUG Elektronik GmbH will soon release its AUG AMI DevKit. The main features of the board include the following:

Atmel AT91SAM9261 (200 MHz)
160 kB SRAM
64 MB SDRAM
256 MB NAND Flash
3.4" OLED Display 480x272, 24 BPP RGB
resistive Touch Screen (SPI)
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 use of other peripherals)
single 5 V power supply
QProx capacitive sensor keypad (16 keys, I2C)
Temperature sensor TI TMP100 on board
110 mm x 65 mm x 28 mm
102 g incl. Ethernet and 3.4" OLED display
Serial or Ethernet deploying and debugging

On board (supported by hardware) but not yet supported by software/port are Micro SD-Card Slot and USB Host / USB Device.

I know they will provide a SDK with managed drivers for all the components mentioned above and an interesting emulator for the AMI DevKit that even support the QProx capacitive sensor keypad and temperature sensor.

Session at German Embedded Software Congress

Had a session to indroduce the .NET Micro Framework at the first German Embedded Software Congress (ESE) today. The audience consists of traditional embedded programmers using C++, C or even assembler. The interesting question at the beginning of the presentation for me was how much people of the 40 attendees have ever heard about the .NET Micro Framework before. There where 4 out of 40 hands up, so 10% ever heard about it. The second question was how much have ever downloaded the SDK/VS and messed around with it. There was only one raised hand, but this was Frank Prengel from Microsoft. So zero percent of the traditional embedded programmers had have a practical look at the .NET Micro Framework. I think there is potential to improve this.
The very interesting question I forgot to ask: How much people will download the .NET Micro Framework SDK after my session.

Standalone .NET Micro Framework Emulator

Upon a customers request I figured out how to use the .NET Micro Framework Emulator on a clear machine without Visual Studio 2008 and the .NET Micro Framework SDK 3.0 installed.
Imagine a scenario where you might need to send your device application to someone for demonstration that does not have any MF hardware (because you are in the prototype phase and there is no final hardware yet) and he also is not a programmer having Visual Studio and the MF SDK installed.

The .NET Micro Framework Emulator is in generally a Winforms .NET application. Unfortuately it references one .NET 3.5 assembly,  so the target machine should have at least the .NET Framework 3.5. installed. Just copying the emulator executable would not work because you have to tell the emulator via command line arguments what device assemblies it shall load. That´s what Visual Studio actually does when launching an emulator.

As an example we want to give away the NewPresentationSample application on the Microsoft Sample Emulator.
Therefore copy the files Microsoft.SPOT.CLR.dll, Microsoft.SPOT.Emulator.dll,  Microsoft.SPOT.Emulator.Interface.dll, Microsoft.SPOT.Emulator.Sample.SampleEmulator.exe and Microsoft.SPOT.Emulator.Sample.SampleEmulator.exe.emulatorconfig from the Tools directoy of the MF SDK to a new separate directory. Further copy the following system assemblies from the Assemblies directory of the MF SDK to the same directory as your emulator: mscorlib.pe, Microsoft.SPOT.Hardware.pe, Microsoft.SPOT.Native.pe, Microsoft.SPOT.Graphics.pe, and Microsoft.SPOT.TinyCore.pe. Finally copy the application NewPresentation.pe. Yes you need the .pe files and not .dll files since .pe files are the MF specific assemblies derived from the dlls.

To launch the emulator with the command line arguments we need to create a batch file with the following content:
"Microsoft.SPOT.Emulator.Sample.SampleEmulator.exe" "/load:NewPresentation.pe" "/load:mscorlib.pe" "/load:Microsoft.SPOT.Native.pe" "/load:Microsoft.SPOT.Graphics.pe" "/load:Microsoft.SPOT.Hardware.pe" "/load:Microsoft.SPOT.TinyCore.pe"
Which assemblies need to be loaded you can see in the Debug Output Window of Visual Studio.

Now you can demo your device application everywhere.
(Thanks to Andreas for testing in your machine parc).

Introducing the .NET Micro Framework in 8 Languages

Elektor magazine aims at inspiring people to master electronics at any personal level by presenting construction projects and spotting developments in electronics and information technology. The magazine is published worldwide through subscription, news stands and bookshops. Together with its French, Dutch, Spanish and German sister magazines, and other licensed editions Elektor is on circulation in more than 50 countries with a total circulation of about 150,000 copies per month. Also: Elektor International magazine has come to America.

I wrote an article that introduces the .NET Micro Framework for that magazine. The article is announced for example in

English (.NET on a Chip)
German (.NET auf dem Chip)
French (.NET sur puces)
Espagnol (La plataforma .NET en un chip)
Dutch (.NET embedded)

Barcode Decoding with the .NET Micro Framework

QR CodeTwo-dimensional matrix barcodes such as QR Code or Datamatrix are spreading more and more. You can generate QR codes with the free KAYWA QR Code generator. The ZXing Decoder Online is a page that allows you to upload a barcode image to decode it. It supports

  • UPC-A and UPC-E
  • EAN-8 and EAN-13
  • Code 39
  • Code 128
  • QR Code
  • DataMatrix (experimental)

I thought it would be nice to decode barcode with the .NET Micro Framework. I wrote the ZXingOnlineDecoder class in the Kuehner.SPOT.Barcode namespace. The Decode method accepts the bytes of an image  to decode (jpeg, bitmap, gif) and uploads it to the ZXing online decoder page and returns the decoded bytes.
The attached library and demo application is also a good sample for submitting web form data to a web page via HTTP (thanks to Michael Schwarz for pointing that Fiddler thing).

It might also be possible to grap an image from the C328R Jpeg Camera with managed drivers as described on Pavel Banskys blog here and to decode it  with my class.

Yet another .NET Micro Framework Community Page/Blog

You should have a look at Elze Kool’s experiences with the Micro Framework at www.microframework.nl. Elze shares some cool .NET Micro Framework projects written on the GHI Embedded Master Board:

  • Simple Webserver
  • QR Code Generator
  • MP3 Shoutcast Client
  • RSS and Weather Application
  • TouchScreen Class
  • nRF24L01 Tranciever Class
  • Wii NumChuck Class

Very cool Elze.

Speaking at .NET Usergroup in Karlsruhe

On thursday 9th of October I will introduce the .NET Micro Framework in a session at the .NET Usergroup in Karlsruhe. Markus Pietrek from emtrion will also be there to show their hardware and ask your questions. (The session is held in German language).

Aggregated Feed from all .NET Micro Framework Blogs

If you are reading my blog, you are probably interessted in the .NET Micro Framework. There are more great blogs out there. If you do not want to miss anything you can subscibe to the aggregated feed of all .NET Micro Framework related blogs.

.NET Micro Framework Release Candidate Available

The .NET Micro Framework team has announced the release candidate of .NET Micro Framework SDK on Connect. Here are the most important new changes:

  • Support for Visual Studio 2008 SP1 (in fact, it's now required)
  • Support for Visual C# 2008 Express Edition
  • File system (including emulator support)
  • Significant DPWS improvements
  • WiFi support (pending hardware availability)
  • Performance optimizations
  • New sample code and improved documentation
  • And they fixed a lot of bugs? :-)

I am very happy to see that most of my reported bugs are fixed and feature requests are considered. Your feedback is important, your voice is heared, the .NET Micro Framework is for you. I encourage you to use the MS Connect page and newsgroups to bring your feedback to the team.

Another great news is that the free Express Versions of Visual Studio 2008 are supported now. This brings the .NET Micro Framework to the masses, to all other traditional embedded developers. No excuse to be a Penguin.

 

 

.NET Open Space 2008

.NET Open Space vom 18.10. bis 19.10.2008 in Leipzig

The best discussions happen in the coffee breaks of a conference. So why not arranging an event around the coffee breaks? As the name suggests, .NET Open Space 2008 is organized as an open space.

This isn't a typical developers conference. There are no designated speakers and no agenda.

You decide what to talk about! 

The conference itself is free, but the available places are limited.

The .NET Open Space 2008 will cover these four topics:

  • ALT.NET
  • Mobile Computing
  • Soft Skills
  • .NET on embedded systems and microcontroller electronics


What will be discussed under those topics depends on you. Join us for free.

Please note that the "conference" is held in German language only.

I will be there and I am the contact person for the .NET Micro Framework topic. 

.NET Micro Framework Beta 3.0 Firmware available for GHI Electronics Embedded Master Hardware

Only one week after Microsoft made the .NET Micro Framework Beta 3.0 SDK available for all developers, GHI Electronics provides a free Beta 3.0  firmware update for their Embedded Master hardware.  

Already available:

  • 4 UART ports
  • SPI
  • I2C
  • GPIO
  • Debug/deploy over COM1

Features to come very soon:

  • Some of GHI exclusive features to verify interops
  • USB device
  • TCP/IP
  • SSL
  • Full exclusive GHI library (ADC, DAC, PWM...etc.)
  • And many, many more!

 

.NET Micro Framework v3.0 SDK beta now available!

The .NET Micro Framework team announced the v3.0 SDK beta, that is now available to all developers through the Microsoft Connect website (http://connect.microsoft.com/netmf).  Simply fill out a short survey and you have full access to the downloads, newsgroup, and feedback.

Check the site for details about the RicaVision VAVE100 universal remote control (running SideShow and .NET Micro Framework) that Microsoft is giving away as part of the beta!

And remember to check the FAQ in the beta site for the most up-to-date information about hardware supported in the 3.0 beta, how to migrate projects to VS2008, and what features are supported in the current version.

v3.0 of the .NET MF SDK is planned to ship later this calendar year.

The following features are included in the first public beta:

  1. Visual Studio 2008 now supported
    .NET Micro Framework V3.0 now runs under Visual Studio 2008. Additionally, .NET Micro Framework V2.5 projects can also be built using VS 2008 and the .NET Micro Framework V3.0 (seems to work like the .NET multi targeting introduced with VS 2008)
  2. DPWS CodeGen tools
    The .NET Micro Framework v3.0 now includes a tool, MFSvcUtil.exe that can be used to generate .NET Micro Framework DPWS client proxies and DPWS Service stubs from WSDL files.
  3. USB Device support
    In addition to allowing debugging over USB, hardware running the .NET Micro Framework 3.0 can now act as USB devices using the Microsoft.SPOT.Hardware.UsbClient namespace.
  4. Stylus/Touch Panel support
    Using touchscreen-enabled hardware, or the new touchscreen emulator, you can create code that reacts when UI elements are pressed, captures “ink” for signatures or jotted notes, or handles gestures for UI navigation. You can access this functionality through Microsoft.SPOT.Touch, Microsoft.SPOT.Ink, and new extensions to the Microsoft.SPOT.Presentation namespaces.
  5. Secure Sockets support
    The .NET Micro Framework v3.0 now supports Secure Sockets Layer (*SSL) networking for secure communications.

Following features are not available in the first public beta:

  1. File system
  2. 802.11 Wi-Fi infrastructure
  3. Support for more cores and processor architectures
  4. Publicly available Porting Kit for purchase (separate product not included with the SDK)

Device Solutions has announced support for their Tahoe development kit during the v3.0 beta and GHI Electronics has announced support for their USBizi and EmbeddedMaster development kits with the v3.0 beta.

More Posts Next page »