We've a bunch more prototypes to discuss this week in The Factory. We're coming face-to-face with the challenges of backwards compatibility: Fitting a 3.3V MicroPython board into the footprint of the 5V Uno. We're also migrating to KiCad 6 with quality of life improvements and panelisation now just a plugin away! We look at a tiny Makerverse Class-D amplifier and test jig, perfect for adding a low power and footprint audio solution to your project, and finally we talk the early development stages of a MicroPython E-textiles & wearables line, let us know your thoughts on the features.

Transcript

Welcome back to The Factory.

This week we're taking a look at more Makerverse projects that we have in the pipeline and a bit of a game-changing workflow upgrade. We're migrating our projects into KiCad 6. So new projects are going to go into KiCad 6 and as we touch old ones we'll probably roll those in too. More about those updates later though, let's start with a hardware project.

So recently I've been working on an Arduino Uno style board with a Raspberry Pi Pico on it. So a board like this will allow us to use all of the existing Arduino shields we've got with the convenience of MicroPython or it will allow us to use the power of the RP2040 microcontroller in the Arduino IDE.

So this is an early prototype with a full-blown Raspberry Pi Pico soldered to it. Basically, this was just used because it was the fastest way to do a prototype. In the future, if we end up manufacturing hundreds of these things we'd probably put an RP2040 directly on it.

Obviously, we wanted to make it Arduino compatible so we have the standard Arduino Uno headers but because the RP2040 actually has a stack of extra GPIO pins they've just been broken out to the side. Now of course the Arduino pinout is not exactly the same as the Raspberry Pi Pico so there are a couple of compromises.

For starters, there's only four ADCs on the RP2040 so we've only got four ADC inputs instead of six and there's a couple of pins that are a bit different. So for example pins zero and one are normally the UART, transmit and receive pins and they happen to be swapped on the RP2040.

So on the back, we've got a couple of jumpers so that you can swap them back if you want to so that digital zero on the Pico goes to digital zero on the Arduino or out of the box at the moment we've got them around so that a UART transmit and receive happens to line up to the correct pins. Turns out the only other difference is that two of the pins are swapped in the SPI peripheral. So on the back, we've got another jumper to swap pins 10 and 13. This just allows the clock line to be routed from the Pico to the correct pin on the Arduino header. Or if you prefer to have the same GPIO numbering, you can cut some traces, solder some jumpers, and then have pin 10 on the Pico go to pin 10 on the header and pin 13 on the Pico go to pin 13 on the header.

So there is the issue of Arduino peripherals tending to be 5 volts. What we have done in order to maintain maximum compatibility is put a level translator on the I2C pin so you can solder a jumper to select either 3.3 volts or 5 volt I2C for your shields. For any devices that are designed for 5 volts, the 5 volt power pin will power the shield at 5 volts. But you'd have to make sure that the digital I0 on that particular shield is compatible with 3.3 volt logic.

This Arduino compatible board has been our pilot project to experiment with the new release of KiCad 6. If you're looking at this project here and you've used KiCad 5 before, the most beautiful aspect you're going to see here is the coloring and transparency on the copper pores. This semi-transparent by default color scheme is just so much easier on the eyes than KiCad 5's really bright in your face bright red.

Now, generally speaking, KiCad 6 has a stack of small improvements over KiCad 5 that just make quality of life so much nicer. But the really beautiful feature we want to talk about today is the panelization process. The panelization GUI will take a PCB as an input, and then you dump all of your panelization properties in the plethora of options that it presents.

So this is a very early prototype. We're going to be doing a lot of experimentation and compatibility testing. Let us know if you think this is a good idea.To you, hit panelize and then out spits your panelized design. Yeah, it is a very nice way of doing panels and a lot easier to onboard new people as well. So far our KiCad 6 experience has been pretty good, so you'll probably start seeing KiCad 6 projects published in our GitHub repos in the coming months.

Next, the thing I've been working on is the first Makerverse audio project board. This little guy is a PAM8302A Class D amplifier breakout. These allow you to easily, cheaply, and in very low-power add sound to your projects.

Looking at the schematic, you'll see that this is actually a fairly simple breakout board. We have an input with a potentiometer just so you've got at least some volume control on this board. We have an AC-coupling cap because the inside of this chip is going to be biased to about halfway between VCC and ground, whereas your input could be floating above and below ground.

On the output, we've got a low-pass filter centered somewhere in the MHz range to kill some of the RF that comes out of this amplifier. Class D amplifiers just turn on and off the output using an H-bridge and so that really hard digital switching creates a lot of RF noise that typically needs to be attenuated.

Looking closely at the output filter, we'll see a note here that these two capacitors need to be what's called NP0. Basically, these are a highly linear type of capacitor dielectric. If you just use a standard X7R or X5R 1nF here, you actually get more distortion out of this whole circuit and I found in testing that the amount of distortion exceeds the distortion spec of the actual amplifier chip.

Now, if you actually take a detailed look at the PAM8302's data sheet, it actually says that you don't need this RF low-pass filter if your speaker cables are short. But to maintain maximum compatibility, we just threw in the filter anyway, So you can have long leads if your project needs it without spewing RF and interfering with other things.

Now the amplifier's test jig, it looks more complicated than it needs to be. I've just chucked a Raspberry Pi Pico on here because it was the cheapest way to make a one kilohertz tone to test out of the speaker.

And a sneak peek at an upcoming project, I've been working on an eTextiles development board. On this board is a familiar snappable prototype layout that you might have seen in other eTextiles projects. This one's going to be RP2040 based so you can do all of your development in MicroPython and it's going to have a range of peripherals for it. We've got a temperature sensor and a light sensor. This one's going to be a switch and an RGB LED, a single LED, a buzzer and so forth.

Now one thing that is going to be a little bit unique to this one is the inclusion of a USB-C connector. We're going to experiment with USB-C. Let us know if you prefer USB-C or micro USB for this kind of application.

At the other end of this board we've got a PH connector for the LiPo batteries that we know and love, and on board we're going to try and include a battery charger as well. Yes, we have the space, so I've thrown a reset button in addition to the boot button, just out of convenience.

There you have it, our first foray into the world of sewables and wearables projects. If you do projects with these kinds of boards, if you make like sewable projects, we'd love to hear from you about features that you would like to see in such a kit or whether there are existing like designs that you find frustrating. This is your chance to let us know so we can roll those updates in as we go.

So thanks for joining us and 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.