"Electronic enthusiasts may be interested in a new Arduino-based multitool equipped with a full-color screen and touch base control system, designed to simplify and open source the development of electronic devices on Arduino, ESP32, STM32, and more. "
"An open source and wireless connected electrical measurement probe and debugging tool based on ESP32 and Arduino framework."
"With the ESP32-powered Quark, you get an electrical measurement probe and a debugging tool, all in one! It is also open-source, wireless and app-connected."
QUARK is a simple, easy-to-use, multi-function development tool for Arduino, ESP32, STM32, and similar platforms. It is powered by open source software written in the Arduino environment, which means that even novice developers can modify the device firmware to add functions or modify existing ones to suit their needs. Out of the box, QUARK can measure parameters like voltage, current, resistance, capacitance, and inductance. It also has a built-in oscilloscope, a UART logger, a UART plotter, and a frequency generator. Finally, it has the ability to send data over Bluetooth to custom iOS and Android apps where it can be displayed and analyzed. QUARK’s second probe connects to the device through a USB Type-C port, which can also be used to exchange data via the USB bus.
At about 12 cm long and about 2 cm in diameter, QUARK is quite small, but we took great care to ensure that its compactness does not come at the cost of usability. On the contrary, it is not only comfortable to hold in one hand, it is designed such that you can cycle through its various functions using that same hand. The color IPS display has a resolution of 240 x 135 pixels and its position allows you to shift your gaze from the probe to the screen and back again with ease. Device controls are touch-sensitive: simply slide your finger up the case to select the next function or slide it down to select the previous one.
How do we typically go about using an ordinary multimeter? We hold a probe in each hand, periodically applying them to different contacts and getting distracted every time we need to switch operating modes or change some other setting. The multimeter itself lies on our bench, off to the side, and we have to shift our gaze every time we want to observe a reading. When working with tiny parts and tight assemblies, these distractions make it easy for a probe to jump off a contact, which means we sometimes lose track of the component. And of course, if an element’s rating is unknown, we must periodically adjust our multimeter’s measurement range as well. And what if we need an oscilloscope? Or to check the data on a UART line? Then we need different equipment entirely…
When designing QUARK, our goal was to create the simplest, most convenient tool possible. Designed to be operated with one hand, the device itself is a signal probe to which a second probe can be connected. To switch modes, you just slide your index finger up or down the body. QUARK will automatically adjusts its measurement range and display the value on its screen – a screen that’s right there on the top of the device, by the way, aligned with the probe tip so there is no need to shift your gaze and risk losing your probe point.
As a rule, when developing projects on Arduino or ESP32, we need to measure simple, easily understood values. The ESP32 supply voltage is 3.3 V. Logic zero for the ATmega328 is below 1.5 V. The power supply filter capacitors of the chips are usually 100 nF. That sort of thing. Even though we might be measuring a logic level with an accuracy of 0.001%, we rarely need immediate access to the exact measurement. We often just need to know
1. You can read the manual and look up the exact values for all types of devices…or you can just glance at the screen and see the values displayed there:
When it comes to standalone devices, we try to minimize current consumption. We enable and disable additional equipment, use different modes, optimize power schemes, and so on. Practice has shown that, when measuring current consumption, it is more effective to examine the dynamics of change over time rather than instantaneous, absolute values. The photo below shows the dynamics of current consumption under a powerful load controlled by a PWM:
When measuring the parameters of resistors, capacitors, and inductors, QUARK’s display shows the SMD code and the stripe code of the component, which eliminates the need to use online calculators or reference books:
QUARK’s oscilloscope will automatically adjust the scale, trigger, and display of the waveform. It will also display the frequency and the period. If necessary, you can switch to manual mode and set the chart scale:
When logging or plotting UART data, QUARK automatically detects the baud rate and adjusts the scale of the graph:
There are two smartphone apps for QUARK. The first, written in the AppInventor environment, has two purposes: to help users get started quickly and to acquaint novice developers with the platform. The second application is written in the Flutter environment and runs on both iOS and Android. QUARK connects to and exchanges data with this apps via Bluetooth, which allows it to monitor device readings remotely. Both applications are fully functional and support all of QUARK’s modes of operation.
|Manufacturer||Mulin Group||Pokit Innovations||Miniware|
|Screen||240 x 134 (IPS)||No||96 x 16 (OLED)|
|Connects to a phone||Yes||Yes||No|
|Autonomous operation||Yes||Logging only||Yes|
|Full-function touch control||Yes||No||Yes|
|Voltmeter||Up to 26 V||Up to 600 V||Up to 40 V|
|Ammeter||Up to 3.3 A||Up to 10 A||No|
|Resistance||Up to 2 MΩ||Up to 1 MΩ||Up to 2 MΩ|
|Capacitance||2 pf - 1000 µF||1 nF - 100 µF||1 nF - 400 µF|
|Inductance||1 uH - 1000 µH||No||1 µH - 1000 µH|
|Oscillograph||400 K SPS||1 M SPS||No|
|Measured-value display||SMD & color code||No||No|
|Open Source||HW + SW||API||No|
After the final completion of all testing, we will put all the files in the company’s repository for open access. Complete documentation on all functions and features of the device should be prepared separately. Also, the entire source code will be commented in detail, an instruction with a detailed description of all functions in several languages will be posted. For those who prefer to make the case on their own, a utilitarian CAD project of the QUARK case will also be provided.
We have strong partnerships with a large PCB company, JLCPCB, where we order all the electronics. The assembly is carried out in Belarus by a partner company specializing in contract assembly of devices. Testing is carried out on our own in a semi-automatic mode. Depending on the successful campaign, we are considering options either to print the cases on a photopolymer 3D printer, or to order molding with liquid resins, ideally plastic injection molding from partners.
After testing and packaging your devices, we will send them on to Crowd Supply’s fulfillment partner, Mouser Electronics, who will distribute them to backers worldwide. You can learn more about Crowd Supply’s fulfillment service under Ordering, Paying, and Shipping in their guide.
The biggest risk today is the availability of electronic components and delivery times. The scarce components were replaced with more common ones, and the assembly was localized in its own country, which will shorten the production time.
In 2018, somewhere on the Internet, I stumbled upon the circuit for a simple oscilloscope built on an ATmega328. It was not difficult to reproduce the circuit, which I then supplemented with a voltmeter and an ammeter. Like many engineers, I sometimes find it difficult to stop. So, after a month, I had a prototype that could take measurements as an ordinary multimeter or as an oscilloscope, all in one package. Then I added a Bluetooth module.
At that point, I began to develop a better sense of my own design requirements for QUARK. I soon knew that I didn’t need accuracy to 1/1000%, that I didn’t want to select measurement ranges manually, that I didn’t want to poke the probes to measure current, and that I needed the ability to see the stripe code of the closest standard value when probing resistance. So I implemented all of these "quality of life" features.
When my friends saw the resulting device, several of them mentioned that they would like something along those lines for themselves, at which point I came up with the idea of creating a consumer-ready, all-in-one device for…well, for people like me. So I started working on the body of the device. I wanted to make it as convenient as possible for work – using it needed to be comfortable and changing modes needed to be easy. To achieve this, I sculpted different versions out of Plasticine and evaluated their suitability under real-world conditions. After trying several different options, I settled on the current enclosure design and added a touch-control interface.
My first prototypes were built using an ATmega32u4 microprocessor and included a separate Bluetooth module, but I eventually switched to the more powerful ESP32 microcontroller with its built-in wireless interfaces. In total, I created eight different prototype devices with various levels of functionality.
One of my central goals was to create a device with the lowest possible entry threshold for self-programming. To that end, I decided to use the Arduino environment to write the device firmware, and I committed to making the code as simple as possible without sacrificing performance. (It is for that same reason that I wrote one of the QUARK applications using the AppInventor environment.)
Which leaves just one final question. Why "QUARK?" Because that is the name of my cat: