More project updates for you in #TheFactory! We're chuffed to release the PiicoDev OLED module, put a feature freeze on the Buzzer Module, and introduce a few new members of the Makerverse prototyping family. We'd love to hear your thoughts on what we should work on next!

Transcript

Welcome back to the factory. This week we have a new product going out. The OLED module project is finally complete and on the Core Electronics web store. We'll take a look at some prototypes that we have on the bench and another one that we have in work. Let's get started.

First order of business today we have the PiicoDev OLED module project finally complete and finally launched. You can see a little demo running with that small rectangle on the screen. This is actually one of the examples from the tutorial where we wind up pairing it with the PiicoDev motion sensor and you can see that we can change the location of that rectangle on the screen just by rolling that motion sensor around.

The OLED module has easily been the most challenging PiicoDev module to date. Peter's been chipping away on it in the background for quite some time. The challenges have been around the way that MicroPython works with the three supported dev boards at the moment. Micro:Bit. Raspberry Pi Pico and Raspberry Pi.

Raspberry Pi Pico is really really easy. It has built-in frame buffers, built-in fonts. It's just made for this kind of application. That's missing from the Micro:Bit. The Micro:bit does have a font for driving its own 5x5 display and so we were able to leverage that initially to run on the OLED but it wound up looking pretty chunky, pretty unpleasing. This is the font that comes compiled with MicroPython and it is really lovely on this kind of scale.

The Micro:bit font really didn't match up to this and likewise with the Raspberry Pi there just was none. So what we wound up doing was actually extracting the font from the build of MicroPython and kind of baking that as a data.File that can be imported by the Micro:bit and by the Raspberry Pi and deployed where necessary. Of course, the Pico already has that built into its frame buffer so it doesn't need that kind of treatment and it's just this and many other challenges that made this quite a long-lasting project but we're really happy with where it's wound up.

If we take a look at the driver for Micro:bit or Linux we can see that the text function actually opens a data file and that data file is the font pack. Then we open that up, turn it into a byte array and then when we want to print text on the display we just index down that byte array to the data that we need. So catering for all these edge cases with font and how to interact with the device has made for quite a large driver.

The actual file size of the OLED module driver is about 12 kilobytes and that can really tap out a Micro:bit v2 which has very limited storage. You might recall from some time ago that we talked about minifying Python scripts and the minified version of this driver is less than half the size. So that's how we can get this working with the Micro:Bit.

In other PiicoDev prototyping news, the PiicoDev buzzer project is coming along very nicely basically reaching a feature freeze. Recall from the last episode we were talking about how we create these I2C devices, how we set up the protocol so that we can issue it commands from the host device. From the last episode we were basically able to play tones for some duration and now we've included the functionality to change the volume between three levels and this is what that sounds like. So we start off playing a high tone, a low tone and then we set the volume. The volume is set to the minimum, and those two tones are played again. If you want to do something more complicated, like playing a melody, you can describe some notes using a Python dictionary and create a two-dimensional list of note duration pairs. Then, you can step through that list and issue the tones to the device. So, what else would you like from a buzzer? You can play a tone for a duration and control the volume. If you have any other ideas, please share them because I'm planning to lock this down and get it into production soon.

In other prototyping news, Brenton has been working on more breakout boards and Makerverse modules. Let's see what he's been up to.

I've been working on dev boards and expansion boards for the Raspberry Pi Pico, Raspberry Pi, Arduino, and micro:bit. That's four dev boards in total. Let's start with the one for the Raspberry Pi Pico. The goal was to create a protoboard that allows the construction of moderately complicated circuits, while being roughly the same size as our other boards.

So, this Makerverse SNT protoboard has the same dimensions as the other boards, such as the 30-row protoboard and the gridded one. Does that mean you can potentially stack boards?

Yes, you can stack boards. All the mounting holes are in the same places, so you'll be able to use the same enclosures or stack them as needed. In the middle of this protoboard, there is a designated space where you can continue to the next. You can solder your Raspberry Pi Pico. It will accept either a Pico with pin headers soldered on it or it can take a Pico directly soldered via its castellated edges.

Each of the Pico's pins are then broken out to three pads that are all connected together and then horizontally running we have two bus connections. These can be connected to any of the power pins on the Raspberry Pi Pico and the one on the top here can be connected to either the VBUS or the 3.3 volt pin.

Right, so this bottom one is floating, is it? And this one is selectable?

Well, they're both floating out of the box but it's easy here to connect it to VBUS or 3.3 and on the other side if we zoom right in there's a bunch of pads which have very easy solder bridges to either the power or the ground pins. To maximize the amount of prototyping space, there's only a single bus on the top and bottom because there are ground connections all over the Raspberry Pi already.

What other design considerations do we have? What's going on on the back there? There was something pretty funky going on there.

Yeah, so on the back here we've got an area where you can very easily solder surface mount components. If we look on the front, this is where the Pico would be soldered so we couldn't really put any pads here because...

Right, you might potentially short to the USB connector or something like that?

Yeah, we wanted to make sure that you could very easily solder the Pico directly to the protoboard but on the back here we just put this surface mount area.

Tell me about this Raspberry Pi adapter. Around the top and right-hand edges of this protoboard, we have all of the GPIO.Pins broken out. These are all labelled with their silkscreen numbering equal to the BCM pin numbering on the Raspberry Pi. Then in the middle, we have a small area here for DIP packages so they would bridge between there and there.

On the right side, we have some power rails just out of convenience that you know the ground one goes all the way across from there to there. Then we have the 5 volt and 3.3 rails broken out. We then have two slots cut here so you can still connect the camera and display cables to the Raspberry Pi underneath, and then just filling in all the gaps we have our gridded pads.

Moving on to the Arduino ProtoShield, we've got things that you've probably seen a lot of before. We've got all the Arduino pins labelled and broken out. We have a large selectable power rail along this edge that you can select as 3.3 or 5 volts with a solder bridge here. We've got a small area here for easy connection of DIP packages, and the rest of it's just filled with our standard grid.

Yeah, moving on to the Micro:bit protoboard, this one's obviously pretty huge. This is a version zero we're in the process of optimizing this one, just playing with some ideas. But yeah, general idea, we've got some large breadboard space. We love the standard breadboard space, everyone's very comfortable working with that sort of prototyping area. We throw on a couple of glow bits here just because it needs to go through the production line. To connect, solder on this connector here, we have a female header here so that you can use male to male jumper cables to go from any of the GPIO pins to your prototyping area. And just because it was convenient, we've thrown on a PicoDev connector below, here we have all of the GPIO broken out, just to solder pads if you prefer to use some wires and just solder them on. The power rails are also connected to the top and bottom bus rails of the breadboard area.

So, what upgrades do you think you're going to make to this one? I think the next version is basically going to be the same thing but a bit smaller. This one's a little bit large for what we expect most people are going to build onto a micro bit.

So there you have it, all cylinders firing on the PiicoDev and Makerverse projects. If you can think of anything that you'd like to see in our Makerverse range of like maker essential hardware, let us know in the comments for this video. And if you have any questions or just want to see something a little bit closer, let us know.

Until next time, thanks for watching.

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.