CurrentRanger updates

Thanks to MGX3D there are now some nice improvements to the CurrentRanger:

  • Firmware updates and optimizations, battery icon instead of text (faster drawing)
  • Improved sampling speed
  • Smarter Auto-Off – avoids turning off when sampling via USB
  • more menu items and options
  • Fusion360 models now available, see this page for links

There is also a new improved OLED enclosure model designed by MGX3D as well. This is also available to pick up in the webshop or you can print your own – models available here and here.

There is now also a python based graphic visualization GUI designed by MGX3D and available here on Github, check out its features and specs on Github, mainly it brings the ability to view serial data from the CR in logarithmic scale and also in autoranging mode, w00t! Here’s a preview of that GUI available for Windows/Linux (and MacOS planned):

A word on using the CurrentRanger

It seems some folks are too excited to try it out and miss reading some of the guidelines on proper usage, this is really important not to overlook. I have seen a few strange cases of abused units that were returned. It turns out it’s never a DOA condition or anything related to a real fault. All units are tested, calibrated, turned ON/OFF etc, to ensure they are functional. Faults are usually a case of improper use, improper soldering or attaching of headers and terminals which cause damage to SMD components, the OLED, etc. Here’s an example of how to not solder the OLED header, or at least not how to leave the board after a solder job, this will cause all kinds of problems (corrosion, possible leaks and faults on the board):

 

Finally, I would like to express my gratitude for the feedback and positive response and interest into CurrentRanger. When used properly with love and care, it is an amazingly versatile and ultra-portable tool that will work for many years without any trouble. There are plans to make it even better and constructive feedback is always welcome and encouraged. Don’t forget that WELECTRON Germany is now our official distributor in Europe and carries the CurrentRanger as well as many other products.

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.

Moteino SAMD 1.5.0 release

There is a major new release for the Moteino SAMD Boards Package 1.5.0. It will popup as an update reminder the next time you restart Arduino IDE, or you can go to the Boards Manager and update from there:

Here are the most significant changes in the SAMD package:

  • All MoteinoM0 and CurrentRanger boards will start shipping with the UF2 bootloader (it’s well worth a read if you’re not familiar with it). The TLDR; is: it supports sam-ba serial protocol uploads as before (via CDC serial, from bossac or via the Arduino IDE) and it also supports drag-drop updates of the firmware as well as the bootloader itself (via a MSC flash drive that appears when the M0 is running the bootloader). Extremely useful if you want to allow an end user to update the firmware and/or bootloader with a newFirmware.uf2 file drag-drop to the “flash-drive” simulated by the bootloader, without the need for the IDE. You could enter the UF2 with a RST double-tap as before, and you’d see a new “flash-drive” on your system (the CURRENT.UF2 is the actual firmware loaded in the MCU – useful to back up before an update):
  • To top off the UF2 awesomeness, MoteinoM0’s will continue to support updates of the firmware from the external FLASH-MEM chip, after an OTA upload via RFM69. The latest RFM69 library release 1.4 has been updated to support this.
  • SerialUSB is now completely removed from the MoteinoM0 and CurrentRanger variant definitions:
    • On MoteinoM0 Serial is now the USB serial, Serial0 is the UART on pins 30/31, and Serial1 is the UART on pins 0/1.
    • On CurrentRanger Serial is now the USB serial.
    • SERIAL_PORT_USBVIRTUAL is now Serial by default
  • You might notice in the MoteinoM0/CurrentRanger boards menu, there are now some options like choosing the USB stack (Arduino, TinyUSB) and more notably the Crystal selection. You can compile for the external crystal (default for MoteinoM0 R1) and “crystal-less” ie. the internal ultra low power 32.768kHz clock). When running without the external crystal, the internal clock is tuned using the USB bus clock which is very precise.

Note that the Moteino AVR boards package is now at v1.6.1. You are encouraged to update both of these packages. Older boards running the sam-ba bootloader may be flashed with the new bootloader included in the 1.5.0 package via SWD programmer. I may even offer to do this for free if you’re willing to return the board and pay for shipping back to you. Please report any bugs or issues in the MoteinoM0 or CurrentRanger forums.

