Category : Hardware

Raspberry Pi P6 Reset Hack

I’ve been trying to get some code running on my Pi 2. The code has been ‘problematic’ to get working, and I’m running into frequent hangs on the Pi where I cannot initiate a new SSH or console session. It’s also complicated because the Pi is outside in the garage (I have a GPS hooked up so it needs some visibility of sky). That means that every time it hangs I have to head out to the garage, pull the micro USB cable, reinsert it and then start the whole ‘Edit, Compile, Run, Head out to the garage to Reset’ cycle again.

Anyway, in an effort to simplify things I was looking around for a way of remotely resetting the Pi without having a connection to it. I found a ton of sites talking about the P6/RUN header on the newer boards, but this was mostly just about adding pins to short out with a jumper or adding a momentary switch to do the same. What I wanted was something more like connecting an Arduino pin, or a pin from another Pi to the P6/RUN on the target Pi and forcing a reset that way. What I wanted was a “Raspberry Pi P6 Reset Hack” – unfortunately AdaFruit don’t sell a kit for that.PiP6PullUpResistor

I was initially concerned about the current that the watchdog Pi would have to sink on the GPIO0 pin, but looking at schematics it seems the RUN pin is pulled up to 3.3V by a 10K resistor – a little bit of Ohms law says this will mean 3.3v/10K = 0.33mA will flow, well within the recommended limits of the GPIO pins 2mA to 16mA

I have an ESP8266-12 laying around just waiting for this kind of thing, but for the sake of speed I opted for another Pi I had (already hooked up, working and configured). So this essentially came down to :

  • Solder header pins on the target Pi (the one to be reset)
  • Connect the grounds of the target and ‘watchdog’ Pis together
  • Connect a GPIO pin from the ‘watchdog’ Pi (GPIO0) to the RUN pin on the target Pi
  • Putting together a small app to force the GPIO0 pin low for a few milliseconds and then high again.

PiP6WithHeaderPinsPi2P6WithGndAndGpioConnected

For the app to be run on the ‘watchdog’ Pi, I’m making use of the excellent wiringPi library. Instructions for downloading and building it can be found at http://wiringpi.com/
The code for ‘reset-app’ is simply (nano reset-app.c):

 

#define <wiringPi.h>
int main (void)
{
    wiringPiSetup();
    pinMode(0, OUTPUT);
    digitalWrite(0, HIGH);
    delay(500);
    digitalWrite(0, LOW);
    delay(500);
    digitalWrite(0, HIGH);
    return 0;
}

… then to build it just execute :

sudo gcc –Wall –o reset-app reset-app.c –lwiringPi

Now when my target Pi hangs I can just ssh into the watchdog one, and run sudo ./reset-app and the target Pi reboots.
Also, when I’m done with this testing/hanging stuff I may simply connect a switch to the header for ‘’future ‘just-in-case’ things…

DISCLAIMERS

This is a QuickAndNasty™ solution. I am not responsible for any damage to your Pi, your electrics, your health or anything else – anything you do as a result of reading this is at your own risk.
Using this to reset you Pi can result in SDcard corruption !!   All calculations are off the top of my head, and could be wrong.

There are a ton of things to improve it also:

  • It relies on the GPIO pin on the watchdog ‘floating high’ while it is an input – it really should be set as an output (HIGH) at startup.
  • I’ve not tested what happens when the watchdog Pi reboots – there’s a chance (likelihood?) that it will reboot the target Pi.
  • The ‘reset-app’ can be improved (drastically!!)

EDIT: I have tested what happens when the watchdog Pi reboots and, for me, it does not reboot the target Pi – however there is a chance (likelihood ?) that it will reboot the target Pi.
Anyway – enjoy, and let me know if you found it useful….

Quadcopter V1

So for the past few weeks, on and off, I have been focusing on hardware – building a magnificent flying machine – a quadcopter.

I bought a build it yourself quadcopter kit from ebay, just for quickness – it was around £120 and came with all the required bits to get started:

  • 4 x generic 2212 motors with mounts
  • 4 x generic 30A Electronic Speed Controllers (ESCs)
  • A power distribution board
  • 600mm frame (X layout)
  • A flight controller module (KK 2.1.5)
  • Propellers (2 x CW, 2 x CCW)

