Review of the Motorola MK500 - Motorola’s Low Cost Micro Kiosk
author: John HuffmanThe MK500 is Motorola’s new low cost Micro-Kiosk based on the same hardware platform as the very popular MC3000 and WT4000 terminals. By using the same core platform, Motorola has not only made it more efficient for their development, but also makes it easier for the software developers, It uses the same development APIs, the SMDK (now the EMDK), touch screen support, and the 320×240 screen size is the standard landscape mode for Windows Mobile. This makes it a simple task to develop (or migrate) handheld applications for the MK500.
In our initial development efforts with the MK500, we have migrated a couple of our snapRETAIl applications, ItemLookup and ItemLocator, both of which ported easily. We did have to make a couple of changes to support the MK500, but both were fairly straightforward. Since the MK500’s three buttons are different than the Windows Mobile terminals, this is a simple case of updating the keyboard event handlers to support the appropriate events
Also since the MK500 doesn’t have hardware scanner trigger, we chose to use the continuous scanning mode of the terminal. This keeps the scanner USB Connector:continuously active on any page that requires scanner input and allows the user to simply scan an item by placing it under the kiosk’s scanner.
Some things I liked:
- Small Form Factor: I think that the MK500 has a great form factor and with the right price I see a lot of applications for this terminal. With it’s small size it can easily be mounted on the edge of a shelf or virtually any other retail fixture. This creates the opportunity to develop customer facing applications right at the point of decision.
- MSIE: The MK500 supports a full MSIE web browser (based on IE6) which makes it possible to develop full-featured web applications.
- Motorola Pocket Browser: The MK500 also natively support the Motorola Pocket Browser. While this seems to be a minor decision, it is really important. As a software developer, I can now develop thin client applications without deploying any software to the device. It would be a good idea to do this for all of the Motorola devices.
- Standard 320 x 240 display: By using a standard landscape QVGA, we can use the same code that we use for the standard landscape Windows Mobile layout.
- Standard SMDK/EMDK: The MK500 support the standard SMDK as the terminals which means I can make an application that deploys to either platform.
- Real Speaker: Having a real speaker is a good decision, this could easily support audio and video applications.
Some things I didn’t like:
- No battery backup: Yes, I realize that this is a wired kiosk and I really shouldn’t expect it to have a battery, but if for some reason I need to unplug it for any reason, it instantly loses everything (radio configuration, object store file system, etc.). Obviously a battery is overkill, but using a super cap, like the handhelds use for battery changes would be nice.
- microUSB Connector: Another very picky issue. The location of the microUSB connector is very tight to the back of the plastics, which is too tight for my universal USB adaptor, but works fine for a standard cable.
Overall this is a great small kiosk which I see as way more than just a price checker.
More Information:




Hi John,
can you please explain how you was able to set MK500 in continuous scanning mode. I’m using EMDK for .NET but can’t find any method or parameter that enables continues scanning. It is possible to simulate this mode by calling ToggleSoftTrigger on status change, but there is a better way I suppose. Thanks in advance for your help.
‘Status notification handler
Private Sub MyReader_StatusNotify(ByVal sender As Object, ByVal e As EventArgs)
‘Get Current status
Dim TheEvent As Symbol.Barcode.BarcodeStatus = Me.MyReader.GetNextStatus
’set event text in UI
Me.EventTextBox.Text = TheEvent.Text
If Me.EventTextBox.Text “State = Ready” Then
Me.MyReader.Actions.ToggleSoftTrigger()
End If
End Sub
If Me.EventTextBox.Text (is different of) “State = Ready” Then
thats what i did and the EventTextBox is at visible false
Hi, Emilio
There is no need to use a hidden textbox just to store a string:
If theEvent.Text = “State=Ready” Then _
MyReader.Actions.ToggleSoftTrigger()
But what I wanted to know is if there is a way to setup the NetCF, sqlClient and Symbol Class Library when the power is restored?
I have the CABs stored in a folder and wrote a .cpy script to copy them to \My Documents on startup. But I have so far been unabled to automatically set them up after a cold boot.
This piece of equipment just sucks…
Doing the copy script is half the solution, you also need to run wceload to get them to run on cold boot with some registry configuration.
Take a look at my post on Startup Applications on Symbol terminals (http://www.steponesystems.com/blog/?p=287).
-John
Thanks, John.
According to what I found regarding WinCE 5 in MS site, you can only specify startup commands using HKCU\Init section, and then you are unable to specify anything beyond the program’s name. But of course I may be wrong. I guess I am sort of ill prejudiced against these devices.
Anyway, somebody at Motorola finally answered my support request, and pointed me towards an application called Remote Capture. It allows you to take a snapshot of the fresh device, then you configure everything you need to have it working, use RemCapture again to take a second snapshot and save the differences found against the baseline. It then generates a .cpy and a .reg script that are automatically executed at startup. Then you don’t need to touch it again.
Now my opinion on these thingies is not as bad as it was a couple of days ago.
Thanks for help,
after implementing continues scanning mode in a way described here I got the problem that after some time (2 or 3 hours) of continuous work the back-light (red light) turns off and scanner can’t be used. I guess it has something to do with temperature on the diods but I’m not sure. Reset fixes the problem. If anyone experienced something similar?
Do you know how to attach an external USB keyboard ? I already have te miniUSB to USB adapter to plug a USB keyboard, but nothing happenend, do I need special software?
Pablo: If I remember correctly you need a special cable to add a USB keyboard since by default the MK500 USB port is in client mode.