Gustavo's Build Log

Hi all!

I am an electronics enthusiast and I am looking to improve my skills to create prototypes for my ideas for embedded/IoT projects that come up to mind :slight_smile:

Since december/20 I had been working on a redesign of the Siguino (Github) that is an ATMega328P based board with SigFox communication (LPWAN):

First of all, I moved the original project from Eagle to Kicad, then once trying to assembly the board I faced a lot of issues to perform this task manually, so I decided to change some things from the original project, like:

  • Removed unecessary sensors for my application (LDR, Magnetic, Temperature)
  • Changed antenna matching circuit to work in 915 MHz (RCZ2 - Brazil)
  • Using crystal+external caps instead of ressonator
  • Increased discrete components from 0402/0603 to 0805 to make easier for manual assembly
  • replaced LIS3DH IC by MPU-9050 shield (GY-251) to make easier for manual assembly
  • removed digital and analog pins to ATMega (still under evaluation)
  • inserted a specific connector for ICSP (J4) to make easier to use programmers
  • inserted a RTC (to configure operational time / schedule)
  • inserted a jumper (JP1) for module configuration through UART (e.g. set RTC specific operational times)
  • decoupling capacitor closer to ATMega (to comply with ATMega application note)
  • to avoid short-circuits during soldering, the SPI line to ATMega is now exclusive to ICSP, GY-251 and RTC are using I2C

Current status:

Next steps:

I am still struggling with auto-router (freeRouting.jar) and ground plane, some GND connections are missing after importing spectra session and using DRC:
image

I am planning to use solder mask on the vias to avoid short circuit during manual soldering:
image

Nice design. Looks like the size is dictated by the battery and antenna…
You don’t say much about what the use-case is nor what the constraints are.

Questions from the peanut gallery:

  • Did you consider using just a wire (monopole) as antenna?
  • Did you consider upgrading to a contemporary processor (ARM)? Since you’re doing communication the 2KB RAM on the 328p are really tight when you consider stuff like rexmit buffers…
  • I don’t find 0805 any easier than 0603, are you using some magnifying glasses, good tweezers, and a small-tipped iron?
  • Did you consider the power implication of switching from the LIS3DH to the 9050 break-out (which probably has another Vreg using idle power)?
  • I’m not familiar with the ProAnt design requirements, did you make sure you have the correct ground/no-ground etc under the antenna?
  • Did you calculate the width of your antenna transmission line?

I’d recommend you ditch freerouting and try manual routing using KiCAD. I used to use eagle and manually routing sucked. So I used freerouting. I thought it was amazing, except for the fact that it doesn’t understand ground planes. I moved to KiCAD recently and had a very tight board. Freerouting produced something I didn’t like, so I gave the manual routing a try. I haven’t used freerouting since… The reasons I like the manual routing are:

  • I start with the stuff that is most critical and make sure it’s routed nicely
  • I see what causes trouble and change the position/orientation of components as I go, or move signals to different processor pins to simplify routing
  • I can use “high-level” knowledge of which signals go together and route them as a bus
  • The dragging (“D” key) and the way it semi-auto routes are very handy

Good luck and lots of fun with your board!

1 Like

A further thought that came to me while hand soldering some 0603’s: KiCad has regular 0603 footprints but also 0603_handsoldering footprints. Those have slightly larger pads so you have more space to put your soldering iron tip down, etc. Try those…

1 Like

@tve, first of all, thank you so much for the questions that estimulated me to reflect (critical thinking) about the overall design and about PCB design and manual assembly, and the use-case for this project is to monitor assets usage (e.g. doors opening through accel monitoring) in isolated areas without cellular, or wifi coverage

