Block diagram

The block diagram shows main hardware, firmware and software components and their connections.
Hardware components are symbolized by a box while firmware and software components are symbolized by a cloud and connections by arrows
User interface is based on a standard browser executing a Javascript application inside a web page.
Web page comes from a local web server.
The user may ask to interface to perform a path and Javascript application queries resources to Google API server by means of the Internet. Resources offered by Google API server are images, geocoding, elevation and paths.
Javascript application moves forward in the path by mouse clicking. Mouse clicking is emulated by Arduino Leonardo USB port in HID mode.
Javascript application computes current slope as difference of elevation between current position and previous position and sends current slope info to a local MySQL data base using an AJAX technology.
A background peer-to-peer UDP application sends continuously slope info to Arduino UDP peer application in order to drive electromagnetic brake.
Direct connection between web client and Arduino microcontrollor is not possible owing to security limitations of browser technology.
Arduino microcontrollor performs three main tasks:

  • pedaling cadence sampling
  • conversion of pedaling cadence into mouse click inter-times.
  • Receiving of slope info and driving of electromagnetic brake



A bike fit on a home trainer and equipped with a display showing a Street View which proceeds according to the pedalling pace. While riding, the incline is calculated and the brake torque is activated to simulate the slope.
The microcontroller is based on Arduino hardware.

facebook twitter google+ youtube flickr

And the winner is ...
Focus award

Meet Belluzzi Gooble Bike
at Maker Faire Rome
Maker Faire Europe Rome