Assemble it with off the shelf parts
Most aspiring hobbyists don't have a full SMT workstation. I didn't when I started out. I only had a crappy soldering iron. Since the goal is to allow everyone to be able to build one themselves, I made sure that the design is completely breadboard-able. The caveat is that the overall build will be bigger. Hopefully this can be a launching point for an interest in building things - by building something cool that helps you to build the next thing better.
If you already have some prototyping skills, this project serves as a good challenge for you to build up your other skills: program a new MCU in Arduino/Other SDKs, learn how to do PCB/PCBA assembly by modifying the KiCAD files, or write data collection interfaces using the Python scripts/Flutter code as a starting point. Extend it further!
If you are already an expert, perhaps this device will be useful for you to have - measure and collect data from multiple points wirelessly to see how your device performs in the field.
1. Soldering iron (optional)
2. Solder (optional)
3. A phone or computer with Bluetooth to connect to the device to see the data.
Connect wires from the voltage or current measurement outputs. When the device is powered, the MCU will automatically start measuring voltages and pushing the converted values to the Bluetooth chip. The converted values are in the format "[voltage_1],[voltage_2],[current_1],[current_2]"
If you are using the provided App or script, it should print out directly to your screen.
Manufacture the board using the zipped KiCAD assembly and solder the components on (purchased from the BOM list). If you prefer, you can also breadboard it using the devices I have listed below.
The JDY-08/HM-11 forms the wireless core of this project. It is an extremely cheap (<$2) Bluetooth BLE module that already has a complete set of AT-like commands preprogrammed. The key usefulness of this module is that it already has a transparent mode included as part of the application, which allows us to send arbitary sets of data to and from the IC.
I wanted to use Bluetooth because it is low-powered so that the entire project can be powered off a single AA battery. It is also simpler to stream the data over Bluetooth.
To make it easily programmable, is paired with ATMega-328P, the 'Arduino' chip. This also means that you don't need a special board to use it. Breadboard a breakout for an Arduino Uno, wire it to a Teensy, or build your own board as I have done here.
Alternatively, use SiLab's Laser Bee MCU that is specifically designed to collect analog data and work at 3.3V.
To make it usable and safe, it can take either an AA rechargeable or standard alkaline non-rechargeable battery. I think this provides better flexibility in power options - you can get batteries at a gas station, but it is unlikely you can do the same with a LiPo. I use a single battery here to minimize bulk, with a step-up voltage boost regulator to get it to 3.3V for the MCU and wireless device.
Since it is low powered, I expect a non-rechargable battery to last about a week of continuous data collection or half that for a non-recharable bettery.
Additional advanced functionality includes:
1. uA current measurement
2. Sleep mode
3. Graphing App
4. Record data in App (in development)
5. Pin toggling (in development)
To retrieve data very simple. simply use nRF connect app to scan for "JDY-" device. Once connected, first service will output the data from the wireless measurement.
For remote data collection, you can also a Raspberry Pi 4's Bluetooth, or your computer's, and use the provided script to scan and connect to the device. With this method you can SSH into a remove Rpi to collect sensor data about your device.
You can also use the dedicated App to scan for and connect to devices, which will then display and graph the information from...Read more »