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!

New products: M0 Breakout boards

There are now a few more breakouts available in the shop. With the release of MoteinoM0 I also wanted to make available a few boards specifically designed to mount flat on the M0 PCB for a super compact wireless sensor platform.

The new boards include a BME280 Breakout featuring the same sensor as on the previous WeatherShield

And there is an all new LSM9DS1 9DoF IMU Breakout featuring 3 sensors in 1 compact chip (acelerometer+gyroscope+magnetometer):

 

And here’s a mini SD-Card Logger Breakout featuring a low power switch to keep that hungry SDCard off when not in use.

You don’t even need to use pins at all, just solder the castellated side mounts (aka half holes). You may later desolder these with hot-air or a wide chisel tip on your solder iron. You can of course use these on a breadboard or with any other Arduino/dev board. You can also stack all these on a single MoteinoM0 if you’d like, just need to get a little creative with stacking them to keep pins connected correctly:

Details and sample code were added to the guide page.

New Dipole Antenna Review & How-To

I’m pleased to introduce a new version of the PCB Dipole Antenna, a significant upgrade from the previous version. This has a nice VSWR of almost 1.0 at both 868Mhz (at default 78mm length), and 915Mhz (trimmed at 73.5mm). It could be trimmed anywhere down to 2.4Ghz but it will be a best performer for the wideband LoRa and FSK radios in the sub Ghz ranges. Be sure to check out the dipole section in the RF-Best-Practices Guide for more theory on the dipole antenna.

New MoteinoM0 Released!

If you’ve watched the forum, it’s been suggested to develop a new Moteino board featuring new/more powerful/more flexible or even ARM microcontrollers. Mentioned candidates were the Atmega328PB, STM32, SAMD from Microchip and perhaps others were mentioned over time as well.

Say hello to MoteinoM0 – it features the popular SAMD21G ARM Cortex M0+ 32bit processor (48Mhz, 256kb FLASH, 32kb SRAM). It’s quite an awesome bit of silicon brains and after months of playing with it, tweaking libraries and sketches, testing peripherals and designing add-ons for it, and developing an Arduino package for it that is oriented on LowPowerLab‘s most important points of interest, it is now available to the public.

But SAMD21 has been offered by others for years you say. How is this exciting and why did this take so long? I didn’t want to spam the market with a new clone and claim this is the best thing since Arduino Zero. Here are a few highlights that I think will make MoteinoM0 different and interesting:

  • long range wireless programming enabled just like all the other current AVR Moteinos!
  • Got low power? You bet! How about 6µA in standby sleep? MoteinoM0 yields the real low power mode achievable by the SAMD21, 7µA in watchdog periodic sleep, +1µA for the external 4MBIT FLASH-MEM chip and radio module
  • supports RFM69HCW and LoRa radios, plus secondary radios and add-ons, see below
  • a modular design enables compact platform for I2C/SPI/GPIO add-ons, just a few examples to mention:
    • SD-card logger ( with “zero” power control)
    • weather node
    • multi DOF accelerometer/gyroscope/magnetometer
    • secondary RFM transceiver (say you want an FSK and LoRa Gateway to listen concurrently or combine different concurrent frequencies)
  • break out as many useful and Arduino supported pins as possible in a symmetric and compact board layout
  • ease of side castellated mounts allow these add-ons to be mounted directly flat on the PCB without additional headers, here’s a simple weather-node add-on board that only requires one sided soldering and can be easily removed and reused:
  • you may also stack above/below using extra headers or solder extension wiring to the side half-holes for quick removal and re-use later:

Here is a quick pin reference and schematic:

A few things about similarity to the standard Arduino Zero:

  • this board was designed to be as compatible with Arduino Zero as possible in terms of available MCU functionality
  • GPIO and core package is adapted from Arduino Zero, all GPIO is accessible the same way, except PA28 (USB_HOST_EN) which is not connected
  • as seen in the reference above, some pins are hardwired to the radio transceiver and SPIFlash (A2/SS for radio, D8 for FLASH-MEM) and used by these modules
  • you should be able to use most Arduino examples with MoteinM0 without a lot of hassle. If you’re already familiar with Arduino Zero this board should feel right at home

Read below for why this took “so long”.
Continue reading

Introducing the no-LDO 8Mhz Moteino

From popular demand, there is now a Moteino 8Mhz variant which has the following differences to the regular Moteino:

  • no LDO linear regulator
  • the VIN and 3v3 pins are connected via a 0ohm resistor (including FTDI header VIN)
  • must be powered from 3.6v or less when RFM radio and/or FLASH-MEM are installed onboard, otherwise without radio/external flash the board will work up to 5V
  • 16mhz resonator is still installed but not used with the 8Mhz fuses. This means you can still change the fuses yourself and use it if you’d like, but this will only be safe down to about 3V
  • The fuses are: LOW: 0xD2, HI: 0xDC, EXTENDED: 0xFE
  • even more ultra low power – 2uA less current than the regular Moteino
  • Runs DualOptiboot compiled for 8mhz
  • 57600baud upload programming speed (vs. 115200)
  • you will need to install the latest Moteino definition (v1.3 or newer) in your Arduino IDE Board Manager to gain the new Moteino (8Mhz) target board:

For the latest updates and specs on this board, always check the official Moteino guide.

To program this Moteino the FTDI-Adapter offered in the shop can be modified to pass a safe 3.3V to the 8Mhz LDO-less Moteino – cut the *5V Output Voltage jumper and solder the 3.3V one:

Note that this mod will make the FTDI-Adapter regulate power, but it can only supply about 50mA to the Moteino, if you draw more power, the adapter might drop and reconnect to your computer

