Reflashing the device kernel
Updating the firmware of Turbo Programmer 2
Tracing the communication between SIM and mobile phone
Installation of development environment for Windows
Turbo SIM Toolkit Adapter, Browse Development Documentation
Turbo Programmer, Browse Development Documentation
The main aspect is
maximum openness - all our applications,
examples and development tool chain, everything is free and open to any usage.
The only exception is the operation system (firmware), which is closed source
but completely documented.
During the development we have selected only the technology (processor, memory card) that was well documented and there were no license nor royalty strings.
Applications for Turbo can be developed without any license limitations, fees,
agreements, registration or any other constraints.
During the design of API we accented the usability and simplicity.
Complete open development environment
is Free as in Freedom.
The main programming language is C,
development is possible on any operating system supported by
Instructions for setting the development environment for Windows
and Linux application development.
The Atmel ATMega128 MCU used is very popular, there are many software and hardware projects available on the web.
- open multithreaded operating system, free documentation
- relocable applications, embedded linker
- tiny applications size (helloworld size is 98 bytes)
- RAM and EEPROM memory management
- GSM, SIM Toolkit stacks
- API for GSM and SIM Toolkit
- API for SMS handling
- integrated SMS server with access rights
- focus on security, crypto API - 128 bit Twofish cipher, random number generator using mobile network for seeding
- filesystem optimized for small files
- encrypted files
Turbo Adapter - User Guide, Rev. 03-04/02/27
Auto Alarm - User Guide, Rev. 02-04/07/30
Pager v2 - User Guide, Rev. 03-06/04/08
Security Edition - User Guide, Rev. 2
Turbo Lite 2, Rev. 01-05/09/02
Turbo Lite, Rev. 02-04/06/30
Turbo Motion, Rev. 01-04/06/30
Turbo Programmer Hardware Guide, Rev. 02-04/08/22
Why is it called Turbo?
A: Turbo was a working project name.
We could not come up with anything better.
Q: What is it the SIM Toolkit?
The precise term is SIM Application Toolkit (SAT), but we use the more
SIM Toolkit (STK). It is a technology for applications stored and running on the SIM
card, it describes how such applications communicate with mobile equipment (phone). Historically it is the oldest and the most spread technology for using
applications on mobile phones. Example can be the banking application.
According to SIMallinace
phones produced since 1999 are SIM Toolkit enabled.
Q: How is the mobile phone user experience affected?
Turbo works as a middle man between phone and SIM, i.e. all communication between them takes twice as long. Such delay is not noticable in the case of phones
using high speed communication with SIM (e.g. all Nokia models) and appropriate SIM (all new SIM cards produced).
In the case of slow SIM cards the phone reaction on SIM card operations is
(very slightly) slower.
Q: What about the power consumption? How is the battery life affected?
Turbo has minimal power requirements, the battery life is only about 10% shorter.
The consumption depends on the mobile phone type and usage itself. In general
the highest power consumption is related to memory card operation
(e.g. storing SMS on memory card).
Q: What type of memory card does Turbo use?
Turbo uses DataFlash memory card in MMC package. The producer Atmel offers
currently the cards in 2, 4 and 8MB sizes. We have chosen these cards
because Turbo applications need file system supporting many small files.
Standard MMC cards file system does not fit this criterion. Other reasons were
no license nor royalty fees and open documentation.
Anyway standard MMC cards will be supported in future.
Q: Isn't the size of memory card too small?
It depends on usage, Turbo application focus is on work with SMS, shorter
structured texts and localization information. For such usage the capacity
is enough - on 2MB card about 7000 SMS can be stored.
Anyway for big data (e.g. encyclopedias) we work on standard MMC support.
Q: Is it possible to use Turbo for one mobile phone model in other model?
Yes, it is possible. The only limitation is mechanical solution of SIM
connector of given mobile phone. As of firmware, it is possible that some
functionality is optimized for the original mobile phone, but firmware can
be upgraded - reflashed.
Q: How do I upgrade firmware?
To upgrade/flash new firmware the programmer is necessary. Firmware is
freely available on our web.
Q: Why is the Twofish cipher used? Wouldn't be the AES better choice?
The cipher Twofish was AES candidate but eventually the Rijndael was chosen.
Twofish is strong cipher providing key length 128 to 256 bits.
Turbo uses Twofish by default because it requires less memory, but you can
always use AES in your applications (port is available).
Q: How are the applications loaded?
There are two ways how to upload applications into the memory - either from
memory card or via data cable. To upload application on memory card the programmer or data cable can be used.
Q: Loading via data cable can be used on any mobile phone?
Data cable can be used on phones supporting the SMS manipulation AT commands
AT+CMGW, AT+CMGR, AT+CMGD .
Q: Is the SIM Toolkit support
same in every mobile phone?
No, SIM Toolkit is being actively developed and offers more and more new
functionality. That means that older phones can have limited STK support.
Also depends on vendor, usually the smaller vendors have better support
while big names worse. Nokia supports the bare minimum.
Q: What can be done with SIM Toolkit?
A: SIM Toolkit offers functionality
for user interface - from displaying and text insertion to menus. But
the real strength lies in the SMS handling, location information and in general
in lower, system level functionality. Further SIM Toolkit provides e.g. timers,
networking or pictures.
Q: What does not STK provide? What it is not good for?
A: STK is not usable for multimedia, it does not implement dynamic graphics nor sound effects.
For what applications is the SIM Toolkit good for?
What is the comparation to mobile Java?
A: SIM Toolkit is good mainly for
low-level applications - SMS handling, localization, etc.
J2ME is on the other hand targeted mainly on games. The real J2ME implemetations
are limited more to the multimedia - screen'n sound, while SMS support or
localization are problematic.
So the SIM Toolkit and J2ME relation is more complementary than competitive.
Q: Why is not SIM Toolkit more
popular between independent developers?
SIM Toolkit is (or until Turbo has been) tied to operators.
Only operator can upload applications on the SIM card provided by him.
Operators keep this control tight and it is in fact impossible to
deploy your own application.