First prototype PCB for GEX

This is just a quick update about the GEX project: the OSH Park PCBs finally arrived, and they work!

Some pics from the first board’s assembly and testing:

I made some mistakes in the layout, but they were easy to fix, and electrically everything seems to work just fine. No big deal, finding bugs in the schematic is why I made this board to begin with. If it doubles as a useful tool, that’s of course a plus.

This is the first time I tried using a switching regulator (MCP1603); I bought those parts some years ago to try and didn’t get around to do it since. Without load, there’s a rather large ripple (around 100~mV), but after soldering on the MCU which increased the current draw, the ripple mostly disappeared. I believe the regulator switched to some different mode, as the coil hissing also stopped.

If you’re curious about the schematic, it’s here: GEX Hub schematic.

How the board works

What can GEX do right now?

The project is nearing its completeness, feature-wise; however, some pieces are still missing, and there will be a lot of tuning and bug-fixing to make it ready for the first public release and opening the source repositories to the public. (They’ll use MPLv2, btw).

GEX connects using two bulk USB endpoints to a PC driver, which is currently either ACM (virtual comport) or libUSB via pyUSB. Python is the main way to work with GEX; there’s also a basic C support, and a MATLAB support is also in the queue. It would certainly be nice to support LabView, but I don’t know anything about it so I won’t attempt that before everything else is reasonably complete.

So what’s ready? A lot, actually:

There are some limitations and many things will need further polishing, but they work.

Here’s what I want to add next:

I would also like to have a PWM support for 3-phase motors, but that’s a “stretch goal” for now.

Here’s a photo of how I tested the frequency capture with some more high-tech tools that GEX eventually wants to replace for the “home bench”:


And some GEX experiments - a NDIR CO₂ sensor interfaced using USART, a RG LED display with two 595, and testing the 1-Wire search algorithm with some thermometers. You’ll find some other experiments in the previous articles, all tagged “gex” (put it in the search box).

Thanks for your interest in GEX, and stay tuned for more updates!

If you follow me on Mastodon, you’ll get them in real time - especially because I don’t have a RSS feed here (oops)