The PiicoDev family is taking shape - We assemble and test the adapter for Arduino Uno, show off the Pioneers Platform for Raspberry Pi Pico and spin some ideas for writing PiicoDev MicroPython modules.

Transcript

Oh, I never know how to start these things. Welcome back to another episode of the factory apologies for missing a week there, but boy, do I have a show and tell to make up for it. We've been very busy making a lot of different products this week.

Just to catch you up. If you don't already know, PiicoDev is our family of connectable modules that you can easily connect to your favourite development board of choice. So this was the Micro:bit adapter that we looked at last time. Now it's complete and we have a few PiicoDev sensor modules connected to it.

And since last time I also assembled and tested this Arduino shield. So that was a pretty simple assembly, just a little bit of surface mount soldering. Looking closely, there's a little bi-directional logic level converter on board. So since the Arduino is a five volt device and these PiicoDev modules are a 3.3 volt I2C bus, we do a little bit of shifting on board. And there's just two PiicoDev connectors to give you some options.

And assembly and testing for this board went very smoothly, just assembling the six components that make up the logic level converter. So that's just a transistor and two resistors for each of the data and clock lines, putting on those PiicoDev connectors and then soldering on the surface mount headers and actually insert the pin headers into the female headers on the Arduino and use that as a soldering jig for assembling this just to make sure that everything lines up nice and straight.

Now the Uno R3 is a pretty big board and this shield just gives you some PiicoDev connectors. So to make use of the additional room, we've included a large prototyping area with some power buses in the middle, another three volt power bus. There's also someMounting holes are provided on the shield, allowing you to attach PiicoDev modules using standoffs in various orientations. To test the shield, I connected multiple PiicoDev modules together, plugged them into the shield, and ran a test script for each module to ensure that the logic level converter was functioning correctly. Each module provided data for different types of measurements, including temperature, temperature humidity and pressure from the atmospheric sensor, and light levels from the light sensor. It worked flawlessly.

The Pioneer's platform for the Raspberry Pi Pico is shown here, sitting on the expansion board discussed in the previous episode. The platform offers three locations to mount PiicoDev modules, with a breadboarding area on the right. I am also working on a prototyping board that fits across two of these locations, allowing for soldering and prototyping. Additionally, I am considering making the prototyping board snap in half, so it can be used as a mini proto board for one location, providing more flexibility.

This type of electronics experience is particularly beneficial for beginner makers, educators, and students. It ensures that all the PiicoDev modules are securely in place, preventing any loss of components. The platform allows for easy movement of the kit without the risk of misplacing anything. It is ideal for creating educational experiences or specific projects, knowing that none of the major components will go missing.

If we flip the Pioneers platform around, you can see a laser etch outlining the expansion board, providing a visual reference.I have included a footprint for just the Raspberry Pi Pico on its own. So if you have a Raspberry Pi Pico with pins soldered on, maybe if the pins are sticking up, you can just secure your Pico directly to the platform. With laser cutting projects like this, that's kind of like a zero cost feature. You just cut some more holes.

Went through a few iterations to get to this design. I started off with a, with a two by two PiicoDev array, but I felt like that created too wide a platform. So the breadboard would go here, your Raspberry Pi Pico would go here. And with this two by two, it just stretched everything out a little too much. There's also quite a bit of wasted space above and below.

This is an even earlier version still with the green protoboard. You can see this one only has two locations and the PiicoDev modules would feed into each other. But that's a bit of a pain because how do you get your connector in to such a small gap?

So I finally arrived on this design which has three locations for PiicoDev modules and you can mount them in any orientation you like. But I think the one that works best is with the connectors to the side. And so in this orientation, you can have a daisy-chain going all the way up the column rather than having connectors going end to end, which I don't think works very well.

The adapter for Raspberry Pi is in and I've sent off the panelized design. This original prototype actually faced out of the board, but I don't think that works very well because if you want to put your Raspberry Pi in a case, you've now got this thing hanging out, flapping in the breeze. So I just flipped the design so that the connectors face inwards. So if you want to mount it in a case, now it fits within the envelope.Of the Pi. And the diehard Core Electronics fans may have noticed that last week we also released a little four channel logic level converter, an absolute maker essential, this guy.

This is the same circuit on the Arduino shield, just replicated for four channels. So you could have two independent I2C buses on this or just four single channels.

So where to from here? Well, I actually have a prototype laser distance sensor coming in to add to the PiicoDev family. So this will grow by one more.

Now here's a bit of a gotcha. All these PiicoDev modules need to work with all of these development boards. There are good libraries for Arduino. I'm not so sure about packages in Python. So we're going to have to do a bit of work there, particularly because the MicroPython implementation on the Raspberry Pi Pico is different to that on the micro bit. It seems like the Micro:bit breaks a few rules to make things really, really simple to get started programming. The difference is in the way that the I2C bus is implemented.

Now I'd really like to be able to have a single MicroPython module for each of these devices that just works across different implementations of MicroPython. We're going to have a go at writing a module that can detect which piece of hardware it's running on and change how it handles the I2C bus accordingly. So you have one Python module per sensor.

So the PiicoDev journey continues next week with writing some libraries. If you have any good ideas about how we could have a go at implementing that, I'd love to hear them. From what I gather, there's an OS module in Python that you can use to detect what piece of hardware you're running on. So I think that's going to be extremely useful.There you have it, a big old show and tell of new, of spicy new hardware. If you're wondering what all these boxes are, those are all the large reels of headers that make that Arduino shield. They're massive. I think we looked at those in a previous episode as well.

If you have any good ideas of what sensor modules you'd like to see in the PiicoDev line of sensors, I'd love to hear about them on the Core Electronics forums. If you have any design ideas for a Pioneers platform, how to make it more friendly to use, this is your last chance to get that in before I lock this design down and start cutting some acrylic.

And yeah, see you in the next episode where we'll have a crack at making some Python modules from scratch. See you next time.

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.