, , ,

A YIPPEE! moment…I just sent the LadyBug Shield Alpha V1 to OshPark.  


A new chapter – just in time for the New Year – is beginning for this project.  In the next few months, I plan to eat my own dog food.  I will use LadyBug Shields to help me hydroponically grow lettuce and herbs.

The Kicad files for the schematic and layout of the LadyBug Shield Alpha V1 is located at this Github repository.

Thanks To Those That Went Before

I am very grateful for the people and projects that have provided influence in my journey/practice with electronics.  It continues to amaze me how much learning material and learned folks are within my reach.  Thank you.

  • I continue to – and will always be – thankful to Chris Gammell.  His exceptional Contextual Electronics courses as well as his mentoring is a big part of the reason I can even put together the LadyBug Shield!
  • I have recently neglected to thank Ryan (Sparky’s Widgets) for his OSHW minipH and miniEC projects.  I spent a great deal of time learning through his schematic and discussions about his design.  Ryan has been very supportive, providing feedback and guidance when I asked for help.
  • I have used OshPark for PCB fabrications many times this past year.  Their attention to customers (me in this case 🙂 ), the quality of what I receive is a tremendously positive experience.  OshPark – you are an exceptional company built on great people and terrific customer service.  Thank you.
  • I thank Adafruit for their awesome forums and technical support, well designed breakout boards, and exceptionally well done tutorials that include everything needed to get a circuit using the BOB running – including Arduino libraries.  I’m finding when I need to meet a scenario with a chip – say an ADC like the ADS1015 or codec like the VS1053 – to check what Adafruit has chosen for their BOBs.  

Steps Taken Prior to Fabrication

Getting the Shield ready for fabrication took many steps.  I tried to apply lessons I have learned over the past year.  I realize this is probably a stretch, but my goal is to use this board without modifications within a hydro system.  This is a very aggressive goal which given my past experiences in all likelihood I will not make, but for now I stand by this goal.

The steps I took include:

  • combining the Healthy pH and EC shields onto one board.  While doing this, I changed aspects of the design that I thought needed to evolve within a sub-circuit.  
    • I had planned to use a separate power supply for the analog power.  I changed this to use Vin of the Arduino and pass the Vin signal through a voltage regulator so that circuits enjoy 5V regulated power.  This also caused me to move to the back copper GND plane layout.
    • As I got to understand the ADC – both core features and what is needed for converting the analog voltage values of the sensors to digital values – I switched ADCs.  Twice.  The first ADC I used was the MCP3901.  This is one powerful ADC!  It uses SPI to communicate with the Arduino.  Both SPI and the MCP3901’s rich feature set was more than what was needed for the shield’s scenario.  I found I was spending more time than I should on the SPI code and understanding how to use the MCP3901’s rich feature set.  I ultimately settled on the ADS1015.  I was very happy to be able to use this one chip for two differential ADC readings (pH and EC) as well as one single-in reading (thermistor).
    • I changed the diodes to a 1N448.  The packaging was a bit smaller and less expensive.
    • Instead of two separate VGNDS to handle one power supply for the op amps, I consolidated to a 2.5V VGND.  This should work for both EC and pH readings.
  • putting the BNC connectors for the pH and EC probes on the shield.  I was avoiding this because the BNC connectors take up a significant chunk of real estate on the board, and also are incredibly expensive at quantities less than 1,000.  Yet, as I tested the pH and EC circuits, I was not happy with the signal noise introduced when the BNCs is not connected to the board.  I extended the shield off the back to accommodate.  I haven’t tested this yet.
  • check the circuit design against the layout of each schematic to see if there are any D’OH moments.  The circuits include:
    • power
    • pH
    • EC
    • Thermistor
    • Digital Access (ADC)
    • Pumps
  • check the copper layer Gerber file and the drill file.  Sometimes there are traces going nowhere that error checking doesn’t pick up on.
  • send the Gerbers to freedfm to find additional errors in the layout.  I only address “potential show stoppers”
  • print out a copy of each footprint that I haven’t soldered on a board yet and overlay “the real thing” to make sure the footprint is correct for the component.  I totally messed this up in previous efforts.  The components in question are the ADS1015, SOD-123 Diode packaging, the BNC connectors, and the 6 and 2 Terminal Block connectors.  CAUGHT IT!  The footprints were off for the BNC connectors as well as the 6 and 2 terminal block connectors.  Throughout this project, I’m finding connectors to be the components that are most likely to have the wrong footprint.
Here is an image of a print out of the front copper layer:


I then found it easier to print out the footprint when in the library editor of PCBNew:


  • run the Gerbers and drill file through freedfm.  I am glad I did this.  When I changed the footprint of one of the BNC connectors, I ended up placing a via on top of a through hole.  Freedfm gave me an idea where to look.  I opened up the drill file, found exactly what to change, then went back to PCBNew and made the change.

Thanks for reading this far.  A very Happy New Year!  Please find many things to smile about.