Answering the questions:

  • I am not a antenna expert, so I just took the original Siguino design as starting point, but if a monopole antenna can present the same operational performance it is a great point for improvement/change

  • I did not considered this upgrade until now because of the available firmware from Siguino project and I am also more familiar with ATMega than ARM processors, the sw development is still under its capacities. It is in my plans to develop some boards with ARM.

  • After getting scared with Siguino original components (once I was expecting to manually solder them like LIS3DH on LGA-12), I bought more tools like the small-tipped iron, it is also in my plans to also buy a digital microscope for PCB, same as the one used by Chris in CE videos

  • I did not digged on the power impacts, and it led me to think that this change from LIS3DH to the break-out will negativelly impact this, but first I am trying to create an end-to-end development of this board considering the manual soldering process

  • Yes, I just confirmed with ProAnt application note

  • I did not find any requirements or instruction on ProAnt datasheet or in the SigFox module datasheet. I used a 0.6 mm track width (without a technical rationale), for reference the Siguino original project also uses 0.6 mm - revisiting the application note was good to know that the components under the antenna is a possibility and not a recommended practice, once I still have some space, I will probably move them outside the antenna keep-out area

  • Regarding auto-routing, I will follow your recomendation and re-design the board manually, I had been watching CE videos and as you mentioned KiCad really make it easier, like the drag key

  • For the footprints I am already choosing those with the _HandSoldering suffix

@tve, I am grateful for all the insights that your questions drove to me, I will be re-working these points in the following weeks, currently I am following the CE learning path to create a solid background.

1 Like

There are varying opinions, but be sure to consider clip-on magnifying glasses with LED illumination. I use an optivisor with 1.3x magnification (I believe) plus “swing-in” 6x additional lens) and absolutely love it. What I love is that there is zero time lag and no focusing issues (i.e. my neck does the focusing), plus I use it in the field too, not only at my desk. To make a video or critically inspect boards a microscope is most likely best, but to hand assemble, not so sure.

1 Like

I just did both introductory projects from Contextual Electronics this past weekend:

For both CE Header and Current Sink or Swim I struggled to understand and follow along through the steps and videos, I mean, to understand the project objective until the project realization, in comparison with the two projects reported above (blinky and shine) that were easy to follow, the Advanced BLE-CELL (ABC) project seems more structured and easier to follow, so I chose to follow on it… Hope to get back to both CE Header and Current Sink or Swim after ABC with more focus.

Hi all,
I designed the Siguino board Gustavo mentioned and he linked me to his blog to have a look - great to see it being used in this way!

A couple of quick comments:

  1. I echo the comment made about manual routing over auto-routing - I’ve never had particularly good results with any auto-routing. Always seems a mess to me even if it works (which it often doesn’t in Eagle anyway). I think manual routing allows you to build busses more easily, especially from the MCU as many traces end up there. Small suggestion from my experience would be to have (where possible) longer top routes go generally vertically and long bottom routes go generally horizontal as this will naturally lead to final routes being easier to do as you usually can skip a bunch of routes on one layer with a single paid of vias
  2. I notice on your Kicad image that you have shortened the antenna path and modified the matching network on the antenna line from a Pi matching to what looks like an L matching network maybe? You may want to verify with ProAnt that this will work for their antenna (believe me - antenna lines and matching are a dark art and can be very sensitive!)
  3. I agree with another comment on the larger pad footprint for 0603 components and I would extend that to other component footprints also if you plan to hand solder as the larger the footprint (if you have room on the board) the easier it will be. I had to hand solder the 0402s on this board for my prototypes and I think in retrospect I would have done what you’ve done here and replaced with 0603s!

All the best with the project anyway!

1 Like

I did some changes from the last post to the current PCB that I ordered to be manufactured and assembled as depicted below, thanks to JLCPCB/LCSC this approach will free me up from manual soldering - probably I am traumatized by the LGA and 0402 components from original design :sweat_smile:), I replaced the Battery Holder by a JST XH connector, also moved the antenna matching passive components from below the antenna area to outside of it to make easier for hand soldering, and removed the RTC once it is not mandatory in the current prototype.

There are a lot of improvements to be done, but I have to make the prototype works prior to invest more on this project.

image

I also made the XTAL1 pin accessible to support in case of ATMega328P fuse programming issues (locked out) as suggested in this blog post. This is an issue that I faced as the chip not being detected.

Note: Thank you all for the advice, I gave up the auto-routing