A USB MUXer, For All Your Programming Needs

What if there were something like a KVM switch for your micro programmer, logic analyzer, and other various tools? There was a time when KVM switches (keyboard, video, and mouse, by the way) were metal enclosures surrounding an absurdly complicated rotary switch. This fact has a few applications if you ever want to switch a whole lot of stuff; if you ever need a bazillion-pole, two-way rotary switch, don’t spend your money at Mouser or Digikey, just look at eBay for some really old KVM or parallel port switches. Modern times require modern solutions, so here’s a 16-channel, bi-directional switched bus multiplexer. It connects wires to other wires with USB control, and if you need something like this, you really need something like this.

The SensorDots Port MuxR is a crowdfunding project for a project that began as a programming jig for another project. The MappyDot is a micro LIDAR unit that’s about the size of a postage stamp and has a microcontroller. Obviously, programming those microcontrollers was a pain (and don’t get me started on buying pre-programmed microcontrollers from the manufacturer), but there was a solution: a custom programming rig with dozens of pogo pins that automated the programming of an entire panel of boards. It was a useful tool, and now it’s a good idea for a Kickstarter project.

The Port MuxR takes a set of eight pins, and sends that out to one of eight ports. Alternatively, it can take a set of four pins, and send that to sixteen ports. All of this is controlled via USB, and it works with 0-5V signaling. If you know what this means, you probably have a reason to be interested in it.

Is it a sexy project? No, not at all. It’s an 8-pole, 8-throw rotary switch, controllable over USB. It is interesting, and it’s something a lot of us are going to need eventually.

The Joy Of Properly Designed Embedded Systems

The ages-old dream of home automation has never been nearer to reality. Creating an Internet of Things device or even a building-wide collection of networked embedded devices is “easy” thanks to cheap building blocks like the ESP8266 WiFi-enabled microcontroller. Yet for any sizable project, it really helps to have a plan before getting started. But even more importantly, if your plan is subject to change as you work along, it is important to plan for flexibility. Practically, this is going to mean expansion headers and over-the-air (OTA) firmware upgrades are a must.

I’d like to illustrate this using a project I got involved in a few years ago, called BMaC, which grew in complexity and scope practically every month. This had us scrambling to keep up with the changes, while teaching us valuable lessons about how to save time and money by having an adaptable system architecture.

Continue reading “The Joy Of Properly Designed Embedded Systems”

New Part Day: Pyboard D Is Smaller, Wireless, And Has Expansion Modules

Historically, microcontrollers’ limited computing power and storage space meant software had to be written in low-level languages out of necessity. In recent years small affordable chips grew powerful enough that they could theoretically run higher level languages, sparking numerous efforts to turn that theory into reality. MicroPython delivered on this promise in a big way when their Kickstarter-funded pyboard was delivered along with its open source software. Several years have since passed, and now it is time for an upgraded pyboard: the D-series.

We’ve talked with [Damien George] back when the original Kickstarter was still underway. Since the launch of pyboard and release of MicroPython source code, we’ve played with ports running on an ESP8266 and on a BBC micro:bit. The software ecosystem has continued to grow, most recently we looked at LittlevGL graphics library. But just because all the flashy action has been happening on the software side doesn’t mean the hardware side has been sitting stagnant.

Pyboard-D upgraded from original pyboard’s STM32F4 to more capable STM32F7 chips. Witnessing the popularity of MicroPython on networked darlings ESP8266 and ESP32, there will be a pyboard D variant with a Murata 1DX on board for WiFi and Bluetooth connectivity. The new pyboard will be extremely compact with limited edge connections so a fine-pitched connector is required to bring out all the pins. To bring the new pyboard back to its educational and tinkerer roots, a breakout board will take those pins and spread them out in a breadboard friendly form factor. These breakout boards can also host small (12 mm x 12 mm) “tiles” to add individual features.

The wireless pyboard D will obviously invite comparison tests with an ESP32 running MicroPython, and its hardware expansion tiles invites comparison with Adafruit’s Wings. It’ll be interesting to see how they fare once widely available and we can get our hands on them. If you’ve picked up an earlier release at FOSDEM 2019, we invite you to share your experience in comments.

[via Adafruit blog]

Cortex M0 Becomes Platform-Game Platform

The Arduino Uno is an incredibly popular microcontroller platform. By virtue of being simple to understand, and having just enough processing power to be dangerous, it’s won fans the world over. In recent times, there have been efforts to replace it with something more powerful. The Arduino Zero is just one such device attempting to take the crown, and [Nicola Wrachien] decided to try game development on the platform.

[Nicola] chose to use the uChip, which is a remix of the Arduino Zero into a smaller form factor. This was combined with a 160×128 TFT display and a handful of buttons for control. The uChip module, along with the TFT are fitted to [Nicola]’s custom PCB which ties everything together.

By overclocking the SPI port to 24 MHz, [Nicola] is able to run a basic 2D platformer in excess of 50 frames per second. The frame rate is capped at a round 40 fps to keep things smooth and stable, and the results are impressive. Gameplay is fluid and responsive, and the screen looks vibrant with 16 bits per pixel providing plenty of colors to play with.

We love to see game systems hewn out of raw microcontrollers and displays. [Nicola]’s work goes to show that with a little tinkering, significant performance improvements are yours for the taking. For similarly impressive DIY handheld hacks, check out Star Fox on the Arduboy. Video after the break.

Continue reading “Cortex M0 Becomes Platform-Game Platform”