Click here for the Circuit Cellar article code archive
p.6: Multi-Sensor Device Measures Water Pollution: The UnifiedWater Project, By Andrei Florian
References:
[1] UnifiedWater GitHub repo: https://github.com/Andrei-Florian/UnifiedWater
[2] Arduino MKR GSM 1400 https://store.arduino.cc/usa/mkr-gsm-1400
[3] 3.7v 1,800mA-hour LiPo battery https://www.aliexpress.com/item/33003958131.html
[4] GY-21 Temp and Humidity https://www.aliexpress.com/item/32817622663.html
[5] Water pH Sensor https://www.aliexpress.com/item/1005001483248686.html
[6] Water turbidity Sensor https://www.aliexpress.com/item/4000344783860.html
[7] Water temperature Sensor https://www.aliexpress.com/item/4000068914916.html
[8] Neopixel ring https://www.adafruit.com/product/1463
[9] Hologram Sim https://www.hologram.io/
[10] Solar panel module https://www.aliexpress.com/item/4000786381954.html
[11] Create a Microsoft account https://signup.live.com/?lic=1
[12] Create a free Azure account https://azure.microsoft.com/en-us/free/
[13] https://apps.azureiotcentral.com/myapps
[14] https://github.com/kartben/contoso_asset_tracker
[15] https://www.arduino.cc/en/guide/libraries
Adafruit | www.adafruit.com
Microsoft Azure | www.azure.microsoft.com
p.18: Giga-Bug: A Retro Game Revamp: Using Raspberry Pi and Python, By Chris Cantrell
References:
[1] GitHub repo for project: https://github.com/topherCantrell/pixel-megabugs
[2] Adafruit Panel (BOM): https://www.adafruit.com/product/2276
[3] Adafruit RGB Bonnet (BOM): https://www.adafruit.com/product/3211
[4] Henner Zeller’s Pi-Display-Driver Repo: https://github.com/hzeller/rpi-rgb-led-matrix
[5] https://learn.adafruit.com/adafruit-rgb-matrix-bonnet-for-raspberry-pi
[6] Power Supply (BOM): https://www.amazon.com/gp/product/B07G7S44CW
[7] SAFFUN generic USB controllers (BOM):
https://www.amazon.com/iNNEXT-Controller-Joystick-Gamestick-Raspberry/dp/B01N7ANDLC
[8] Disassembled Meg-Bug Assembly Code: http://computerarcheology.com/CoCo/Megabug
Adafruit | www.adafruit.com
OSH Park | www.oshpark.com
Parallax | www.parallax.com
Raspberry Pi Foundation | www.raspberrypi.org
TAP Plastics | www.tapplastics.com
p.24: Smart Gardening System Uses Raspberry Pi: The GardenPi Project, By Richard Sears
Scroll down to the end of this page for an APPENDIX with additional interface screenshots.
Get the Garden Pi schematic on the Circuit Cellar Code and Files Download page.
Reference:
[1] GardenPr GitHub repo: https://github.com/rjsears/GardenPi
Author’s note: Icons used in GardenPi: When you build an interface, how it looks it very important. I would not have been able to have such a nice-looking interface without a lot of cool icons. These icons were mostly free and came from FlatIcon.com. Check them out!
Check them out!
Bosch Sensortec | www.bosch-sensortec.com
Adafruit | www.adafruit.com
Davis Instruments | www.davisinstruments.com
Emoncms | www.emoncms.org
Flaticon | www.flaticon.com
Front Panel Express | www.frontpanelexpress.com
Maxim Integrated | www.maximintegrated.com
Polycase | www.polycase.com
Raspberry Pi Foundation | www.raspberrypi.org
SainSmart | www.sainsmart.com
Samsung | www.samsung.com
p.38: DDR4 DRAM 101: How it Works, By Nishant Mittal
References:
[1] JEDEC spec: https://www.jedec.org/category/technology-focus-area/main-memory-ddr3-ddr4-sdram
[2] https://www.nxp.com/files-static/training_pdf/VFTF09_AN108.pdf
[3] https://www.systemverilog.io/ddr4-basics
[4] Micron datasheet : https://www.micron.com/-/media/client/global/documents/products/data-sheet/dram/ddr4/16gb_ddr4_sdram.pdf
JEDEC | www.jedec.org
Micron Technology | www.mircon.com
p.42: Compact, Reliable Solutions Feed Digital Signage Needs: Small Systems for Big Displays, By Jeff Child
AAEON | www.aaeon.com
Advantech | www.advantech.com
Arbor Technology | www.arbor-technology.com
Axiomtek | us.axiomtek.com
EFCO | www.efcotec.com
Ibase Technology | www.ibase.com.tw
Intel | www.intel.com
Nexcom | www.nexcom.com
OnLogic | www.onlogic.com
p.49: MCU Software Solutions Evolve for Today’s Needs: Support for AI, IoT and More, By Jeff Child
References:
[1] Microchip’s Ensemble Graphics Toolkit is available at no cost and royalty free for all users and includes full support from Microchip. It is based on the permissive Apache 2.0 open-source license. Training and support are available worldwide at www.microchip.com/EGT
[2] The I-CUBE-OCTMI is available under commercial license with free usage for evaluation and non-commercial purposes. https://intelligence.octonion.com/st-expansion
[3] Espressif Github https://github.com/espressif/esp-homekit-sdk
[4] ESP HomeKit SDK integration example: https://github.com/espressif/esp-rainmaker/tree/master/examples/homekit_switch
Espressif Systems | www.espressif.com
Infineon Technologies | www.infineon.com
Microchip Technology | www.microchip.com
NXP Semiconductors | www.nxp.com
Octonion | www.octonion.com
Renesas Electronics | www.renesas.com
ST Microelectronics | www.st.com
p.54: DATASHEET: Power/Battery Management ICs: Perfecting Power, By Jeff Child
Analog Devices www.analog.com
Dialog Semiconductor www.dialog-semiconductor.com
Infineon Technologies www.infineon.com
Maxim Integrated www.maximintegrated.com
Microchip Technology www.microchip.com
NXP Semiconductors www.nxp.com
Renesas Electronics www.renasas.com
ST Microelectronics www.st.com
Texas Instruments www.ti.com
{DATASHEET URLS:
Analog Devices www.analog.com/media/en/technical-documentation/data-sheets/adbms1818.pdf
Dialog Semiconductor www.dialog-semiconductor.com/sites/default/files/da9130-a_datasheet_1v0.pdf
Infineon Technologies www.infineon.com/cms/en/product/battery-management-ics/tle9012aqu
Maxim Integrated https://datasheets.maximintegrated.com/en/ds/MAX77655.pdf
Microchip Technology https://ww1.microchip.com/downloads/en/DeviceDoc/20006388C.pdf
NXP Semiconductors www.nxp.com/products/power-management/pmics-and-sbcs/safety-sbcs/safety-system-basis-chip-sbc-with-low-power-fit-for-asil-d:FS26
Renesas Electronics www.renesas.com/us/en/document/sds/isl78714-data-short
STMicroelectronics www.st.com/resource/en/data_brief/stwlc88.pdf
Texas Instruments www.ti.com/product/BQ25792
p.58: EMBEDDED IN THIN SLICES: FreeRTOS (Part 2): FreeRTOS Tasks, By Bob Japenga
References:
[1] https://www.pnas.org/content/pnas/115/40/9889.full.pdf “Minds and brains of media multitaskers: Current findings and future directions” Statements like this in their conclusion “in general, heavier media multitaskers often exhibit poorer performance in a number of cognitive domains” make one sit up and take notice.
[2] Reference 1 adds: “many studies report[ing] no performance differences between groups”
[3] October 28th, 2018 article in the Stanford News https://news.stanford.edu/2018/10/25/decade-data-reveals-heavy-multitaskers-reduced-memory-psychologist-says
[4] https://www.freertos.org/fr-content-src/uploads/2018/07/161204_Mastering_the_FreeRTOS_Real_Time_Kernel-A_Hands-On_Tutorial_Guide.pdf This is a very good and helpful tutorial.
[5] Embedded in Thin Slices: Part 1 of the FreeRTOS series in Circuit Cellar December 2020 Issue 365
[6] Check out this email from the creator of Linux Linus Torvalds https://www.evanjones.ca/software/threading-linus-msg.html
[7] Embedded in Thin Slices: Concurrency in Embedded Systems (Part 5)” (Circuit Cellar 271, February 2013)
[8] See https://www.misra.org.uk/Publications/tabid/57/Default.aspx for a great set of documentation for developing safety critical embedded systems
FreeRTOS | www.freertos.org
p.62: THE DARKER SIDE: Understanding Proper PCB Design (Part 1): 4-Layer Board Design, By Robert Lacoste
References:
[1] “Ground Planes: Rules Good, Bad and Ugly”, Circuit Cellar 335, June 2018).
https://pcb-solutions.com/blog/pcb-market-monitor/the-history-of-pcb-infographic
https://en.wikipedia.org/wiki/Printed_circuit_board
Proteus CAD suite
Labcenter
www.labcenter.co.uk
ViewMate Gerber viewer
Pentalogix
www.pentalogix.com
KiCad open-source CAD suite
https://kicad.org
KiCad | www.kicad.org
Labcenter Electronics | www.labcenter.com
Pentalogix | www.pentalogix.com
p.70: FROM THE BENCH: Crafting a Custom Dictionary: Using Liberty BASIC, By Jeff Bachiochi
Noah Webster and George and Charles Merriam – www.merriam-webster.com
.dic and .aff files – www.openoffice.org/lingucomponent/dictionary.html
“Automating Sudoku” (Circuit Cellar 189, April 2006)
Liberty BASIC | www.libertybasic.com
p.79: The Future of Mesh Networking: Wireless Networks for Tomorrow’s Safety Challenges, By Angela Quinn
Rajant | www.rajant.com
APPENDIX
Additional interface screenshots for article Smart Gardening System Uses Raspberry Pi: The GardenPi Project, By Richard Sears
Both sources available:

