This project was made for myself only and i have not had the energy to make clear instructions for others so they can replicate it easily. I have plans to polish the project in the next week so everyone can get it up and running. If nothing else i would love someone to comment on the source code, especially the code at the most bottom that takes care of hall sensor and timer interrupts. I'm craving for any feedback.
AVR-C project requirements
16mhz clock speed
u8glib library compiled and included in Atmel Studio (7) project settings.
Tools to build the plastic housing
A sheet of Polystyrene or any other glass-like plastic.
Jigsaw to cut the plastic in to the right shape.
M8 bolts and nuts for outdoor use to assemble the two plastic pieces.
M2 nylon bolts and nuts to fit the OLED display in place.
Hot Glue (i made a cubic mold with cardboard which holds the hall sensor just above the wheels magnets)
Parts list
Atmega128 (atmega 32 will work with some modifications, planned)
OLED Display SSD1327 96x96 ( seeedstudio )
5-WAY trough hole button-switch/joystick
Resistors: 10K, 1K2, 1K2, 20
Capacitors: 100nF, 100nF and two capacitors for the crystal
Inductors: 10 uH
Relay ZETTLER AZ850P2-3
5x female pin header, 2x female pin header .. and matching male pin headers
JTAG pin header
terminal block for +5V power and another for the relay output ( DegsonDG350 )
Hall effect sensor (this kind) and about a meter wire (per pin), also a pull-up resistor and capacitor close to the sensor.
Neodymium magnets to place on the wheel. I went with 8.
Here is what the ESP8266 version looks like with a 60fps speedometer and the other display for time, temperature and odometer.