In the last CWTD.org podcast, we discussed 3 possible implementations of a standard 'Test Gadget' platform. There seems to be a desire for a basic platform using a Nano and another more powerful version using either a Teensy or a ESP32. One thing that is needed to be standardized is a common 'bus' configuration for the 'gadget' modules. My original 'test gadget' platform, had started out as a test bed for evaluating the ESP32 as the primary processor I will use for some of my upcoming projects. Later, after I saw the CWTD project I started building modules along that line.
Since I had a circuit board layout that would be workable with a few changes, I decided to modify it slightly. This will bring out most of the available pins, that could be configured to closely match those available if using an Arduino Nano. I came up with two board layouts and ordered 10 of each from a Chinese board house that I have been using for some time now. After they arrived I started putting together the Nano version.
Because of the memory available and processing power of the Nano, I decided to only have two connectors for the 'gadgets'. Everything is pretty standard for a simple Nano project, except that I added a separate 3.3 volt regulator instead of using the 3.3 volts from the Nano. On the Nano the 3.3 volts is provided by the USB serial converter, and has limited current capability. The ESP32 is a 3.3 volt only processor, so I will power some of the 'gadgets' directly from 3.3 volts. Since I want to be able to swap 'gadgets' between the Nano and the ESP32 system, I added the additional regulator to take care of any 'gadgets' that need a hefty 3.3 volt supply. The board has a connector that brings out the I2C signals and power for a I2C LCD display, could also be used with a small I2C OLED display if limited graphics are desired. I also have pads for directly mounting a rotary encoder on the board.
While I was waiting for the boards to arrive, I had designed a case to hold the 'gadget rack' main frame. And set my great new 3D printer to getting a home ready for the boards when they arrive.
It took a couple tries to get everything fitting the way I want them, but well worth the effort. That is the thing I really love about using a 3D printer, the ability to make something that fits your project exactly, not just something you had to cobble up to make things kind of fit.
When I assembled the board I decided to mount the 'gadget' header connector on the side by the Rotary Encoder flush with the board instead of vertical like the other side. This makes it easier to use the encoder, and allows any 'gadget' to be plugged in on either side without having to wire them up for a specific side.
One thing I found was that the only I2C LCD display I had on hand was only a 8 x 1 display. It worked for the initial test but have a couple 16x2 on order. Now to get started on putting together the ESP32 version and then building a couple 'gadgets' to check them out with.