Current Ranger R3mk4 – new firmware & optimizations

The CurrentRanger continues to be improved especially on the firmware side, and in some hardware aspects as well. This blog is to summarize the most important changes and bug fixes with this new release:

  • UF2 bootloader – allows easy backing up of existing firmware and swapping with new firmware via a simple drag-drop action (like copying to/from a flash drive). More details and links to new firmware are given in the guide firmware page.
  • faster boot time!
  • faster ADC sampling (for auto-ranging and for USB/serial logging)
  • more linear and improved resolution ADC readings with secondary mid-range ADC reference (when this reference is active a ½ symbol is shown in the upper left corner. This reference is automatically switched for upper-range readings or when switching ranges
  • calibration information no longer printed on the product label, instead it is briefly displayed on the OLED after power-on and also output on the USB serial port. Unfortunately the EEPROM in the SAMD21 is not persistent between firmware updates, and hence you should always save this calibration information in case you plan to update the firmware.
  • Auto-off warning is now blinked on the OLED in addition to the buzzer sound. Also, the Auto-Off function timer is reset either by manual touching any pads, or by range switched when auto-ranging is enabled (previously reset only by manual touch of any pad)
  • There is now a set of commands available through the USB serial port. This allows to easily change parameters such as the calibration values, toggle logging via USB, toggle Auto-Off function. You could basically add more commands if you customize the firmware. Here are the defaults and examples of executed commands and their output:
  • Some limited number of CR3mk4 units have shipped with firmware that will always show 4.95Vbat. Use the latest firmware to correct that.
  • Better 3D printed enclosures – thanks to a brand new Prusa MK3S printer
  • Silkscreen changes: The previous “Load-” label at the input black terminal changed to “DUT+” to make it more obvious that this is not a “negative” terminal but is the positive side of the DUT. See header photo.

There are 2 essential calibration parameters: gain and LDO voltage. The LDO voltage can always be measured on any GND and 3V exposed headers. The gain has to be adjusted either with the recommended value or during measurement of a known accurate load (ex: apply the a fixed load and increase/decrease gain until the OLED reading reflects the given load). Note that the LDO voltage can slightly change based on factors such as temperature, load (ex: with/without OLED), whether charging is taking place, battery voltage. Each LDO is unique, has its own output voltage and will respond differently. If the LDO voltage swings a lot then you might need to adjust the values before a measurement to obtain the most accurate OLED/logged ADC readings.

A few continued challenges in manufacturing…

Some components like the thumb terminal (Phoenix Contact, made in Slovakia) and banana terminals (chinese) have long lead times. Right now the thumb terminal was on backorder for a month from Mouser and they just updated the lead time to an additional month. A simple component can disrupt the supply chain,  thanks to the chinese virus putting a pause to everything.

As you might have noted, PCBs and components have been hard and slow to source due to the world apocalypse we’re living through. It takes much longer to manufacture PCBs with all the pledges from the chinese makers that everything is back to “full production”.

One of the most painfully inconsistent features of chinese PCBs is the silkscreen, like most other things chinese it sucks. Look at OSHPark silkscreen, next to a chinese made PCB, any. There is no measure of comparison (and not just silkscreen). With the large graphic features on the front side of the PCB, any silkscreen quality glitches become obvious. Thankfully functionality is not affected by silkscreen, and unfortunately the magnitudes in cost difference forces PCB manufacturing to be done mostly in china. I doubt anyone else would pay $5 extra for perfect silkscreen, I certainly would only because I am quite OCD about things I use and look at on a regular basis.

The power button is hand soldered to each unit, and liquid flux is used in the process. Flux residue is removed with flux cleaner. Sometimes traces of dissolved flux may be  absorbed inside the button. At first, while this dissolved flux is still liquid, this is not a problem and the button works fine. When the flux solidifies, it can act as a film on the button internal dome, causing intermittent contact or in rare cases an apparent complete loss of contact. The most effective fix is to add a drop of flux cleaner or IPA to the button, press the button multiple times, in an effort to dissolve and loosen up any flux traces inside the button, and also absorb this solution back with a q-tip.

That’s it for now, any other minor changes will be documented in the CR guide.

3 thoughts on “Current Ranger R3mk4 – new firmware & optimizations

    • Only if yours came with UF2 bootloader. The post describes which exact versions have UF2, generally this applies to recently sold CRs, if you’re not sure, double-tap reset the CR into bootloader, if it shows up as a disk drive with a “Current.uf2” file on it, then you can copy existing backup firmware and try new firmware on it.
      Previous CRs that have samba bootloader would require complete reflashing of the bootloader. Otherwise you can save the calibration values on a piece of paper, and use Arduino IDE to upgrade the firmware to the latest published here.
      Guide to updating firmware is here.

Leave a Reply

Your email address will not be published. Required fields are marked *