All Shift Light circuit boards (those sold separately, in the DIY kits, and the assembled kits) have an updated design revision v2.41. This revision corrects an error with v2.4 by adding a new trace, so a manual jumper from pins D2 and D8 is no longer required. v2.41 also has some additional labeling on the silk screen to aid in assembly. The arrival of these new boards means kits are restocked and available for purchase in the online store. More news coming soon. :) Stay tuned! - jon
2 Comments
I published a code update for the old displays (legacy) 2.31 and the new TM1637 displays v2.41. Going forward, the old displays will retain the v2.3X series. If I eventually make the switch to TFT or OLED, that will get an entirely new version prefix v3 series. This latest code improvement was made to the "error handling" and "smoothing" sections of the RPM calculation. In an effort to deliver the most-precision possible, I ran into a serious issue with the "neopixel" library for the WS2812B LEDs. The issue is directly related to how the library turns off all hardware interrupts to deliver the precise data timing needed to drive these LEDs. The problem is, I'm relying on the internal timers (directly related to the interrupts). So basically, each time the LEDs were updated the clock stopped - so to speak. So, when you're trying to measure a frequency using very careful timing, and your stopwatch is broken, it makes things pretty difficult to say the least. This would result in a "jumpy" gauge reading at certain RPMs. Oddly, specific RPMs (frequency) were more susceptible than others. Rather than ditching the Adafruit Neopixel library or rewriting it (which I did try for a few days), I decided to live with the erroneous results and handle them in software. Basically, it detects an erroneous result by comparing the previous RPM reading to the current RPM reading. If the RPM increases by 20%, it throws away that reading the instead relies on the previous reading. Remember: these readings occur at extremely high speeds that even the most fast-revving engines cannot touch. So I feel safe doing this. if (((rpm > (rpm_last +(rpm_last*.2))) || (rpm < (rpm_last - (rpm_last*.2)))) && (rpm_last > 0) && (justfixed < 3)){ rpm = rpm_last; justfixed++; if(DEBUG){Serial.print("FIXED! ");} if(DEBUG){Serial.println(rpm_last);} } else { rpm_last = rpm; justfixed--; if (justfixed <= 0){justfixed = 0;} } The software also counts the number of fixes that are applied simultaneously - to make sure we're not over-correcting while the engine RPM is changing.
This new error handling is enabled all the time regardless of SENS option. The "COnd" Smoothing feature still works to remedy any remaining noise you may experience associated with your specific installation by maintaining a rolling average of multiple RPM readings. Let me know what you think in the forums or comment below. Stay Tuned! Check out the forums for all the v2.4 code and documentation.
https://www.chippernut.com/forums.html#/20160329/schematics-and-code-4-5198653/ Note: This code is for the new display type (TM1637 controller). If you have the old display type (HT16K33) from Adafruit, this code will not work. I'm currently updating the code for the old display type and will publish in a day or so when I get the last bugs worked out. Going forward, I am phasing out the old display. The pin-out is exactly the same if you want to upgrade to the new display type. Due to a mistake on my part, the version 2.4 Shift Light boards are missing an important trace connecting pins D2 and D8 on the nano. This results in the INTR "Sens" method not operating correctly. Don't worry: It's an easy fix. Anyone assembling the DIY kit will need to perform an additional step if you would like to use this functionality. The Shift Light will still function without it, but only on the "Freq" setting under the "Sens" menu option (default). The INTR "Sens" option enables interrupt, hardware-based RPM sensing. The "Freq" method uses software based RPM sensing. Both methods have been proven effective. Thankfully this error was caught early enough that NONE of the Assembled kits are affected - the fix has been applied to all previous and future Assembled Shift Light Kits. Furthermore, the error has been resolved in the EAGLE files so future boards (2.5+) will not have this problem. I'm deeply sorry for any inconvenience this may have caused. The silver lining: it's easily solved with an additional "jumper" wire between pins D2 and D8 on the nano. When you've finished assembling the kit, before you mount it within the enclosure, simply cut a small piece of wire and solder it to pins D2 and D8 on the top of the Nano (the side with the USB port) which is basically the very bottom of the assembled circuit board assembly. See pictures. Again, I'm really sorry about this. It was a minor oversight on my part, and one that I will not make again. I chalk this up to "growing pains" of starting an online kit business -- sometimes mistakes happen. As I said before, I'm grateful it's an easy fix and one that I'm more than confident can be resolved quickly. To reiterate, I caught this error early in the process, and it I've already applied the fix to all assembled boards that have shipped thus far.
I appreciate your understanding. - jon The kits are back! Act soon though, supplies are still limited. I'm currently ordering more parts to maintain a higher inventory count to keep up with demand.
Thanks again! - jon @ chippernut On Monday, March 21st, 2016 the shift light kits became available for purchase. In a matter of hours, they completely sold out. That's unbelievable! Not to worry - I should have additional stock in 2-3 days. If you'd like to be notified when the DIY kits are in-stock again, please fill out the form below and I'll send you an email. I apologize for the inconvenience - I honestly wasn't expecting them to go this quickly. I will be very busy over the next few days. I will post a demonstration video of the latest shift light software, instruction manual for the kit, additional parts for purchase, and all of the software and schematics in the forums. Stay tuned!
I'm not sure if you noticed ;-) We have a new site to commemorate the launch! Let me know what you think in the comments.
The code updates are coming along. I also received notification that the first production run of boards have shipped! I'll have a week of quality testing and final adjustments, but this is the last piece of the puzzle. After 2 years of development, the store will go live in about 1 week!! Who would've thought a simple shift light idea (that my friend asked me to make) would turn into crowd-generated, open-source performance product? I certainly didn't. This is only possible because of people like you. Thank you. I would not have gotten this far if it wasn't for all your support, ideas, suggestions, and improvements. Keep shifting!! - jon The next few weeks are going to be a lot of fun! I'm still testing these before I ramp up production for the kits. Stay Tuned!
While I'm waiting for my second-round of prototype PCB's to arrive, I'm going to tackle some code updates. Please check out the forums HERE to make suggestions for features, bug-fixes, and upgrades for v2.3.
And thanks again to everyone that posts, comments, and debugs the software on the forums and YouTube. Your feedback is invaluable and greatly appreciated!! I couldn't do it without you! |
AuthorJon @ Chippernut Archives
January 2024
CategoriesThis website uses marketing and tracking technologies. Opting out of this will opt you out of all cookies, except for those needed to run the website. Note that some products may not work as well without tracking cookies. Opt Out of Cookies |