I recently saw a feature on the Hackaday website for a clock that had been made from a multifunction instrument cluster using the analogue tachometer for the hours and digital speed readout for minutes. This was implemented using an Arduino, so I thought perhaps I could do something using a PIC. I found the gauges on eBay, they’re usually described something like “LCD Digital Motorcycle Speedometer” and sell for around 20GBP so I bought one to play with.
Once I’d worked out what signals and voltages it required to operate I put things together on the breadboard with a PIC16F1823. Early on I figured it would need more I/O pins so got hold of some PIC16F18345 to work with.
For the actual time keeping I’ve used a DS3231 RTC. I found some really cheap modules on banggood.com, shipped from China. Three modules worked out cheaper than buying one from a UK distributor. I don’t know if they’re genuine parts or not but they certainly keep time accurately.
I’ve now got the software pretty much complete using Microchip XC8 C compiler and also a PCB designed and on order from JLC PCB. Once all the bits are together and working I’ll do an update here with all the code and other information.
In mid December last year I put together a switch conditioner circuit to address the issue I had with the Exposure Strada light I was using on my MTB. I ran it on the bike until the end of March 2018 when the evenings had enough daylight not to need lights.
So how did it perform? The weather in the UK at the beginning of 2018 was cold, wet and even a couple of weeks of snow. Throughout the three months of use in the cold and rain it worked reliably. I had no more issues with either with the switch not responding or going into flash mode, in a fact it eliminated all the issues I had previously. It’s still running on the CR2025 battery that was fitted in December and that battery wasn’t new.
The original version was assembled on an SMD-to-DIP adapter PCB and was a bit of a hack. Since it worked so well I designed a PCB for it which has the same profile as the CR2025/2032 battery holder. The photo below shows the new PCB below next to the original hack. Since I had 10 boards made I assembled the first one for testing before making up a second to go on the bike.
The PCB was designed using EasyEDA and I had 10 boards manufactured by JLC PCB for $2 + shipping which worked out at about £6.00 for the boards shipped to the UK.
The new PCB has been profiled to fit under the coin cell battery holder and has an ICSP header so the PIC micro-controller can be programmed on the PCB.
The assembled PCB was sprayed with conformal coating to protect from moisture and fitted into the same case I used for the original circuit. Cable ties provide strain relief, the pink foam stops it moving inside the case, and some silicone grease was used between the case and cover.
You can find the schematic, PCB Gerber files and link to order your own boards from JLC PCB at the link below, along with the MPLABX source code and HEX firmware file.
I like cycling and regularly go out after work for a ride, so over the winter I use an Exposure Strada front light. This particular light has a multi-function ‘SmartPort‘ that allows it to be charged, or power other devices, or by connecting a simple remote push button switch you can control the light output power, change from constant to flashing mode, and turn it off and on.