Current Ranger R3 released!

CurrentRanger is now at revision R3!

I received great feedback and several threads in the forum outlined some patterns of user behavior which led me to make some improvements and hopefully eliminate some of the issues I’ve seen people run into. Here is the change log:

Reverse polarity protection

Perhaps some folks were too excited to turn the CurrentRanger on and missed double checking their battery polarity and pufff .. the charger chip released the smoke. I offered free fix/repair to a few who’ve asked, and to put this behind – R3 now ships with reverse polarity protection. If you get it wrong, nothing happens, including the obvious – won’t turn on!

Redesigned 3D enclosure

The previous pillar style enclosure takes about 1h05m to print. And because of the way the mounting pillars are placed in R1-R2 the case called for PETG (stronger less brittle material) but often produced diagonal drag lines in the inside-bottom of the case, and PET tends to print stringy which requires additional cleanup. Mounting screws are now moved closer to corners, this yields more PCB area and allows the case to have top corner posts which are a lot more practical, free the bottom of the case for a larger battery and shave a whopping 18 minutes off the print time. This also yields more room for enclosing a bluetooth module inside the case while keeping the case low profile. And the case print just looks that much better in PLA (no posts that can easily snap either). I’m really happy about this improvement.

Gold terminals be gone!

I am done with Gold terminals, they are the fake news of banana terminals. There is nothing truly gold about them. I tried to like them but frankly, I found them to be more trouble than their gold appearance is worth. Being exposed makes them a short hazard, and twist-locking wiring actually rips the wires. Besides, I almost never use the input terminals since I added the green thumb terminal which makes it a snap to insert battery and project wires. Those gold terminals looked rich and fancy (until the “gold” wears off revealing the dull communist metal) and that’s where the “goods” stop. And yes – I did try many different vendors, I could not find a vendor with consistent quality and repeatability. They may be good for your speaker where you never touch and see them again, but I think not suitable for an electronic instrument.

You want Gold(less) terminals on your CurrentRanger? Be my guest, get them from wherever you can, but I won’t ship these anymore. I cant put fake on awesome. Instead the kit is now standard with low profile banana terminals – simple, compact, functional, consistent, just as or more conductive, that’s real “gold” in my e-tool box.

Moved components & features

A few folks in the forum reported damaging/snapping some of the capacitors near the input terminals, causing the unit to behave erratically – these are now moved away from the terminals to help reduce the chance of this happening. Just to give you an idea, here’s what that looked like, and what to avoid doing when mounting mechanicals around small SMD components on any board:

Misc other changes & additions:

  • the power button is moved slightly left to allow easier access when OLED is mounted
  • the charge LED is now moved next to the USB and is see-through just like all other board LEDs
  • the Bias LED is moved symmetrical to the LPF LED
  • a GND pin added to the SPI header next to the lower right mounting hole
  • minor layout changes & silkscreen additions

Silkscreen nightmares!

Since the top of the PCB serves as the user interface, the silkscreen needs to look fairly good and crisp. I went the extra mile to try and design some nice graphics and make a PCB with a bunch of traces look more attractive and professional.
Unfortunately since inception I’ve had numerous silkscreen issues because of these graphic elements (some my fault, some the fab’s fault, and some “in between”) causing several batches of panels to go straight into the trash. I painstakingly retraced all these graphic elements on the board in a vectorized form and these issues are now resolved (as far as silkscreen design goes). The fab can still screw up but hopefully that won’t happen again.

The official guide is updated, as always please read it carefully before using your unit. Here’s the SMD side:

CurrentRanger is made with great love and pride in Michigan USA, and I welcome feedback, suggestions and contributions.

CurrentRanger review & availability

Sunday morning I woke to an unusual amount of email asking about the CurrentRanger availability. And the limited stock was all gone, so I knew something happened.

I was then pointed to to Andreas Spiess’s latest video:

Thanks to Andreas for posting a thorough review of the CurrentRanger, I especially appreciate how he was able to quickly tune the code to his own needs and customized the CurrentRanger to behave the way he wanted.

