Designed mainly as an assistive device during badge development, but also as an exploration of multifaceted engineering, combining electronics and mechanical design to have a relatively compact end product, that also looks right.
Status
- The electronics design is complete, though issues might surface, when diving deeper into the firmware part.
- Mechanical modeling could use a little improvement for holding the face plate in place, but the layer lines from 3D printing does a pretty good job with the snug fit.
- Firmware is lacking and the main focus at the moment.
Electronics
The electronics part of this is essentially a Raspberry Pi Pico (the RP2040) but with a bit more flash and a different power circuit, that can switch between USB power and power from the badge, including boosting a low supply voltage.
In addition, there is an OLED screen, some buttons and a rotary encoder, and some simple resistor dividers for the measurement circuits and not least, a buzzer.
This is of course not the most precise measurement tool, but should get the job done for the simple stuff, like testing LEDs or checking a GPIO pin on the SAO connector.
The front PCB only has the two 2mm banana sockets and the buzzer, all other electronics are on the base board for easy, single sided SMD assembly. Connection between the two PCBs are via 3 spring loaded "pogo" pins.
Firmware
To ease quick development cycles and some sort of compatibility with other projects is this space, the firmware will be based on either MicroPython or CircuitPython, currently running the latter.
User interface should be simple and primarily via the main mode selection knob as on most multimeters, with sub function selection using the Fn button.
For specific functionality (eg. showing up as an I2C peripheral with a specific address), would most likely be a task done via editing the python code via a USB connection.
Case design
The case is a unibody 3D printed part, where the front PCB is closing the box off and holding all the parts inside.
The base board simply sits in the bottom with a slightly loose fit, and to prevent if from moving, a small spacer is placed right above the SAO connector, as that is typically where one would press to mount the SAO DMM on a badge.
That spacer is also used as an anchor point for the button caps, to help position those for assembly.
The Fn (function) button is raised above the frontplate, where the two system buttons (boot and reset) are pretty much flush with the surface to prevent accidentally pressing them, but high enough to not need tools to press them when needed.
Main mode selection knob
The main mode button misuses a low profile, low resolution rotary encoder, and only uses a third of it's rotation, as that allows "absolute position" from the two output pins. It's not mechanically blocked, so it can do a full rotation, eg. if needed inside a menu or similar, where main mode selection isn't needed.
The encoder is of the smooth type, so no stops, but those are achieved via a small steel ball embedded in the case and little indents in the bottom of the mode selection knob for every 30 degrees. Being held together between the two PCBs, this works surprisingly well, with a good feel for the stops.
SAO Cable extension
As this SAO has a case, that sits behind the PCB, there is less space between the SAO and the hosting badge, which in manu cases isn't a problem, as the connector is often on the front of a PCB in the upper part of a badge, but for those badges with an enclosure, the connector is often inset and not all SAOs will fit directly, including the DMM SAO.
For that, I have designed an extension cable, that uses IDC connectors and a flat ribbon cable to connect to the SAO, with a small PCB and a handle for easy connect and disconnect.
SAO Contest details
This SAO is a little bigger than the specified max size (in total, including case, it't 41x75mm), but it's actually not THAT difficult to manufacture, though there is a bit assembly, flex soldering and fine detail 3D printing involved.