The only bits missing were batteries (I bought 2 x 3s LiPo and a charger) and the remote controller (I bought a FlySky TH9x and receiver). A few sundries were also needed – a little buzzer, some cable ties, tape, soldering etc.

After taking delivery of the various bits, I put the quadcopter kit together in a couple of hours, and I’ve been noodling around for the past couple of weeks with getting the right settings and configuration sorted out on both the Flight Controller (FC) and the Transmitter.

It seems that not many folks have the FC and FlySky combination that I had, but with enough googling around I found that I should have had the Transmitter set to ACRO mode rather than HELI mode. HELI mode only allowed me to get the sticks registering +-60 rather than the +-100 that I needed, also the trims couldn’t get to 0

The final setup for the transmitter was:

  • Mode Type = ACRO
  • Throttle = Reversed
  • Elevation = Reversed

Then I headed to the ‘Receiver Tests’ menu in the FC and using the stick trims to make sure all settings were trimmed to 0, and when I moved the sticks the correct values were displayed on the FC.
IMG_20150514_210851IMG_20150514_210924IMG_20150514_210929IMG_20150514_210937IMG_20150514_210940IMG_20150514_210947

Make sure you have programmed your ESCs – you can do all 4 at once by removing power from the ESC, making sure your throttle is at maximum and all ESCs are plugged into the right connector then while holding down buttons 1 and 4 reapply the power. You should see the display saying ‘Throttle passthrough’, wait for the beeps and move the throttle to minimum then let go of the buttons, you should hear more beeps and your ESCs should be calibrated.

 

The litmus test for me is arming the unit, giving it a little throttle so the props spin and then holding it in my hand. Dip each of the motors and make sure it speeds up and the quad tries to level itself, then hold it level it again and make sure the motor slows again. I find this test, as well as giving it a bit more throttle and making sure it tries to lift as a great indicator that everything is set up correctly.

When that’s all working correctly, you know your quadcopter is ready for flight.
Outside, open space, little or no wind, time for the first flight – give it throttle, have the quadcopter lift then reduce throttle and let it land. Now the basics are out the way time to test out the maneuverability and do the PID tuning etc to get smoother flying.

Next up is attaching a camera – maybe a Raspberry Pi with a USB camera, or an unused smartphone.

Baking Pi – Part 2

The first part of this ‘getting things up and running’ series can be found here.

In this post I wanted to outline what was required to set up Wi-Fi and to get a Microsoft LifeCam 6000 working, providing a web page with the camera image streaming.

So, Wi-Fi… I bought a £6.99 USB Wi-Fi dongle from eBay. After plugging it in and rebooting the Pi I opened a SSH session to it and typed ‘lsusb’ This lists all the usb devices, and I could see the Wi-Fi adapter in the list as a Ralink RT5370.

First thing was to get the drivers – doing an ‘apt-cache search ralink’ found me the correct package (firmware-ralink). On issuing ‘apt-get install firmware-ralink’ it told me that the version I had already up to date – great it seems the Raspbian ‘Wheezy’ image comes with it installed.

So, it was just a case of setting the Wi-Fi options and giving it an IP address (static). I do this directly in the interfaces file. So…

  • From the command line run sudo nano /etc/network/interfaces
  • Change "iface wlan0 inet dhcp" to "iface wlan0 inet static"
  • below this add…
  • address 192.168.97.15
  • netmask 255.255.255.0
  • gateway 192.168.97.1
  • also add the following Wi-Fi options
  • wpa-ssid YOUR_SSID
  • wpa-psk YOU_KEY
  • wireless-power off
  • Now reboot (sudo reboot)

You should now have a Wi-Fi enabled Pi.

lifecam6000For the webcam, things were a little trickier… A lot of people are using ‘motion’ for setting up security cameras, as it does motion detection and can spit out images or movies when some motion is detected as well as do time-lapse and provide a web based video stream for viewing in a browser. However, this was overkill for what I had in mind (just simple streaming of the video), and it also uses a lot of horsepower.
So instead I selected mjpg-streamer, an open source project hosted on SourceForge.

There are no prebuilt binaries for the Pi, so it’s a case of building it yourself – not too difficult…

