Ribbit Network is an interesting open source community and project that wants to measure greenhouse gases around the world. With its community and the open source sensor platform Ribbit Frog Sensor they build a network of sensors that collects CO2 levels worldwide. The initiative will be beneficial in learning more about the climate change.
In The Power Hop Challenge on Hackster Ribbit Network asked the community to designing an open source platform for new self-sustaining Frog Sensor that would run on battery and be solar powered. At the same time the system would connect to cellular IoT network to transmit the collected measurements. The cellular IoT platform is powered by Nordic Semiconductor and assembled by PCBWay.
I happily accepted the challenge as I have a lot of experience based on my previous work with Nordic devices especially nRF52 series and my expertise with embedded system design, PCB board bring-up, programming and debugging. This will be also a great way to get hands on experience with the nRF91 series that I did not have the opportunity to use before and to start using Zephyr RTOS platform.
For the contest I designed Remote Frog, a successor to the original Ribbit Frog Sensor Kit v4. The Remote Frog has the capability to be away from home and work on its own while still sending environmental measurements.
This writing is an updated version based on the proposal for the design challenge. In the first section the envisioned design for the Remote Frog is presented. In the second section the power budget considerations are discussed. In the third section the system design is presented with the system PCB schematics. In this section the updates from the proposal design will be highlighted and proposal schematics left for reference, to see how the system developed. Then the PCB design will be presented focusing on the more crucial and interesting points of the design while also including some updates based on the review process done by Nordic engineers. The next section will include the process of manufacturing the PCB and PCB assembly, highlighting the timeline and the updates done to the design for the successful manufacturing proposed by PCBWay engineering team. Next section provides the updated bill of materials and compares it to the initial one. In the last few sections the testing of the assembled boards will be presented. Here the initial electrical testing will be described and later the testing steps involving programming of SoCs. Lastly, by combining programs developed for testing, an initial application will be presented which already incorporates most of the functionality needed for the application to include the system in Ribbit Network. During the writing any changes to the initial plans will be discussed. Conclusion will present some of future plans and possible updates to the system while exploring the additional features of the Remote Frog that extend the base challenge requirements.
PlanningI started the project by listing the basic components that would be needed for the challenge and start designing the Remote Frog:
- nRF9151: LTE-M and GPS
- nPM1300: battery charging and system power
- solar panel
- converter for solar power with maximum power point tracking
- USB: type-C, charging, programming, configuration and log download
- battery
- sensors: Sensirion SCD30 C02, Infineon DPS310 pressure
- enclosure of the original Frog Sensor Kit
System would look something like the figure below.
I wanted to reuse the Frog enclosure where a solar panel could be mounted on its head. The tilt of the design is great, as it would allow the rain to wash of the dirt off the panel and it could be even optimized depending on the geographical region and the optimal position for collecting as much solar power as possible. The solar panel should be for external use and small enough to fit. There are options from Adaruit and Seed Studion. The panels can provide max power in the range of 1 W. In the enclosure the new designed Remote Frog would replace the existing ESP32 WiFi module. So its size should be in the range of 10cmx5cm. Here I decided to use external antennas for LTE and GPS that would be mounted below the top hat and connected to the board with coaxial cables. This will increase the wireless performance. The sensors would remain in the same place. I also decided to use 18650 size Li-Ion batteries as they are easily locally sourced and there are mounts that connect the battery directly to a PCB.
Below is a rough slice trough schematic of how the new assembly will fit in the modified Frog enclosure.
For the solar regulator I decided on LTC3130 as it has a wide range of input voltage, which means different sized panels could be used especially during testing. There is a lot of different options that already integrate the battery charger, but I decided to go with the initial requirement of using nPM1300 that has the charger builtin and has a lot of option for system power management. Other options could be a bit less expensive but the the combination of nPM1300 and LTC3130 gives a lot of options. To also integrate charging from USB, I have chosen a power switch TPS2116 to provide power to nPM1300 from solar regulator or USB when the device is connected for testing and development.
As the nRF9151 does not have USB connectivity I was looking at serial UART to USB chips, but decided at the end to just use the smallest option IC with USB from Nordic nRF52820. This option is not much more expensive and also allows to add Bluetooth Low Energy (BLE) communication. During the review process it was suggested to use nRF52833 for even greater capability and has compatible footprint so later it can still be replaced with nRF52820.
I also started thinking if there could be an option to expend the types of measurements. Here I started looking in particle matter (PM) measurements as this would compliment the CO2 environmental monitoring quite well. For this I considered Sensirion SEN55 witch requires 5 V supply. PM measurements require much greater power compared to CO2 sensor, but as will be shown in the next section, careful power management would allow also PM measurements.
Power budgetingFor the power budgeting I collected the information of the main chosen components and determined what would be average power consumption. Below is an overview of the values considered.
Sensirion SCD-30 C02: for 30s measurements consumes 5.6mA at 3.3V = 18.5mW
Infineon DPS310: for 1s measurements consumes 3uA at 1.8V = 5.4uW
nRF9151: based on nRF9160 OPP 1min data transfer and GPS 41.07uA at 3.7V = 152uW
nRF52820: advertising 30s 31byte advertising 9.8uA at 3V = 29.4uW
FLASH: standby 13.3uA at 3.3V = 44uW
---------------------------------------------------------------------------------
Combined power draw is = 18.8mW
nPM1300: efficiency 95%
---------------------------------------------------------------------------------
Total consumption from battery = 18.8mW/0.95 = 19.8mW ~ 20mW
As can be seen from the calculations CO2 measurements has the biggest contribution to the power consumption.
We would want to use a battery that would allow long run time without any sunlight when the solar panel would not power the system. If we chose readily available large capacity 3500 mAh Li-Ion battery in the 18650 housing we get the flowing calculations:
Li-Ion battery: 3500mAh at 3.7V = 12.95Wh
Total consumption from battery = 20mW
---------------------------------------------------------------------------------
Continuous run time on battery = 12.95Wh/20mW = 647,5h ~ 27days
As seen from the calculation the system would run for around 27 days on just the battery.
We must also determine how long does it take for the solar panel to charge the battery. After some considerations, I have chosen Adaruit 5V 1.2W solar panel. The panel has open circuit voltage of 7.09 V with short circuit current 0.22 A. Peak power voltage is 6.07 V and 0.2 A of peak current. That gives us maximal power of 1.22 W. The calculation for charging goes as follows.
Solar panel = 1.22W
LTC3130: efficiency = 95%
TPS2116: on resistance = 37mOhm
Operation consumption = 20mW
Full battery charge = 12.95Wh
---------------------------------------------------------------------------------
Power after LTC3130 = 1.22W*0.95 = 1.159W
Current from LTC3130 = 1.159W/5V = 0.2318A
Loses on TPS2116 = 0.2318A*(37mOhm)^2 = 0.32mW
Charging power = (1.159W-0.32mW-20mW)*0.95 = 1.08W
---------------------------------------------------------------------------------
Time to fully charge the battery = 12.95Wh/1.08W ~ 12h
From the calculation we can see that the battery can be charged well within the time that the system can run only on battery power without any solar power. It is to be noted that the solar panel would not charge for 12 h straight even in the best conditions because of the night time. Even though some charge could be collected from other light sources.
If we add to the calculations also the PM measurements to the mix. We first get the result which is not promising but if we reduce the time we do the PM measurements we can greatly extend the run time. The calculations are below.
Sensirion SEN55 PM: 63mA during 1s measurements at 5V = 315mW
Other power draw = 20mW
All regulators efficiency = 95%
Li-Ion battery = 12.95Wh
---------------------------------------------------------------------------------
Combined draw = 315mW+20mW ~ 335mW
From battery = 335mW*0.95 = 353mW
Continuous run time on battery = 12.95Wh/353mW = 1.5days
---------------------------------------------------------------------------------
Sensirion SEN55 PM: 2.6mA during low power at 5V = 13mW
SEM55 measurements 25% = 15min/1h
---------------------------------------------------------------------------------
Combined draw = 335mW/4+33mW*3/4= 108,5mW
From battery = 108,5mW/0,95=114,2mW
Continuous run time on battery = 4,7days
---------------------------------------------------------------------------------
SEM55 measurements 10% = 6min/1h
---------------------------------------------------------------------------------
Combined draw = 335mW/10+33mW*9/10 = 63,2mW
From battery = 63,2mW/0,95 = 66,53mW
Continuous run time on battery= 8,11days
From the calculation we can conclude that if we would do PM measurements constantly the sensor would run without solar power for only 1.5 days and would as such constantly run out of battery power. But if we reduce the number of measurements we could extend this to a manageable time of over one week. This will be one of the things I would like to look into in practice with real experiments on the hardware.
SchematicsI designed the Remote Frog PCB schematic in the KiCad open source tool (Version 9.0 was used). I used a great library with Nordic parts (https://github.com/hlord2000/nordic-lib-kicad). In this section I will go trough the schematics and comment on some design choices and provide instruction for how the board would be used while highlighting the changes from the proposed design.
Below is the overview system schematic. I split the system in smaller parts. The sections are for USB, solar regulator, power management, sensors connection, nRF9151 and nR52833 (instead of nRF52820).
I designed the system to be as configurable and easy to debug. In my experience there is always too little test points and jumpers when you are bringing a new board to life. Compared to the proposal I added lines to be able to debug nRF9151 with nRF52833 which would greatly simply the development in addition to providing UART to USB bridge. As there are four lines connecting the two SoCs one pair can be used for terminal and the other for modem trace. There are also some additional test points compared to the proposal and placeholders for mounting holes. The design allows using the board with only the nR52833 which could be useful for other projects.
For the first subsection we can look at the solar panel regulator based on LTC3130.
On the upper left of the schematic there is the solar panel connector and in the middle the buck-boost solar power regulator. In this case, the main two important details are the MPP tracking and output voltage resistor deviders. Other parts are based on the datasheet. The MPP tracking in this regulator is MPPC (maximum power point control). It is not as good as real MPPT in other offerings, because it works on a preset voltage value determined with the voltage divider at the input. The designed values are for the chosen solar panel with 6.07 V peak power voltage. The other one is the output voltage which I set to 4.4 V, so that the power switch discussed in the next section would prioritize USB 5 V power.
Compared to the solar regulator schematic in the proposal not much is changed. Some jumper resistors were replaced with solder jumpers and some capacitors reordered which are not needed to reduce footprint while adding some for placeholders if additional capacitance would be needed at the input. The biggest change is the additional option to power the EXTVCC pin from one of the switches of the nPM1300 shown below, which reduces the minimal voltage at the input to start the regulator.
Below is the power management schematic with nPM1300 and TPS2116.
From the upper left there are the two input power options of solar and USB power. The TPS2116 is set to prioritize the USB power source if bot are available. The output of the TPS2116 powers the nPM1300. I used both buck regulators. They would be normally set to run with 3 V. Here there are some changes to the initial design. VOUT1 is used for powering nRF9151 IO, nRF52833 and nPM1300 IO while the VOUT2 is used for supplying power to the external sensors and as such can be disabled to conserve power. The change was made because most cases would require to power both SoCs together and if one is not needed it can be simply not populated. From the VOUT1 I also rout the power trough both of the nPM1300 switches. One will be used to power GPS external active antenna and the other one to power sensors connected the mentioned EXTVCC pin of the solar regulator.
USB detection is made using TPS2116 and is connected to nPM1300 pin that can be used to detect the change and signal to the main SoC. Similarly this is done for power good signal from solar regulator. The imput signals on the nMP1300 pins are also for toggling the GPS power switch and an output for interrupting the main SoC. I predicted both buttons for shipping functionality but will probably not be used in a final application and places for the LEDs that would be used in the debugging steps and could be later left unpopulated.
On the lower left there is the battery section were there is an option to connect a battery trough a 2-pin, 3-pin connector or use 18650 in a holder on the PCB where I added circuit for protection. There I placed jumpers to circumvent the protection if it would cause problems. This is one part that would have to be tested first in practice.
On the right bottom is an additional 5 V boost regulator for powering the SEN55 PM sensor. If not used, it can be powered down with enable pin or not populated at all.
The USB schematic contains only the protection and filter with the USB C connection. Data lines go to nRF52833 and the CC to the nPM1300. The communication with nRF9151 will be trough nRF52833 using UART. This would be used for debugging, upgrading firmware of the device and modem trace as well as looking in logs or downloading locally saved backup data. The nPM1300 will configure the USB charger for higher power trough CC lines, which could be used for the initial battery charging before deploying the system. The only change from the proposal is the updated protection symbol.
Similarly there is not much to say about the schematic with connectors for the sensors. Upper 4-pin connector is the STEMMA QT/Qwiic connector with default power of 3 V but there is also a jumper to select 5 V power if needed. Below is connector for SEN55. It can be unpopulated if not used. Bot connectors use voltage level shifting for I2C which allows to power off the supply to the sensors. I added jumpers to bridge the level shifting as in some cases is not needed and could preserve some power draw. Power selection was added also for the 6-pin connector.
Lastly we can look at the MUC schematics. We start with the main SiP nRF9151.
The SiP is powered from the VSYS form nPM1300 and by VDD from VOUT1 which is 3 V. On the right there are connectors for both antennas. GPS connector has power applied to it for the external active antenna. The antenna used are APKD1507G2-0100S and the antenna for LTE is BTPA0061204G0C4A04. They are similar as the initial design and can be interchanged with others depending on the availability.
On the bottom right there is connector for SWD debugger with the same header to be used with nRF development boards. The SWD signals are also connected to the nRF52833. On the right there are symbols for FLASH and Nano SIM card holder. The SIM card holder connected trough protection. In this case it can be observed that some rerouting of the signals was done for easier routing of the PCB. Additionally, signals were routed to a trough-hole connector for future project.
Signals from the MCU to other sections are for I2C, interrupt from nPM1300, UART connection to the nRF52833, GPS enable and 5V enable.
nRF52833 has most of the data signals from the nRF9151 but some are not used by default as explained previously. Compared to the initial design signals were added for SWD debugging the nRF9151. I chose the components by the datasheet recommendations when using for power supply from VDD, USB connection and the use of the internal regulator. I added the PCB antenna as the production costs of such PCB would remain the same and could be used in the future. Compared to the initial design the SoC was changed to nRF52833 and signals rerouted for easier PCB routing. In addition NFC capability was also added. The antenna design was updated for a specific chip antenna.
As there are a lot of signals to be routed I decided to design a 4-layer board. I prepared the KiCad board setup where I defined the PCB layer stack as defined by PCBWay for one of their normal 4-layer production options for 1.6 mm thick boards. I also added the design rules provided by PCBWay for their standard processes to be able to manufacture the PCB and to not make the production more expensive.
The upper layer is used for signaling and some power lines. Inner 1 layer below the top one is dedicated to ground that would help especially with RF signals. Inner 2 layer is used to distribute the power. The bottom layer is used for signaling and some power distribution.
I used 6 mils lines for signal routing and wider lines for power routing where I also added filled zones to have even wider power terraces. For vias I mostly used 0.2 mm holes with 0.5 mm via diameter. For line spacing I used 6 mils.
For the first step I roughly positioned the components based on their subsystem schematic to group related components. I wanted to position everything in a small overall footprint so I decided to position the battery holder, buttons and LEDs on the bottom layer. The battery holder is a trough-hole component so it is in any case soldered last and as such doesn't make the production much more expensive. The buttons and LEDs would in most cases not be populated, so the board can be assembled form only the top side where the rest of the components are placed. Most of the component are SMD components except the connectors for solar panel and batteries. These are the JST-PH series 2-pin and 3-pin connectors.
First it is good to position the connectors. I positioned the connectors to the edge of the board for easier connection and they are right angled. At the left side there are the JST-PH connectors for the battery and solar panel. On top edge to the left are sensor connectors (STEMMA QT/Qwiic) JST-SH. In the middle of the top edge is the nano SIM holder and on the top right the U.FL (IPEX MHF I) connectors for the external LTE and GNSS antenna. These should be positioned away from other connectors to reduce interference. On the bottom edge there is the USB-C connector.
Based on the connector positioning others components fell quickly into place.
nRF9151 is one of the crucial components and is placed near the LTE and GNSS antenna connectors. With other components placed by the reference layout. The FLASH chip and nano SIM card holder don't have long lines in this placement.
The other crucial component is nRF52833 with its chip antenna that must also be positioned at the edge of the board. I placed the BLE antenna on the bottom right corner. The nRF52833 is placed near the antenna to not have long connection line and other traces are routed as far away as possible from the chip matching network, 50 ohm connection trace and the antenna itself with its matching network. In this layout the USB differential data lines are not that long to the USB-C connector. Other components are placed by the reference layout.
The debug connectors are placed to the edge of the board in convenient places so that they can be connected to nRF development board for programming.
As the nPM1300 distributes the power and has additional signal connection it is placed in the middle of the board. The rest of its required components are placed based on the reference layout while focusing on the placement of BUCK components.
The solar regulator is placed near the the connector for the solar panel on the left of the boar and 5 V regulator near the 6-pin sensor connector on top. The power switch is on the bottom left connecting USB and solar regulated power to the nPM1300. Here the the battery protection circuitry is also placed.
Level shifters are positioned near the sensors connectors.
The battery holder is placed on the bottom, considering the holes needed so that the signal lines on the top are not disturbed. Lines from the holder terminal are widened to be able to carry more current and not overheat too much. On the bottom side there is also a place for thermistor that would monitor the 18650 cell temperature as the cells are mostly without protection.
On the back side I positioned also most of the solder jumpers and some test points for debugging.
Mounting holes are positioned on upper corners and one more in the middle of the board. Other parts of the PCB are taken by the battery holder.
I rounded the board edges and added inward cuts where USB-C connector and nano SIM holders are placed, so no part of the board is sticking out of the PCB. The outer dimensions of the board are 86x55 mm. The height of the front components is 8 mm because of the connectors and the back 20 mm when the 18650 cell is installed. The mounting holes were designed for M2.5 screws.
One of the critical design for this PCB is the design of 50 ohm lines connecting BLE, GNSS and LTE antennas. Based on the KiCad impedance calculator for the coplanar wave guide with ground plane and the PCB layer stack the width of the 50 ohm line was determined as 0.31 mm.
Before manufacturing I gave the design for review on Nordic DevZone where it was reviewed by Ketil Aas-Johansen and to competition judge Helmut Lord. The process was very quick and would like to thank both for fast and detail review. There were no critical concerns. One of the suggestions was to place BLE matching components even closer to the nRF52833 and another to provide option to use EXTVCC pin on the solar regulator.
The design file are available in GitHub RemoteFrog-PCB repository.
PCB manufacturing and assemblyAfter I completed the PCB design and updated the suggestions from reviewers I placed an order on PCBWay. I ordered the PCBs to be done with impedance matching to have better RF properties for the antenna connections.
The engineers for manufacturing suggested some additional changes. First was to remove solder mask around the pads of nRF52833 as the space is too small of just 0.15 mm. The second was to remove solder mask on the in-pad thermal vias to not cause solder mask blobbing during soldering.
Another issue was with the battery thermistor where I designed holes to thermally isolate it from the rest of the system. The holes were placed on the board edge cut gerber layer and had to be removed as the edge routing is not precise enough. The holes would have to be placed on the non plated trough holes drill layer.
And finally there were concerns with soldering of nRF9151 with its small inner pads. For this case at least immersion gold (ENIG) was suggested, which makes the manufacturing a bit more expensive. To reduce the complexity of soldering the nRF9151 there is a note in the Nordic's documentation that suggest masking the solder stencil for these small pins. One additional option cold be to fully remove the solder pads on the PCB footprint to reduce the chances of solder bridging.
Last two issues are not critical but can be addresses in the next revision.
As the manufacturing lead time for the assembled boards was around a month I placed an order for 10 PCB boards of which 5 would be assembled and one additional solder stencil.
The unpopulated boards and the stencil were manufactured in a week after payment. 5 boards and the stencil were shipped to me where I tried to assemble one board and start debugging it.
When I received the unpopulated PCBs, I was able to solder most of the components myself except for the nRF9151 for which you have to have a bit more practice. But even for the other component you have to have quite a lot of experience and at least hot air soldering station. For soldering the nRF9151 heated plate or oven would be a better option. In any case I was able to start testing the board and as it turns out this one was also useful for development.
The rest of the boards were assemble and shipped in a month.
During the manufacturing process the PCBWay provided the option to verify the PCB stack and the assembly process focusing on the component orientation. Both went without problems.
The final price of for 5 unpopulated PCBs, 5 assembled with the components and the solder stencil was $622.66 (without taxes and delivery). Price for one assembled board is $108.24.
In this section I will present the BOM to assemble the Remote Frog board and the complete device for the Ribbit Network operation. Many components would be reused from the original Frog kit to assemble the complete device, so here I will focus on the differences.
The main component will be the Remote Frog PCB assembly. Based on the PCBWay online tool for a 4 layer 10cmx5cm PCB the initial online quote was $25.97 for 5 boards that is $5.2 per board. This is a bit lower then the final version especially as the initial did not consider impedance matching and ENIG.
To fully assembled a single board, the components from online distributor in the initial version would be $72.74 and for the final version $75.37 mostly because of exchanging to nRF52833 and some additional connectors. The complete BOM is attached at the end. The combined price for one final design of the board with non-assembled PCB is $89.67 compared to the proposal version $78 and the $108.24 of the assembled board. The prices are in the general range where with the assembled boards you have the least problems but will have to wait a bit longer.
Additionally you need GNSS and LTE antennas, Li-Ion 18650 battery, solar panel and optionally SEN55. To finish everything you would need some wires, connectors and solder paste if you would assemble the board yourself. Here is the complete list with prices.
Remote Frog assembled PCB: $108.24
GPS antenna: APKD1507G2-0100S: $9.03
LTE antenna: BTPA0061204G0C4A04: $1.67
18650 3500mAh battery locally sourced: $15
Adafruit 5368 ETFE-Voltaic P124: $14.95
material for assembly: $10
---------------------------------------------------------------------------------
combined: $158,89
removed compared to original Frog Sensor
---------------------------------------------------------------------------------
Adafruit 4415 GPS: $29.95
Adafruit 4432 ESP32-S3: $17.50
power supply: $7.95
USB 90deg connector: $3.95
---------------------------------------------------------------------------------
combined: $59.35
additional sensor
---------------------------------------------------------------------------------
Sensirion SEN55: $27.38
The new design of Remote Frog is $99.54 more expensive compared to the original which is a reasonable price for a custom board and equipment which provide many new features.
PCB testingFor the initial testing of the Remote Frog I used the hand assembled PCB.
Firs I checked for shorts on power lines and important signal traces. When everything looked OK, I power the board with USB and checked the voltages. The VOUT1 regulator was outputting 1.76 V which is the same as on the nPM1300 development board when setting it to 1.8 V.
Then I tested the switching of the power switch by powering the board with the combination of USB and trough a bench power supply in place of the solar cell. Everything works as expected. When the power switch is switching between the external supplies the nPM1300 shortly looses power. This is avoided when battery is present and with such setup you can have small UPS system.
The I tried programming the nRF52833 with the nRF9151 DK board. I set the voltage of the DK board to 1.8 V to be compatible with the unchanged nPM1300 VOUT1 voltage on the Remote Frog. I tried some simple "hello world" samples with blinking and terminal trough USB. For the development I used the nRF Connect SDK with Zephyr in Visual Studio Code. The examples worked and I tried also the BLE example but unfortunately the BLE is not functional most likely because the antenna matching would have to be tuned.
When the assembled boards arrived I again tested for short circuits and checked voltages when applying external power to USB, battery and solar connector.
Then I programmed the nRF52833 with an UART to USB bridge program where I combined two samples from the Zephyr repository. I also wanted to incorporate the SWD debugger example CMSIS-DAP in the same project but there is some problem with the it where Windows would not recognize the USB device so I was not able to combine the examples.
The SWD debugger sample works when disabling BOS so I was able to program the nRF52833 on the hand assembled board which is missing the nRF9151 and use it as a debugger on for the nRF9151 on the PCBWay assembled boards while using the onboard nRF52833 for UART to USB bridge. I extended the bridge functionality so two UARTs are can be bridged at the same time. One can be used for terminal for nRF9151 and the other for modem trace.
Based on this setup I first tried echo example on the nRF9151. Which worked without problems for both UARTs in parallel.
For the above cases I used board definitions for nRF52833 DK and nRF9151 DK in zephyr projects and created overlays for the pins used on the Remote Frog.
Then I tried to set up the nPM1300 based on the configuration from nPM Power UP app. The controlling SoC is nRF9151 for which I prepared the overlay file with the nPM1300 configuration. I set both VOUT voltages to 3 V enabled battery charging (with current limit for protection) and enabled switch for EXTVCC on the solar regulator and set up other switch to be controlled by GPS_EN pin from the nRF9151.
With this setup I was able to test the battery charging and solar power regulator. To test the solar power regulator I connected it to a bench power supply and slowly increased the voltage the maximum current draw was reached the designed MPP of 6 V. To draw enough current was possible as the battery started charging at the same time. I also tested the setup with a solar cell exposed to the sun and the regulator output voltage was measured around the designed 4.4 V and battery started charging.
Additional test program was used to test GPIOs and test connections to the sensors. For this case I modified minimal sample and added shell functionality. Based on this program using the command "i2c scan i2c2" I detected the addresses 0x61, 0x6b and 0x77 of SCD30, DPS310 and nPM1300.
The software samples used are accessible on GitHub RemoteFrog-SW repository.
Program for final applicationTo develop software even further I then tried to flash the nRF9151 with the at_client nRF cellular sample. At first I had some problems as the modem was not functioning properly. Then I realized that as it is a new chip the SiP is contains only the test firmware which has to be updated. When the update was done the at_client sample started working with the combination of Cellular Monitor. The other thing needed was to set UART frequency of the trace monitor to 1 M baud rate.
From the information collected in Cellular Monitor app it looks like the nRF9151 and the LTE antenna is functioning correctly. The example is available at RemoteFrog-SW repository.
The next steps would be to test the cellular multi-service nRF example and try to sample data from the sensors and send them to the nRF cloud.
Future plans and conclusionRemote Frog is a platform that can be used in numerous interesting projects. During the development and testing I learned a lot of new things and at the same time worked on a real world application with the focus of low power cellular communication and providing important environmental measurements to better monitor the climate change.
During the project I got a lot of new experience using KiCad and Zephyr RTOS in combination with Nordic tools and repositories.
The board bring-up worked better than expected as no mayor issues were identified. Only the nRF52833 BLE antenna would most likely have to be tuned and as mentioned there could be some modification to the board for easier manufacturing.
There are still some work that can be done to better integrate the Remote Frog in Ribbit Network. As the board is a bit bigger than the ESP board used in the original Frog design, the enclosure will have to be enlarged and at the same time the solar cell can be integrated as initially proposed.
On the basis of the developed software the final application can be designed to integrate Remote Frog into the Ribbit Network. There should be also a more detail investigation into the power consumption as with the initial testing it was a bit higher than expected in the range of 1 mA. This is most likely because of not optimized code especially UART bridge functionality.
There are still some hidden features that can be explored on the Remote Frog like the extra signals routed to an trough-hole connectors and the SEN55 integration. But this is for the future projects where I have quite a few additional ideas that could be done with the new Remote Frog boards.
Comments
Please log in or sign up to comment.