The PyCorder Is the Latest in the Line of Oddly Specific Objects From Joey Castillo!

The latest Oddly Specific Object, PyCorder, is a solid hardware base for a whole range of CircuitPython GUI application implementations!

I'm gonna kick this one off from my phone.

We probably shouldn't be writing our content with thumbs, but what can I say...

Windows Updates is taking way too long, and we've got hardware to cover, dang it!

It seems fitting that the article I've just gone to write is currently being flummoxed by the overhead of keeping something as complex as Windows, well, up to date.

I say fitting, as I'm here to wax about the PyCorder, the latest in the lineage of the Oddly Specific Objects, courtesy of the ever-talented Joey Castillo.

Because, instead of trying to scope and scale to the aspiration of running every task orapplication, the PyCorder hopes to serve a few application-specific tasks, but quickly, capably, and to the point — as you will all know, is the basic principle of engineering. (Internet of Everything gang, I'm looking at you this time...)

Instead of a huge OS and constant updates to patch — oh, hang in, the desktop just reboot...

OH COME ON!

Sigh.

As I was saying. Instead of a complex high-level system, built on being able to do anything, there is an innate appeal to a device that has been tailored to furnish a few specific tasks.

I've just had to wait an hour to get my desktop up and booted. Yikes.

You can maybe see the point I'm making, and from talking to Castillo about the PyCorder, I can see where he's gotten the inspiration for his latest PCBA creation — a device bearing the fruits of several recent projects, with the best tech from each fused together for the next Object to fall from the OSO family tree.

A chip off the ol' block

We covered the predecessors to the PyCorder about a month ago — two experimental boards designed to get to grips with some cheap memory LCD display panels, and also, Castillo has really been moving along swiftly with this little board of tricks!

Delivered in the newer of the two signature OSH Park board stack-up color options — After Dark — this board looks visually incredible!

With the bright copper areas of the angular touch matrix — laid out below the 2.7" memory LCD panel, as seen above — and the dark dyed FR4 laminate, this striking contrast balance between the black, gold, and copper areas of the board certainly adds a touch of elegance to the design!

There is not a striking amount of visual dissimilarity between the PyCorder and a certain generation of *indle eBooks, which is funnily enough almost full circle on how most of us know about Castillo — due to his work on the awesome Open Book project!

Flipping the PyCorder over, we see where Castillo has hidden the smarts of the board, with a Microchip ATSAMD51G18A proudly laid out in the same After Dark color scheme with the tracking looking almost as good as the matrix it feeds to, on the other side of the board.

We can look at this board as a direct evolution of Bert and Ernie.

Though, we can see why maybe the name Bernie may have been overlooked, reducing any possible confusion in the limelight, perhaps, PyCorder seems a more fitting name for this high-tech handheld hardware platform, with inspiration pretty clearly being the similarly named, ever-iconic Tricorder from the Star Trek franchise.

We all know the Tricorder, tasked with serving up chemical, physical, and biological information on nearly everything it sees before its scanners, in a timely fashion. There's no use in waiting an hour for your TriCorder to booth up when scoping out a new planet.

The episodes were quite a bit shorter, for a start...

Speedy, touch-based HMI

We can see that the hand-rolled CircuitPython-based GUI library — of Castillo's own design, circuitpyui — is perfectly responsive, with the SAM D51 able to handle not only the CircuitPython interpreter, but also snappily update the screen based on the pin states sampled by the Peripheral Touch Controller (PTC).

A SHARP panel on a sharp-looking board

We can see the final choice of layout for the 2.7" SHARP Memory LCD panel, in portrait orientation, looks well placed with the general proportions and resultant area left for the touch matrix seeming to be more than usable.

The SHARP panel also has a sharp response time, and in conjunction with its low power consumption, is a nice half-way house between a TFT LCD and an ePaper display.

The snappy response time requires two things from the host circuit — a 5V supply (well, at least 3.6V), in order to generate the required potential between the display panel elements, and an externally fed VCOMM signal, a square wave of somewhere around 1 Hz.

Thankfully, the current required for the 5V supply is so low that you can use a simple switched capacitor converter, to cheaply and easily generate the 5V rail.

Something like the Texas Instruments REG710 switched capacitor converter is a low-fuss alternative to even the most simple of inductor-based boost converters.

Swapping out the inductor for some MLCC capacitors removes a lot of the layout constraints, and costs that are associated with the magnetics of an inductor based converter.

If you ever find yourself in need of a boost, you can hack one of these together with any of the MAX232 parts — they can happily feed a few 10's of mA at anywhere up to 10-11V. Perfect for a low-current bias voltage in a pinch!

If you ever find yourself in need of a boost, you can hack one of these together with any of the MAX232 parts - they can happily feed a few 10's of mA at anywhere up to 10-11V. Perfect for a low-current bias voltage in a pinch!

Expansive horizons

The PyCorder is obviously a solid base for any GUI-based application, but what about feeding it with data?

Well, first and foremost, you can plug pretty much any peripheral device you can think of into the PyCorder, through the inclusion of the widely adopted STEMMA / STEMMA-QT connectors.

But with extra I/O made available through the lesser seen nine-pin connector system that we first saw used in the Adafruit MONSTERM4SK, designed by Phill Burgess (@PaintYourDragon) — the options start to get even more expansive!

With a clever pin assignment carefully mapped to the I/O of the SAM D51 pins, the selected mapping allows for a whole range of reconfigurable interface options.

Many of the D51 I/O, and even (I am fairly sure) all of the SAM MCU range offer reconfigurable I/O, that can be mapped to a number of the internal peripherals.

The ones mapped here enable SPI, I2C (I2S, if it's there in the main MCU), analog, and GPIO mapping of anything that sits in the pin peripheral MUX table of the device.

Put to good use, we can see the PyCorder rocking out the tunes in the tweet above, thanks to the inclusion of an MP3 player add-on board!

That's pretty cool, and it certainly sets the scope of what addons can be envisioned!

Pushing on with progress

Despite the bump up in resource that shifting the to the beefy SAM D51 family offers, there are still specific variants within that family that are perhaps more suited to this specific job.

While the SAM D51G used in this iteration is evidently capable, Castillo is already at work on a SAM D51J revision of the PyCorder, which will alleviate a few I/O woes and quirks. As has been the point from the start, the right tool for the right job, right?

We're keeping a tight eye on this one. It's a solid looking platform for a huge range of handheld, CircuitPython-driven GUI applications, with the ability to tailor the peripheral hardware to the specific requirements of the user, and task at hand.

If you want to get the updates direct, follow along with Castillo on Twitter, and his GitHub, while yet to be graced with this project, is a whole wealth of fun stuff to experiment with!

I think I'm off to check out that previously mentioned circuitpyui now!

Tom Fleet
Hi, I'm Tom! I create content for Hackster News, allowing us to showcase your latest and greatest projects for the world to see!
Related articles
Sponsored articles
Related articles