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.
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.
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:
I have an Bausch & Lomb optical Stereo-Zoom (SZ4) microscope which is a great instrument and not a luxury when you do a lot of SMD prototyping and repairs. The light solution for this was a simple piece of white LED strip powered from a 12V adapter, worked well for over 6 years and I thought an upgrade to this will make a nice weekend project.
To really make this nice and portable it had to be very compact, wireless power from a rechargeable Lithium-Polymer battery. But how can this be powered from 3-4V when the LED strips require 12V?
Watch the details in the video below, along with a demo of laser-cut SMD stencils and complete hand assembly and test of the new light ring.
The before and after shots:
The design files are over at Github. Are you planning to make one or add more features? Did you learn something new from this video? Have a question or other suggestions? Let me know in the comments!
I prepared a complementary video to cover all the basics of the LoRa and RFM69 transceivers used on Moteino boards. I concentrated on the most common topics I’ve seen show up in the forum and in support emails. This should be a good primer for those getting started with using sub-Ghz transceivers with Arduino or Moteino or even other compatible boards, since most principles apply the same way. Feedback and comments are welcome.
Since my LE40-V Pick & Place machine’s factory PCB holder is difficult to use, has no support, and is not well suited for V-scored panels, I had to get creative and use neodymium magnets on a metal plate to hold the PCB panels steady during placement.
This makeshift solution got me in trouble and it’s the second time I managed to get a neodymium magnet on the tip of an expensive SMD pickup tool. In my last post I showed how I upgraded from magnets to 3D printed magnetic brackets to make the PCB holding task easier and avoid this problem. Otherwise this would also not be a problem if I were’n using magnets, yes I know. Or if these tools were machined from a non-magnetic tooling alloy, such as what’s used in these excellent $5 CHP 3-SA tweezers. Don’t ferromagnetic metals get magnetized over time from extensive use anyway? I think it’s common sense to use a quality non-magnetic tooling alloy in such expensive tools which will last the life of the machine and won’t develop such problems.
The workaround I found to work and save the magnetized nozzles is shown in the video below. This method should work for other types of tooling.
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.
The LE40V pick & place PCB holders consist of 2 adjustable brackets that are meant to hold the PCB tightly on 2 sides (let’s call them TOP and BOTTOM) while the machine pounds the panel with parts. Typically you’d set the TOP side bracket to a fixed position that is perpendicular to the machine rails and only adjust the BOTTOM bracket depending on the PCB panel size, and hope you won’t snap your freshly solder pasted panel in half when you tighten it in. Also worth noting that by default there is empty space (ie. nothing) below the PCB for support, so I had to add some supports to stop panels from vibrating during placement. While this bracket is perfect for holding trays and very rigid panels, after only a few uses it becomes obvious this is a pretty terrible design for scored/thin panels which buckle under the 2 sided pressure and un/screwing hex nuts every time a new size panel goes in the machine gets old super fast. And yes – I snapped V-scored PCB panels to pieces on more than a few occasions thanks to this mechanism. Now being a super awesome customer oriented company, DDM Novastar will surely take note and improve the PCB holder immediately, maybe using the ideas below.
After some time I added a rigid metal sheet base to properly support panels in the machine during placement and that allowed using magnets to hold the panels instead, a no-brainer makeshift solution. That worked pretty well for a few years but strong magnets are not easy to handle. I thought maybe I can really fix this with a new magnetic bracket and shoot a video of making it happen. The result is below. I am quite thrilled with these holders that can secure the panels quickly and are a snap to adjust without overlapping much PCB area. Here’s a video showing how these work and how I modeled the parts:
Do you have a laser cutter? Do you need an emergency shipping box?
The USPS Priority Small Flat Rate Box has a nice template that can produce an easy to cut resizable box from the endless supply of throw-away cardboard boxes from your online Prime and other shopping adventures.
I traced a curve after a photo of such a box laid flat on the floor, made some adjustments and ended up with a digital template that can be resized and adjusted to your needs. Makes for some recycled cardboard shipping boxes for those who think they might save a tree or need a quick sturdy box to ship something and don’t have one handy. Maybe this comes useful to someone.
Each laser cutter is different and you will need to experiment with cutting power and speed. Mine is a 60W CO2 laser and the settings I used are 75mm/s with 60% power for cuts and 15% for fold lines.The fold lines are merely scores in the cardboard that help with making easy straight folds. Depending on your laser bed’s size you may enlarge and make larger boxes or put them side by side like a jigsaw puzzle as seen in the first photo.
The full SwitchMote kit is available again. I had to redesign the PSU cover and some 3D printed spacers which fit the new PSU R3. Everything is pretty much the same as before, except that there’s significantly less soldering to do. The PSU R3 is also available separately. All the small passives are now SMD soldered. There are now 4 screws that balance the cover a little better than before., and the FTDI programming header is offset from the edge.
You do the programming the same via an FTDI-Adapter and a double length male header which is provided in the kit.
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)
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: