Archive for the 'iPhone external keyboard' Category

Great news - Apple brings iPhone Bluetooth to all of us

Tuesday, March 17th, 2009

Today is a good day for further usage of this wonderful device!
engadget live coverage of the iPhone 3.0 announcement session

Glad to have been at least “somewhat related” to this.

bt_keyboard_popularity_01

Here is the link to the most recent “iPhone uses Bluetooth keyboard video” - glad to see that everybody will be able to use this soon.

Video showing the Bluetooth keyboard and iPhone in use

Saturday, March 7th, 2009

An updated version of the “typing on the iPhone using a Bluetooth keyboard” video.

Both the keys and the display are in camera focus at the same time, iPhone is in Airplane Mode (so WLAN is intentionally off here) and it uses a simplified mechanism for key event injection (so there is no “VNC running on localhost” icon any longer).

The original posting with the old video was Apple wireless keyboard used with an iPhone

A collection of non-standard input devices

Tuesday, March 3rd, 2009

I strongly believe that doing efficient input/output is a crucial task for a computer.

Here is just a subset of devices I worked with over time. You’ll see the collection growing.

The photos have notes on Flickr.

An (unfortunately) somewhat broken Matias halfkeyboard

somewhat_broken_matias_halfkeyboard

Various FrogPads

usb_and_bluetooth_frogpad_02

A Wii Nunchuk

nunchuk_as_input_device_01

With just a some small additional electronics they all can be interfaced to an iPhone / iPod touch via Bluetooth.

To be continued.

BTnode-alike sensor node made from individual modules

Friday, February 27th, 2009

A BTnode-alike sensor node can be made from individual modules. Just click on the picture - it has notes with additional infos at Flickr.

custom_made_btnode_01

Will be used for prototyping the “Bluetooth enabled input device” (e.g. by translating from a PS/2 keyboard / mouse interface to Bluetooth) for a wearable computer.

Towards an iPhone based wearable computer

Sunday, February 22nd, 2009

iphone_based_wearable_computer_01

With Bluetooth connectivity in place (for attaching additional input devices that extend touchscreen input) and an affordable Head Mounted Display (HMD) that is supported by the iPhone - things move forward towards a capable wearable computer.

This comes some years after the experiments with an iPAQ.

Apple wireless keyboard used with an iPhone

Saturday, February 21st, 2009

There is an updated video meanwhile.

Here is a short video showing the interacting devices (Apple wireless keyboard, iPhone, communicating over Bluetooth) in operation.

Feels like getting closer to the “mainstreaming” goal - it uses hardware that comes of the shelf (unfortunately you still need to have access to a jailbroken phone), uses a packaged application, does not expose bits and pieces to the end user, just works with all the applications that use the standard on-screen keyboard - and finally: it may just help you doing something more efficiently or comfortably.

It uses the Bluetooth stack developed by the researchers at ETH Zurich - they deserve all the credit.

They kept and keep continuing with the development of their BTnode software - so for a most recent version you should refer to the BTnode CVS repository. Everybody with a Linux or OSX desktop system can do his own experiments with the BTnode software in a setup like the one described under A Bluetooth stack in user space.

A duplex data connection using the iPhone built-in Bluetooth module

Tuesday, February 17th, 2009

The work of the researchers at ETH Zurich basically had everything in place. All the credits go to them.

bt_first_noise

Just click on the picture for more information.

iPhone to iPod touch gaming via a wireless link

Monday, February 16th, 2009

iPhone to iPod touch gaming via a wireless link. This video was done with the 2 devices interacting via WLAN.

There will be an update when we do this via Bluetooth.

We actually have Bluetooth connectivity - see screenshot below.

data_transfer_iphone_bt_2_linux_bluez_01

This is a data transfer (l2ping) over Bluetooth originated from a Linux system running Bluez to an iPhone using its built-in Bluetooth module.

Bluetooth comes to the iPod touch as well

Thursday, February 12th, 2009

Bluetooth development for the iPhone and the iPod touch join on the same path.

bt_on_ipod_touch

The screenshot below shows the whole setup in operation - it found another Bluetooth device in range.

bt_4_touch_2

An inquiry scan found another Bluetooth device in range.

00:18:42:e9:f8:ba is actually my N95 - as to be seen below

bt_via_uart_in_bluez

To be continued.

A Bluetooth stack in user space

Saturday, February 7th, 2009

A Bluetooth stack in user space already existed for quite a while. The researchers at ETH Zurich provide software for their BTnodes. A BTnode has (among other features) an ATmega 128 micro controler and a BT module with an HCI interface that is connected via a UART.

Fortunately, you can do development and real-world tests with just the same software compiled for running on a host system (e.g. PC). The emulator runs in user mode and uses a BT module attached to the serial port. Have a look at

for further info.

For experimenting with the sensor node software I used a module like this - which has a Mitsumi Bluetooth module with a CSR chipset, works at 115200 bps and could do hardware handshaking (RTS/CTS) - nevertheless - the jumpers on the board also allow to work with no handshaking at all (in case your serial port does not provide it) by looping RTS/CTS at the module side. The photo on Flickr has notes that explain the jumper settings.

wml_c09_4_dev

I benefited a lot from having worked with Bluetooth on the HP iPAQ (Compaq at that time still) from the very early days - when this even still involved switching the HCI transport mode for the chip in the iPAQ with a tool provided by CSR. At that time I built a 2nd generation iPAQ based wearable computer for usage in a research project.

See the recent setup with the external adapter working on Linux.

bt_in_user_space_01

After having tested it on a Linux system - I can confirm that the software works on OSX as well - run as a standard user with read/write access to /dev/tty.KeySerial1 (a Keyspan USA-19HS adapter).

btnode_sw_on_osx

Now - let us attach the (we are still talking about an external one) BT module to the iPhone serial port and compile / run the emulator program as just another user space program.

btnode_sw_on_iphone

It just works (you will notice that - as shown on the photo on the top - I have 2 external modules - that’s the reason for the different MAC addresses).