This week in The Factory we show off the new Pulse-Soldering machine we'll use for future production runs. We also respond to some user-feedback to help make PiicoDev as good as it can be.

Transcript

The PiicoDev OLED module is one of our most popular products in the Piicodev range and it's easy to see why. A graphical display adds a lot of features to a project, such as displaying text, numbers, and drawing graphics like lines and plots. However, it is also one of our most complicated modules to assemble. The OLED display is held onto the module by a flat flex cable, which must be soldered to the board as we cannot find a surface mount connector for it. This soldering operation is very demanding in terms of skill and attention, and only two of us at Core Electronics can do it reliably. Liam and Bryce have been using a special t-shaped soldering iron, but the process is slow.

Due to the large demand for these modules, we need to come up with a more scalable solution to produce them. Our new pulse soldering machine does the same job much more reliably and quickly. It works by passing current through a resistive tip, which heats up quickly to perform the soldering operation. The tip applies pressure to the connector, melts the solder, and then cools down using compressed air to blow the heat away. This is necessary as when soldering a single connector, you need to hold it down while the solder is still hot. it's a really easy way to draw text and graphics on the display.

Using a hand soldering iron, we were able to achieve a drag soldering operation. This allowed us to leave a wake of lead into a jig, while making sure the alignment was good using a microscope. The hand soldering iron is a little different to a conventional soldering iron because the current is actually passing through the soldering tip. The replaceable tip is also the heating element and is made out of a high grade material, such as tungsten, which can withstand a lot of cycles. A thermocouple is also bonded directly to the tip, allowing for a good temperature reading at the joint.

This capability upgrade opens up possibilities for doing even more displays of different colors and flavors, such as e-ink. Alan from the forums asked if there was an easy way to increase the font size on the OLED, as it can be difficult to read on such a small display with an 8x8 font. To display text on the display, we use MicroPython's built-in FrameBuff class. This is a really easy way to draw text and graphics on the display, and allows for the font size to be scaled up or down.

The FrameBuff class handles a lot of things like text, lines, and shapes. We can set pixels, horizontal lines, and rectangles. This is great for Raspberry Pi Pico because the class is already compiled into MicroPython, making it work very fast. For Raspberry Pi and MicroBit's flavor of MicroPython, however, they don't have a FrameBuff class. We have a redefinition of the text function that works in the same way, but we have to load a font that has to be provided. We then extract the pixel data out of that font and map it into a FrameBuffer that we make. These loops construct the buffer that is the size of the display. For this function, we have some control on Micro:bit and Raspberry Pi, so we could probably implement some scaling since all we're doing is reading out pixel data from a file and then writing it in 8x8 blocks. We could scale that to a 16x16 block or a 32x32 block.

Returning to the vanilla FrameBuff that's used on the Raspberry Pi Pico, we can see that the text function renders all characters in dimensions 8x8 pixels and there's currently no way to change the font. This means that there won't be a way to change the font for Raspberry Pi Pico, which is a bit of a shame. As a workaround, forum user James has made a simple relay timer project that uses a PiicoDev OLED and they've got these big beautiful displayed characters. Here we can see a minutes countdown, and the characters are just filling the whole screen. To achieve this, they rendered these as bitmaps, which is a neat hack.

If we jump over onto GitHub, we can see in the

The MicroPython project has pull requests that have not gathered much attention. One user, Jonathan, has opened a PR that has scaled up the built-in font. This PR has been open for nearly a couple of years, and the files changed are not profound. It would be great to see this PR go through, and if this feature is important to you, then register your interest. A link for the PR will be included in the video description.

If you have any questions or suggestions on what to work on next, let us know on the Core Electronics forums. Until next time, catch you later.

Comments


Loading...
Feedback

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.