He also kindly posted a 3D printable model of the case he shows in the video, some folks already printed it and it looks great! Find it on thingiverse here. The stock case needs some modification to fit the green terminal and access to the USB case, as well as allow mounting the buzzer. If you have a 3D printer you can print this case and keep the black stock case for another project, thanks Andreas!

Availability

I am working to get more units in stock this week. There are a lot of moving parts to making this product. First a large BOM and a complex assembly and testing procedure. I want to ensure to the best of my ability that each unit is able to deliver what it claims.

Some components like the banana jack terminals and OLEDs come from the place we hate to love, China. I’m currently waiting for the small banana jack terminals and OLEDs. However I have a surplus of GOLD terminals, and could replace the small terminals with those if some folks are interested – let me know!

Pricing

I can understand concerns about the cost especially for hobbyists or students. Let me reiterate what I’ve already mentioned in the forum and to others. Here’s the TL;DR of that:

I always tend to design something that I would first and foremost use. While not a high end product, this is not a toy either. I spent over a year – among other things of course 🙂 – developing this product and I put a lot of thought into pricing it before release. I’m not interested in selling high volumes at razor thin returns on my investment and my effort. I prefer fewer sales for people that can appreciate it and not abuse it. I think it was priced fairly, given the high cost of the BOM and the complexity and time it takes to make and test, it really is probably the most complex thing I ever made both in hardware and software. Also, it is not much more expensive than the uCurrent, I am sure anyone reasonable who understands the differences and the set of extra features (perhaps watched the video above for some contrasts), can appreciate all that for just $30 more. The uCurrent is always a great option for those needing accurate current measurements at a lower price.

CurrentRanger: auto-ranging current meter

I’ve always wanted a fast auto-ranging low-burden voltage current meter. You may find expensive high end bench meters which can auto-range they may be slow or lack the bandwidth to capture fast dynamic loads that go through several orders of magnitude of current consumption. Most multimeters also have a large burden voltage, which means their internal current shunts can cause your DUT to see a very significant voltage drop.

I own a µCurrent GOLD from EEVBlog which is great in that it has the precision and bandwidth to capture fast current transients, but it’s a simple manual device that cannot auto-range and unfortunately it’s really noisy in the nA range where it picks up mains noise and it’s unusable without an extra cap on the input (I thought mine was broken but this problem is also reported in the EEVBlog forum here and here). It’s useful when you know your DUT is going to stay in 1 range or if you can predict when your DUT might wake up from deep sleep and manually range just before that happens but it’s a guessing game. Hence the mechanical switches get a lot of abuse and wear, add output noise during switching, and introduce some contact resistance with noticeable effect in the mA range.

Looking around, I couldn’t find much else in terms of affordable fast auto-ranging and highly precise ammeters. So over year ago I started to design my own version of a current meter that has the precision and bandwidth, can auto-range, and has some extra nice-to-have features like:

  • Low pass filter for smooth oscilloscope tracing
  • Unidirectional measurement mode by default for maximum measurement range
  • Standalone OLED display
  • Bluetooth logging would be nice
  • Buzzer for tactile feedback (and why not also play some Beethoven on power-on)
  • Auto-power-off to spare the battery, oh how I craved this simple feature
  • LiPo powered, rechargeable, easily re-programmable – wouldn’t all that be great?
  • Great value vs. features without breaking the bank

It was a bit ambitious and immediately became obvious that this needs to be digitally controlled by a microcontroller to do all that. Five prototype revisions and a year later I think the result is finally ready for release. So I’m pleased to introduce the CurrentRanger, click here for full specifications and user guide.

As a side story – out of the birth pains of the CurrentRanger, resulted the Moteino M0 which uses the same SAMD21 ARM processor that controls the CurrentRanger.

The CurrentRanger is now available in the shop. Please let me know if you did something interesting with this meter. It’s certainly a complex device with a large BOM and lots of parameters to test. With your help I think it can be made even better in so many ways. As resources/code/new features become available they will be added in the CurrentRanger Guide.

Enjoy!