First get all the dependencies…

  • sudo apt-get install libv4l-dev
  • sudo apt-get install libjpeg8-dev
  • sudo apt-get install imagemagick

I tried installing subversion to check out the code, but the svn urls have moved around and it wouldn’t let me do a checkout as it couldn’t find the correct url, so instead I just downloaded the zipped tarball and extracted it…

At this point I tried to do a ‘make’ but it failed stating it could not find linux/videodev.h. A bit of noodling around found that I had a videodev2.h file, so all that was needed was a symbollic link.

  • ln –s /usr/include/linux/videodev2.h /usr/include/linux/videodev.h

Now to build it…

  • make clean all

I did get a few error towards the end, but the key elements built correctly (I think it was just a plugin or two that failed to build, so I simple glossed over that).

Now you can start the application manually with the following command line:

  • ./mjpg_streamer -i "./input_uvc.so" -o "./output_http.so -w ./www"

.. but what we really want is to start it automatically when the Pi boots so…

  • sudo /etc/init.d/webcam

… and add the following text to it…


### BEGIN INIT INFO
# Provides: mjpg-streamer
# Required-Start: networking
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Starts mjpg-streamer
# Description:
### END INIT INFO

#! /bin/sh
# /etc/init.d/webcam

# Start / Stop the webcam streamer
case "$1" in
  start)
    echo "Starting webcam streaming"
    /home/pi/mjpg-streamer-r63/mjpg_streamer -o "/home/pi/mjpg-streamer-r63/output_http.so -w /home/pi/webcam/mjpg-streamer-r63/www" &
    ;;
  stop)
    echo "Stopping webcam streaming"
    killall mjpg_streamer
    ;;
  *)
    echo "Usage: /etc/init.d/webcam {start|stop}"
    exit 1
    ;;
esac

exit 0

 

Now the final touches of making it executable and making sure it get started…

  • sudo chmod 755 /etc/init.d/webcam
  • update-rc.d webcam defaults

.. and the final part is of course viewing your handiwork – so open a browser and type :8080">http://<your_pi_ipaddress>:8080 and you should be able to see the webcam image.

 

Baking Pi – Part 1

After starting with a Raspberry Pi that was just too simple to set up as XMBC media centre for daughter #1 bedroom, it soon became a permanent feature there – meaning, of course, that I needed another…

I now have my second helping of Pi – again I got a Raspberry Pi Model B (512MB RAM).

