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:

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

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.


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

Hi all,

Follows an update of the Sigfox board… Just got my board from JLCPCB, and did some soldering :sweat_smile: (all discrete components, crystal, and IC came soldered as JLCPCB service). I just soldered the Sigfox Radio, the PCB antenna, and the MPU-6150 shield.

I am having some headaches from soldering the WiSOL SFM11R2D radio…

I tried two approaches for soldering this radio. First, I put some solder in the PCB pads, then positioned the radio over the pads and heated up the pads trying to melt the solder attaching the radio with the PCB. This method presented a short from the GND pin with the Radio to the Antenna pin (top right side of the radio).
The second approach was first to put some solder in the radio pads, then positioned the radio over the PCB pads, and then heated up the PCB pads - expecting that the solder from radio pad will melt with the PCB. Still, this approach seems to not solder very well the radio over the PCB.

Unfortunately, this radio is not similar to ESP32 that provides the pad out of the PCB edges:

The WiSOL SFM11R2:

Any ideas or suggestions from the more experienced for soldering this radio are welcome (solder flux/paste will help ?) :pray:

Another operational doubt is that I used an SMD rework station to remove the radio and try soldering again… I used the airflow at about 250ºC to do that. Still, the SFM11R2 datasheet mentions that the max storage temperature is 125ºC.

What is a good temperature to use for removing components ? How much above ICs datasheet temperatures is acceptable ?

I’ve soldered things like that using paste by hot air or relow oven generally without too much issue. I think your difficuly probably comes from having cold solder on the pads to start which will prevent the module from sitting flush on the board.

It looks like you’ve brought the pads on your pcb out beyond the module which seems like a smart idea, if you have shorts you can probably clean them up by sucking some solder out with copper braid.

I’d try again after cleaning all the solder from the pads, laying down some paste, pressing the module down and either heating one pad at a time with your iron or doing the whole thing with hot air.

I’ve never actually managed to cook a part to a nonfunctional state with air, so I wouldn’t worry too much about temperature while prototyping. I do also normally use this low temp solder which helps a lot:

Thank you, @emolson! I will buy a solder paste to perform the soldering with hot air.
I also found a project in the using a similar radio and using the approach that you suggested. (reference)

I had success with freerouting (auto-router). But I advice to manually route the “important” stuff, planes and so on before the magic is performed.

Just an update from my Sigfox project… I will need to redesign the board once it was very difficult to hand solder the radio :cry: :frowning_face:

Impossible (through hand soldering) to do not short GND and the output to the Antenna:

So, I put some keep-out zone on the pins of the radio to avoid this GND issues:


Now, let’s go to another China PCB production and deliver time :hourglass_flowing_sand:.

1 Like