Off the back of our first large-scale production of Pico Expansion boards, we noticed an unusual and consistent failure mode in some boards. This week in The Factory we do some hardware troubleshooting and try to find the culprit.


During testing I was noticing that there was every now and again the charge indicator LED wasn't working. So right under the Pico here is a little charge indicating LED to indicate when the LiPo battery is being charged. Now the battery was indeed charging and it was also powering the circuit. As you can see here we're blinking away with a pass so we're reading data from a PiicoDev module. But when I connected the USB lead part of the test is to look for that charging indicator light. So it was just the LED that wasn't working. Time to do a little bit of troubleshooting. And these are the culprits here so let's get cracking.

From visual inspection just with the naked eye everything looks really nicely soldered but since it's just the LED that isn't working and the charge capability is working I think we'd best get under the microscope and have a look around. Now you can't hide anything under a microscope. You can see here that the current limiting resistor has failed to solder on one side and it seems to be consistently that side for all these boards where it's failed to solder. Now why might this be? The soldering on the rest of the board looks better, but why is it particularly bad in this one spot? What I hypothesize is that during our reflow process there's just not enough heat getting into this particular pocket of the board because that LED is in this gutter surrounded by this very large connector on one side and this pretty large connector on the other. So it's in this perhaps it's in a local cold spot and if I get in there with a multimeter probe and just poke at that resistor to create a better connection we can cause that LED to light up.

For the remainder of these boards I'll just touch that join up by hand with a soldering iron and retest them again. As for the oven reflow profile there's going to be a little bit of work there to tune that reflow profile. This is our high density reflow profile that we're working with in the IN6 and I think to go hotter might be a mistake this might just be a case of slowing the belt speed down so that the device has more time to spend in that liquid temperature region.

And I remember when I was characterizing the temperature profile for setting up these panels I was using the temperature probe right in the middle of the panel and also on one of these edges which may not be the fairest test. Obviously this is out in space it's next to another board but there's this gap here. Far better to try to get a temperature probe in here. A bit of a challenge without fouling one of the boards but maybe that's just the cost of getting a good characterization.

Obviously measuring temperature along this edge it could be quite different to down in this pocket. I mean there's still an edge here but there's a snap-off tab remember so there's perhaps a little bit less flow heat circulating around that LED. Yes I can see a little bit of tuning in my near future. Peter next to me is spinning up the first prototype of a capacitive touch sensor board. This is going to be our first double-sized module so where a PiicoDev module is 25.4 millimetres long this one's going to be a little bit longer just to give a bit more room to use that touch interface.

And I mean while I've got it we're working with a few modules now we're developing a few hardware modules and writing a few lines of code and to make sure that everything works with each other I've just made up this test platform. So this is our I don't know our PiicoDev test all test board platform. Yeah you get the point just laser cut piece of acrylic and we can connect all of these together and run code for all of them at the same time just to make sure everything plays nice keeps everything organized and we can share this around and do the coding that we need to do.

In other PiicoDev news PiicoDev is now on PyPI that means you can on a Raspberry Pi in your terminal just PIP3 install PiicoDev just like any other Python package. I spent a little a little bit of time learning how to put together Python packages and I'm really excited to be able to offer PiicoDev in such a such a familiar way for people to get access to really really easily using PyPI and PIP. This is my first time putting together a Python package and I learned so much along the way. The repo is up on the Core Electronics github so if you want to contribute to how the package is structured you're more than welcome to submit a pull request. I made this package by hand which I know is not maybe the most sustainable way but I just had to do it that way to learn how the packages come together. 

There's there's quite a lot of structure in a Python package in the way that you structure the directories where you put the source files and how you write setup files that prescribe where the code lives and what versioning it is. So much to learn. Now that I've done things the hard slow manual way I feel more confident in using tools like cookie cutter and the various automations that you can use with these packages things that just give you a template package repo and handle things like version numbering automatically. I'm looking forward to learning how to use those tools next.

Well thanks for coming along for the catch-up that's all I have for you this week. Expect to see some video tutorials coming out for Raspberry Pi very soon now that we have the packages up we can just go hell for leather at making those PiicoDev tutorials for all the existing modules. Of course if you have any questions about what you've seen or if you want to see something a little closer open a thread on the Core Electronics forums. We're full-time makers we're here all day and we'd love to see you there. Catch you next time."



Please continue if you would like to leave feedback for any of these topics:

  • Website features/issues
  • Content errors/improvements
  • Missing products/categories
  • Product assignments to categories
  • Search results relevance

For all other inquiries (orders status, stock levels, etc), please contact our support team for quick assistance.

Note: click continue and a draft email will be opened to edit. If you don't have an email client on your device, then send a message via the chat icon on the bottom left of our website.

Makers love reviews as much as you do, please follow this link to review the products you have purchased.