Alternatively, you can build a dedicated adapter that takes the 5V from the USB and regulates it to 3.3v, here’s such an example which uses the LDO from the Moteino itself (MCP1703) along with a 1uF and 0.1uF caps, all other connections are passed through and assumed to be 3.3v levels:

You would then use it in between your stock unmodified FTDI-Adapter (or equivalent board, providing 5V VIN power and 3.3V TX/RX/DTR signals), and the no-LDO Moteino which requires 3.3V when radio/flash are present:

These types of Moteinos are ideal for ultra low power coin cell and other micro power powered nodes – power them from 3.6V or less. Of course, when you have such tiny power supplies, you must choose your transceiver carefully, as you likely cannot transmit at full 20dBm power from a tiny coincell. The W/CW 13dBm radios running the auto-power-dial RFM69_ATC library extension would be recommended for running on coin cells or small solar cells.

I can’t wait to see what you guys will make with these!

Moteino R6 released

After Moteino R4 has been the long running champion of its lineup, and R5 has had a brief period of glory, Moteino has now been shipping for the past week at revision R6!

Wait, what happened to R5 which was never announced you ask?
Well R5 was mainly a transceiver layout change from R4, it also added a u.FL RF connector (which is now offered in the shop) and SMA connector “helper” pads, and few other minor layout changes, nothing too significant and otherwise identical to R4. Customers were now getting HCW and LoRa radios on the same Moteino PCB instead of separate PCBs for HW and LoRa.

However in R6 there are more important changes:

  • CW transceiver layout has been added in addition to the RFM69/LoRa layout, which means that the whole spectrum of RFM69 and LoRa radios are supported. Note that W and HW, while still in the shop, are no longer available as an option for MoteinoR6 – they are replaced by CW and HCW (which are 100% equivalent from a software and features perspective, but smaller!)
  • supported transceivers: RFM69CW, RFM69HCW, RFM95/96/LoRa
  • in addition to this, RFM12B is now also usable (though not sold) with Moteino R6 because of the new CW pads. Note that the RFM12B library is still usable but no longer actively developed or supported
  • a delay cap was added to DTR to avoid situations where the Moteino never wakes from an ultra low power state – this has been mentioned and discussed in the forum
  • u.FL pads kept for those who want to connect a pigtail instead of straight coax or the provided monopole wire antenna
  • the Trace Antenna variant reflects all these changes as well except it’s connected to the onboard PCB antenna and does not require an external antenna

Here are RF connector options now possible on the Moteino, all these RF connectors are available in the shop for convenience:

 

SwitchMote PIR motion sensor option

Quite excited to announce the new PIR sensor option on SwitchMote, this was requested by a user and is finally available in the shop. The chosen PIR sensor was the ultra low power Panasonic EKMB1201111 (same as offered in the MotionMote Kit). It’s a fantastic sensor, very small fully contained package, the only down side is these sensors are expensive. For this reason the kit is now significantly discounted for a limited time! You may source your own PIR of course (and mention you want the PIR parts at checkout), a forum user reported the older revision of these sensors might be found for cheap on eBay.

The SwitchMote Guide was updated with instructions for this change. Mainly the kit will come with 2 buttons and the PIR instead of 3 buttons, along with a required 10K pullup and the front cover matching the PIR sensor. Here is the updated kit content, notice the front PCB is different:

WeatherShield R2 released

UPDATE: A sample RFM69 sketch for WeatherShield R2 is posted here.

WeatherShield is now at R2 and although the PCB is very similar to R1 there are some significant differences. The R1 used to have a BMP180 until Bosch decided to stop making it. So R2 came about partly because of that reason, and is now shipped with a BME280 which includes all Temperature/Humidity/Pressure readings all in 1 sensor. This sensor is pretty popular it seems so hopefully the supply will be plenty for a long time.

Here’s a look at R2:

dsc_9859dsc_9860

And the schematic:schematic

Notice a few changes:

  • The voltage monitor circuit is now without a mosfet – this was removed and a resistor was added (the angled resistor) to tie the circuit permanently to A7. The old pads are still there so including the mosfet as on R1 is an option if someone really wants it.
  • there is now a solder jumper to allow disconnecting the battery monitor from A7
  • The Si7021 pads are still there if you’d like to add that sensor yourself

The board will idle at around 3.5uA when the sensor is put to sleep because of the voltage monitor. That’s still very low power but if you want 100nA instead and don’t care for battery monitoring, cut the jumper to A7. Bring your feedback in the forums!

MotionMote R3 with BME280 & Panasonic PIRs

The MotionMote is now available with optional BME280 sensors and Panasonic PIR ultra low power sensors (the EKMB1201111: 5m 2uA, white). When you opt for the Panasonic PIR you get that instead of the chinese HC-SR501 with the appropriate enclosure front cover and required acrylic standoff. The guide explains how to use the standoff and switch the PIR input voltage from battery to regulated 3.3v from the Moteino:

DSC_9826DSC_9823

The MotionMote sample sketch was updated to include BME280 code support, but it’s commented out (will require a 3rd party library to read the sensor). If you get the BME280, make sure to uncomment the BME280 related code lines.

Although expensive, this PIR allows running on less than 10uA of idle current draw. Who thought that less power costs more huh! When assembled these will look like this:

DSC_9805

The OLED variant of the kit might be available soon as well, I will update the product page with that option when/if it does. That allows using this kit as a battery operated Moteino with a nifty OLED display for any general purpose use on your wireless IoT network. Here is that at a glance next to the regular HC-SR501 PIR based MotionMote.