Getting started
Biological experiments ofter require the measurement of environmental parameters or acquisition of signals from a subject of study - where these must be processed and used to control different outputs, including sample conditions and timing, adjustment, communication or storage of collected data. Commodity hardware, including microcontrollers, electronic sensors and output devices have become available at low cost. The availability of cheap, accurate 3D printers allows devices to be adapted to existing experimental setups, and integrated in custom housings.
The Biomaker initiative aims to bring together such low-cost tools and training materials to help inexperienced and non-programmers (biologists) build useful instruments, and to share open designs.
We employed open source Arduino hardware and IDE/XOD software development tools in our first iterations. Matt Wayland and I have been surveying new hardware devices that would (i) take advantage of the ESP32 family of high performance, low cost microcontrollers, (ii) offer a well supported alternative to XOD for visual and low-code programming, preferably with a pathway to a conventional coding language such as Python, (iii) provide good support for existing hardware and flexibility for the future including use of AI tools, (iv) tools for interactive design and programming of touchscreen user interfaces, and (v) all this accessible at reasonable price and availability. After numerous trials, we have gravitated to M5Stack hardware, well-engineered devices based on Expressif ESP32- S3 and ESP32-P4 microcontrollers, available with integrated touchscreens and Grove-compatible connectors for expansion.




Above: M5Stack devices (Clockwise from top left: CoreS3, Cardputer Advanced, Tab5, PoE-P4, Stopwatch and StickS3 (more details here). All have had the host UiFlow2 software flashed into read-only memory (Rom) using the online tool at https://burner.m5stack.com/, and are showing the relevant home screens. Ready for programming with UiFlow2.
UiFlow2 programming environment
Perhaps most importantly from the perspective of Biomaker, M5Stack provides access to a web based programming environment UiFlow2 that gives (i) a Blockly interface for visual programming, teamed with (ii) a linked Micropython editor to allow combined approaches to coding. (iii) There is good built-in support for the wide variety of M5Stack devices, including small Atom and Stamp devices and peripherals. There is also support for Seeedstudio Xiao and Arduino Nesso ESP32 based devices. (iv) UiFlow2 includes a special integrated interface for programming their touchscreens, and allows seamless switching back and forth between the programming environments. UiFlow2 allows connection of any of the M5Stack controllers via USB or WiFi, construction of a program in Blockly and/or Micropython, and direct downloading of the prototype software to the connected device for testing and debugging. Software changes can be tested interactively on the hardware. In this way, user interfaces can be developed and tested quickly.
There are over 100 M5Stack devices and peripherals available. Integrated support for these is another time-saving element during software development. The particular hardware elements are chosen for each project, and the appropriate software routines automatically become available, menu-like. The more powerful devices contain display and touchscreens, and UiFlow2 provides a graphical interface for designing user interfaces, adapting to the properties of each devices screen.
Tight integration of hardware and software
Earlier, we used 'bare' Arduino-compatible boards and free-wired components, then moved to more modular Grove connected components. The subsequent move to M5Stack elements goes a step further. The M5Stack devices embrace a series of modular construction principles, which include continued use of the Grove connector standard, a custom bus for interconnection, integration of I2C sub-controllers, integration of display devices and robust housings, which are useful in prototyping/teaching environments. These features allow further design flexibility and component interchangeability. Expressif have an ownership stake in M5Stack and there is a fast rate of development, with weekly releases of new hardware.
M5Stack sell a range of ESP32-based microcontroller devices with a variety of integrated sensors, indicators, data ports and user interfaces, including keyboards and touchscreens. The devices are useful in different contexts. For example, the small StickS3 can be coupled with an infrared sensor to build a simple programmable thermometer with digital display and alarm (Gel-o-meter). The Core family is comprised of 5x5cm modules that can be stacked on each other via the custom M5 electronic bus for communication. A number of different functions can be plugged together to create hybrid multi-function devices. A CoreS3 device with in-built touchscreen can be combined with stackable modules connected to thermocouples and mechanical servo for a temperature controller with sophisticated programmable interface (AirFlow PCR). In addition the Tab5 device is available that provides a larger touchscreen and is based on the ESP-P4 (with an ESP32-C3 for wireless communications).




Rapid improvements in hardware and software are continuing to arrive, especially as AI tools improve and become more accessible. We think that a careful selection of tools will facilitate the hands-on use of electronic sensors, control and communications by biologists - making custom builds easier for our experiments. This website is intended to provide a window into ongoing developments, and regular updates can be found at the Bluesky link in the footer below.

biomaker.org