I’m running this mostly headless and wanted to post a few pointers on my setup (so I can recall it when I trash the Raspbian OS and have to restart from scratch.

After a standard Raspbian install I am doing the following actions / configurations :

  1. Basic configuration via raspi-config
  2. Setting a static IP address
  3. Updating all packages
  4. Adding a custom port to listen for SSH on (for remote access through home router)
  5. Setting up vsftpd

Here is the step by step guide:

Basic configuration via raspi-config

  • Make an SSH connection to the device and login (pi / raspberry)
  • From the command line run sudo raspi-config
  • Upgrade raspi-config
  • Configure as required.

Setting up a static IP address

  • From the command line run sudo nano /etc/network/interfaces
  • Change “iface eth0 inet dhcp” to “iface eth0 inet static
  • imagebelow this add…
  • address 192.168.97.12
  • netmask 255.255.255.0
  • gateway 192.168.97.1
  • Now reboot (sudo reboot)

Updating all packages

  • From the command line run sudo apt-get update
  • From the command line run sudo apt-get upgrade
  • Now reboot (sudo reboot)

Adding a customer port to listen for SSH on

  • From the command line run sudo nano /etc/ssh/sshd_config
  • Add a line under where it says Port 22
  • Type Port xxxx on the new line (where xxxx is your desired additional port number)

Setting up vsftpd (FTP Server)

  • From the command line run sudo apt-get install vsftpd
  • Now edit the config file to change the port is listens on
  • From the command line run sudo nano /etc/vsftpd.conf
  • Under the line that reads listen=YES add the following lines
  • listen_port=xxxx (where xxxx is your desired port)
  • pasv_enable=YES
  • pasv_min_port=yyyyy (where yyyyy is the lower range of ports you want it to use)
  • pasv_max_port=zzzzz (where zzzzz is the upper range of ports you want it to use)
  • Now restart the vsftpd service with sudo /etc/init.d/vsftpd restart

All done. The Pi is now configured to allow SSH and FTP access on custom ports (with corresponding holes through the firewall to allow external access). Enjoy…

Starting with a Raspberry Pi

I eventually got round to ordering a Raspberry Pi Model B (512MB RAM). As you probably know this is a £25 ($35) computer running a 700MHz ARM processor and capable of decoding displaying HiDef 1080p video.

I got one to experiment with as a media player for daughter #1 room, so she could watch the videos / DVDs I’ve ripped to the home server. It took around 30 minutes to realise exactly how easy this would be and how powerful these little babies are.

I wont go into detail, but to get XBMC running on it is a case of downloading the SD card image, writing to the card, plugging it all in and off you go. Testing it on my main TV, I found that I could even control XBMC from the TV remote (CEC over HDMI) – however on daughter #1 TV that didn’t work so I bought one of these remotes : GMYLE® Windows 7 Vista XP Media Center MCE PC Remote Control and Infrared Receiver for Home, Premium and Ultimate Edition : plugged in the IR Receiver and it all worked seamlessly – amazing ‘out of the box’ experience.
I also bought a pink (Raspberry) case with a VESA mount that allowed me to mount it on the back of the TV : Case for Raspberry Pi with adaptor to fit to VESA 100 Monitor – Raspberry Colour

Anyway, it was so easy to use and so well received it is now in constant use – so I needed another to play with… which I also bought. This one I shall be using for projects (robotics with son #1 and fun programming with son+daughter). I’ve already ordered powered USB hub, case, cables, USB sticks and SD cards, as well as a GPIO breakout cable for linking up to a breadboard. Watch this space…

CurrentCost Power Monitor Software – Take 2

cc128-large_01

This post is an update to my previous one about the CurrentCost Energy Monitor and the software I built for it.

After posting brief details about it, I agreed with the guys over at the MSDN Coding for Fun site to write a full project article  for them. The suggested a couple of changes – using the Managed Extension Framework (MEF) stuff available in .NET 4 and a Windows Phone 7 client, to make it more generally appealing.

I had not seen the MEF stuff before, but it turned out great – very simple framework that allows a full ‘plugin’ style architecture in around 10 lines of code. I also had little experience with the Xaml stuff required for WinPhone 7 apps, but it is actually pretty simple.

There are a number of plugins and clients for it now including :

            • A plugin to post to Twitter every X minutes (using oAuth)
            • A plugin to post to Pachube streams
            • A plugin to post to a web service
            • A web page to display the latest readings sent to the web service
            • A Windows Phone 7 application to display the latest reading sent to the web service
            • A Windows Sidebar Gadget to display the latest reading sent to the web service

I have also had submissions from a couple of other developers, one for a plugin that posts to Google PowerMeter and another that records the readings in a database – both of these will be uploaded to the Codeplex site when I have them integrated into the source and working correctly.

Anyway, you can read all about it here. There is also a Codeplex site for all the source code and binaries.

Post in the comments if you have suggestions for other plugins or features, or want to get involved.

GEO 51.4043388366699:-1.2875679731369

Kameleon 8040 aka One For All 4 in 1

kameleon1 I bought one of these about 4 years ago – initially loved it, but it chewed through batteries at an incredible rate, so after a few months of use and another instance of needing fresh batteries (and none being available) it sat in a drawer for some (considerable) time.

Now that I am a (proud ??) owner of an Xbox 360, I wanted to rationalize all our disparate remotes – my suggestion of buying a Harmony One (currently £88 on amazon) was met with “What! we already have one of those – that blue thing that lights up” from Sarah…

She’s right  (of course) so I dug it out and brought it back into play – reprogrammed the devices for the new HD TV and DVD player, it still had the Pace Twin PVR programmed and bingo it  worked again.
I wanted to be 100% sure it would do everything I needed (I guess I was looking for an excuse to buy a Harmony), so I looked at all the functions available and programmed – I found that the PVR button (which should bring up the recording library) didn’t work correctly, but a bit of googling sorted that (Key Reprogramming – code 00536) and then I started considering the Xbox.

There is a little info around about getting a Kameleon working with your Xbox. I tried this advice for the 8060 (6 in 1), but it didn’t work (apparently the 4 in 1 does not have the modem programing capability), so eventually I emailed One For All support.
A pretty quick response indicated that yes it could support the Xbox, but would need sending back for reprogramming (at a cost of £10, as I was outside the first year of purchase / warranty). This seemed like a fair price so I have just sent it off.

I’ll post on the ‘richness’ of the Xbox support (and the best code) when I get it back.

 

Codes that might be useful :

  • Vistron 32″ HD TV – Model VIS032HDID   : 0587
  • Yamada DVDSlim 5520 : 0665
  • Xbox 360 : ????
  • Pace Twin Freeview Recorder : 1423(with PVR key reprogrammed to function code 00536)

 

GEO 51.4043197631836:-1.28760504722595

Xbox 360 Networking

xbox360 So before Christmas I bought an Xbox 360 (60GB HDD version). Reasoning was “it will be good for the kids hand eye coordination” which in reality was a thinly veiled “I want one and the kids might like it too” (as it turns out they don’t)…

Anyway, one of the first tasks was networking it -linking it to the home PC and DSL router. I read a bunch of stuff online about the Xbox wireless adapter being over the top and the same could be done with any old wireless router that you had lying around around – so, having an old WRT54G lying around that was my first step.wrt54g

It was pretty successful in that I already had reflashed it with DD-WRT firmware and it was pretty simple getting the wireless side acting as a client to my Linksys WAG160N and the unit bridging connections from the LAN side. Now this configuration requires that you set the LAN side side up on a different subnet to the existing (wireless) network – otherwise the routing gets screwed up. i.e. The LAN side might be on 192.168.2.X while the existing router is on 192.168.1.x (this is what routing is all about – Xbox gets an address of 192.168.2.x and a default GW of 192.168.2.1, the router bridges any data sent to 192.168.2.1 over to the wireless side which has an address of 192.168.1.xxx and a default GW of of 192.168.1.1 that then bridges it over to the WAN side of the DSL connection that then routes it to the Internet…

This worked fine initially, I could connect to Xbox Live and the like, but where it fell down was on the connection to the Media Centre PC – for some reason any Media Centre PC must be on the same segment as the Xbox (which is not the case here as Xbox = 192,168.2.x and MCPC = 192.168.1.x). It does this to make ‘discovery’ of the MCPC easy fro an Xbox, but I am surprised (read disappointed) that there is not an advanced / manual setting that allows the user to specify the IP address. I reckon this is around needing a good quality network connection between the devices (which is generally the case if they are on the same subnet, but not always when on different subnet’s), but a simple disclaimer could have sufficed…. It forces users into either running an Ethernet cable, buying a wireless adapter or living without media centre capability.

xbox360wireless Anyway I caved and bought an Xbox wireless adapter, but the speeds are still not up to streaming HD TV, so now I’m considering powerline adapters (Homeplug) – be glad to hear of any experiences you have with this…

 

GEO 51.4043197631836:-1.28760504722595

NikePlus Gets An F Minus

One of the things I find really helpful in terms of motivation (for running) is having easy visibility of weekly, monthly and total mileages, times, paces etc.

nikeplus_sportband So, a couple of weeks ago I bought myself a Nike+ Sportband. This promised it all – a senor that fits in your shoe and automatically records your distance, time and speed and wirelessly transmits it to a wristband. The wristband also has a detachable USB connector / screen that you simply plug into your PC and the data is auto uploaded to the Nike+ web site.

For too long I have been using an Excel spreadsheet and manually copying it between PCs, in the past couple of months I had started getting to grips with WCF by putting together a running log application that I had planned to host on my web site (just for me) – no need for that any longer, Nike+ was going to solve all my problems and more…

How wrong I was. I cannot tell you (although that is exactly what this post is trying to do) how technically inept this product is, not just the wristband but also the web site, the whole experience in fact.

coding-horror-official-logo-small If you are familiar with the class book ‘Code Complete’ you will know about a ‘Coding Horror’ (things you really should not do when writing software), Jeff Atwood even used the term for the name of his great blog – well this isn’t all software, so lets call them ‘Design Horrors’.

The first ‘Design Horror’ comes from trying to invent a new and snazzy way to secure a piece of technology to your wrist. Watch straps have been around for hundreds of years, everyone knows how to use it right ?, the only advancement in wrist fastening / securing technology ever was to use a Velcro patch to secure the two separate lengths of strap together (typically in sports pieces, for added speed). Did this stop the Nike engineers, no way – they came up with a new paradigm in wrist strap technology. One length of strap has 10 small holes, spaced by about 2 or 3 mm, the other length has two stud like protrusions that (using one hand) you must line up with the required two holes and push into place with a force just less than that required to push your thumb through the flesh of your wrist.

‘Design Horror’ 2 (DH2) is similar to that of DH1, remember the detachable USB connector / screen thing I mentioned, well to secure it the USB connector pushing into a slot in the wristband and then it is secured by one of these studs pressed into a hole, however the button on the face of the screen is exactly above that stud and pushing the USB thingy down to make sure it is secured typically results in the button being forcibly pressed for a few seconds (resulting in the device trying to locate the shoe sensor), also I’m not comfortable with the amount of pressure placed upon the button this regularly (thumb through the wrist pressure)….

nikeplus_logo ‘Design Horror’ 3 (DH3) is the ‘clock’ facility of the wristband. I may be being unfair here, this could be a ‘by design’ issue that was never part of the requirements (which would make it a Product Requirements Horror instead). The wristband has the ability to display the current time, as well as the mileages, pace etc. Naturally you would think that Nike position it as a watch replacement for runners, however I cannot believe that is the case. how could they imagine it would replace my watch which not only has alarms, date functions, countdown timers etc with something that only shows the time, nothing else, and does so without any form of backlighting, so that trying to read it outside the core hours of 10am to 4pm result in a painful headache and a trip to the optician for thick lenses. Obviously the decision to save what couldn’t be more than 10p, for a tiny surface mount device giving date/time features, in the cost of materials seemed important to them.

‘Design Horror’ 4 (DH4) is the orientation of the display. This is in the most difficult to read position available (regardless of how the thing is worn). The display does not read along the length/drop of your arm like most watches – no, it reads perpendicular to the length/drop of your arm. So, now, instead of just squinting at the display with no backlighting you are also skewing your arm / wrist into some crazy angle like a contortionist.

nikeplus_utility ‘Design Horror’ 5 (DH5) brings us to the client side software that you need on your PC to interface with the USB thingy and auto upload your run data. When you plug the USB thingy in it auto starts the ‘Nike+ Utility’, however it is started behind all other application windows. Further, on first using it it displays a login facility pre-populated with the username of ‘Guest’. Clicking in the username textbox to try and change it results in nothing ?? Nowhere does it mention it, but I have since determined that you log into the site via a browser and then the Username is picked up for the ‘Nike+ Utility’ from a cookie or something…
What part of “we’ll show a username that the user knows is not theirs and give them no visible means of changing it” seemed sensible at the design stage ??

‘Design Horror’ 6 (DH6) falls into the areas of calibration and uploading runs. You can see from the screen shot that there is a calibration tab (the sensor is basically a pedometer and it needs to be calibrated to your stride length for accuracy) – the problem is that as soon as the USB thingy is plugged in the Nike+ utility starts and uploads any outstanding runs, before you calibrate. So my very first experience with this, when I’m still in the ‘happy’ zone about my purchase is a run being uploaded that is the wrong distance. All the shiny graphics depict that I am considerably slower and run shorter distances than I actually do – what a deflation. of course, my first though is that I’ll just edit the run and update it with the correct distance  – leading me nicely to DH7.

‘Design Horror’ 7 (DH7) is the fact that I cannot edit any of the runs I upload, neither can I manually upload/input runs. With all the (fun) challenges available on the site, design to further motivate people, not providing this feature is a big letdown. Just in terms of personal motivation, Nike+ shows my Total for this year as 18 odd miles, but I didn’t buy it till July, being able to correct that with accurate values should be possible, unfortunately it’s not. Likewise some kind of import facility for all my old runs, should be – but isn’t…

‘Design Horror’ 8 (DH8) is the communication between the wristband and the Nike+ web site – it seems to be one way, certainly none of the totals from the web site are reflected in the wristband figures – I ‘reset’ my wristband the other day to recalibrate (the distances suggested by the unit were 1.05 miles in 8 out, even after calibration) and now it tells me my total is 1.93 miles (even though I calibrated it to 2 miles exactly).nikeplus_run

The final ‘Design Horror’ (DH9) is the accuracy of the data. The run depicted in the image was an 8 miler I did, steady pace, no walking, flat terrain and a fast finish. the data does not reflect that, it looks like I actually stopped around 2.5 miles and slowed at the end. Nice graphs are great, but if I don’t trust your data then what’s the point.

The whole web site is flash/shockwave based and pretty slow, it is also difficult to navigate and non intuitive.

On the flip side, it is a great idea, some of the web site features are really neat – the ability to challenge other runners, join ‘virtual teams’ and have team challenges – it’s a pretty good social networking for runners site all in all. It only costs £40 for the kit (sensor and wristband), so it doesn’t break the bank.
BUT – It could be incredible if the hardware and software are sorted out !!

My message to Nike – Just Do It

GEO 51.4043197631836:-1.28760504722595 

HTC TyTn II Windows Mobile

tytnII_101x111 I’ve had my HTC TyTn II (aka Kaiser aka Vodafone V1615 aka HTC 4550) for a couple of weeks now – very impressed. This is almost the converged device I have been looking for (it is still a little too big to be perfect)…

  • Wireless Networking 11g
  • GPS
  • Bluetooth
  • GPRS / 3G / HSDPA
  • 3MP Camera plus another low spec camera on the front !
  • Full slide out keyboard
  • Tilt screen

I have it set up for Exchange 2003 SP2 Direct Push email and I actually get the mails on my device a few seconds before they appear on my laptop (cached mode…).

The GPS is really good – it comes with TomTom and the ability to download one city (I chose London). I upgraded to all of UK. Start the TomTom application, it takes over the whole screen (including tool/task bars) and gives a very good 3D (or optional 2D) view of the surroundings. Route planning is very simple, mostly I enter the postcode and it finds an accurate match. I hooked it up to a universal mobile phone windscreen mount and am using it all the time.

With the Vodafone retail package you also get Spb GPRS Monitor which allows you to see how much data you are passing, allows charting of your usage by day, month, hour etc and allows you to set your tariff and get warned when you get to X% of your daily / monthly allowance.
So far even with my busy push email stuff going on I’m only at around 1MB per day.

Application I have installed / tried :

Agile Messenger – this is a pretty neat IM client that handles MSN, ICQ, AIM, Yahoo, Google Talk and others. There is a 7 day free trial and after that costs $44.95 to register ( a bit costly). Actually I don’t see myself using this, instead I’m going for Windows Live Messenger for Mobile, this is actually a web app (so no install) but covers everything I need. The only bummer is that I have not yet been able to add a URL shortcut to my HTC Home Launcher plugin.

Diarist 2 – a freeware offline blogging client. Works with many services, and in particular dasBlog, so how could I resist. Also supports newMediaObject, so I can embed images etc no problem.

Kaiser Tweak – freeware application (manual install on the PDA) that tweaks a range of options on the Kaiser device – probably no use on other devices ?

MoDaCo NoData – another freeware utility, this allows you to turn off GPRS / data completely. Good for when travelling abroad and not wanting to get stung for ridiculous roaming data costs.

Google Maps for Mobile – not really used this in anger, not much need when I have TomTom already. The data requirements of this is pretty large but it is displayed to you as you use the application.

Plans :

Couple of things I’m planning on doing with this, the first is auto sending the GPS coordinates to a web service at regular intervals (every 5 minutes for example) – this is so that I can let people see where I am (obviously secured so that I can gives links to certain people only).
The other thing is getting a PocketIE URL into the HTC launcher screen- this normally only takes applications so it may require a small app that simply opens PocketIE and navigates to the chosen URL.

Observations :

It seems (maybe it’s just me ??) that I cannot turn off all notifications except the alarm clock easily, so using it as a bedside alarm is not an option

I have not made much use of the keyboard yet, mostly entered text via the stylus and onscreen keyboard.

After a couple of days on connecting to wireless access points (to save on the GPRS usage) I have now turned off the wireless feature, much easier to use GPRS/3G and the bandwidth used is not excessive.

GEO 51.4043197631836:-1.28760504722595