In the next picture, our fish water tank is empty but since the system is set to Automatic, irrigation jobs can still run:

Here we have taken the source selection out of automatic and set it to only use Freshwater:

Here we have set the source to be Fish Water and because there is no fish water available it shuts down the system:

Fish Source is Unavailable

On the main screen, it also gives us a warning that we have no available water and when you enter an irrigation zone, it tells you the same thing:

You will also notice that the “Manual Run” option is also unavailable on the above screen.
Zone Running Information
When a zone is running, the system provides you with visual clues to let you know what is happening and provides you with different options including the ability to “force stop” a zone job. Here we see that a zone is running:

It looks like Zone Four is running right now:

And when we enter zone four, not only do you see we have the option to stop the zone from running but at the bottom of the screen you can see water utilization information including GPM, total gallons this run (at zero since the job just started) and total gallons for all time. You lose your ability to do any schedule or notification changes when the zone is running since it could affect the currently running zone:

Once the zone stops running, the menu goes back to normal:

Water Utilization Information
If you have smart water monitoring installed in your home and are using it, when zones are running you will see water utilization information like you see above, otherwise, it will just show zero. In addition to the individual zones showing this information, the system shows it for all zones:
Go to system tools from the main menu and select the “Water Stats” menu item:

Notifications
Systemwide notification settings set what types of notifications are available systemwide. Depending on what you would like to use you can choose between E-Mail, SMS text messaging ($$ via Twilio), or Pushbullet.
You can enable or disable them on-demand:


And if notification is disabled at the system level, it also will not be available anywhere else in the system that utilizes notifications, in fact, it won’t even show up as an option. Here SMS is disabled systemwide and it is not available as an option:

Environmental Monitoring
As we previously mentioned, we track a lot of different environmental sensors. To the extent necessary, we can also provide notifications on those readings.
Here is our environmental screen:

Here we can decide what to monitor and what alert setting to use for the notifications:

When you make any changes to the notifications settings, you are given a flash “success” message letting you know that the new settings have been entered into the database.

Power Monitoring
Just like our environmental monitoring, we also monitor power utilization on both our 5V bus and our 120V circuit. We monitor voltage and currently mostly but also provide 5V bus power and DC shunt voltage readout as well thanks to our DC wattmeter installed on the system:

And again, we can set our notifications and alert settings:

RODI Control
The last thing available in Version 1.0.0 of GardenPi is the ability to monitor the capacity and temperature of our RODI water tank. We utilize RODI water as the base water for our fish tank water changes.

Circuit Cellar's editorial team comprises professional engineers, technical editors, and digital media specialists. You can reach the Editorial Department at editorial@circuitcellar.com, @circuitcellar, and facebook.com/circuitcellar