My son and I are planning to use an STM32F103C8T6 minimum development board for a USB-to-DMX converter, as part of the theater-light project. We chose this board because it is one of the cheapest ARM development boards available (about $1.80 on AliExpress, with free shipping).
We’ve designed a USB-to-DMX converter to fit in a moderately small project box, with a USB connector on a cable at one end and a DMX connector on a cable on the other end (I say “we”, but my son did most of the work, with me making suggestions and doing design reviews). We decided to go with connectors on cables rather than panel-mount connectors, because that allowed us to use a smaller project box and provided more flexibility in connection to a laptop. We were originally planning to use the USB connector on the development board, but decided that it would be too fragile for theater tech booth use. We’re hoping that the pigtail connections will be more reliable, especially with good strain relief. We’re using waterproof strain reliefs, so the project box should provide pretty good protection against spills.
My son finished the board design for the USB-to-DMX connector over the weekend, and we did one board design review to make several minor improvements. This is the first board design either of us has done with an isolated power supply and signal isolators (required for the DMX standard), so we spent some time making sure we got that part right. We’ll do the final design review this evening and order the board (probably from Smart Prototyping, as they will do a 5cm×10cm board for only $9.90, and we’ve had good service from them in the past).
It is beginning to look like the USB-to-DMX adapter and the DMX controller software may be the only part of the theater-light project we’ll get done this summer, because he has an intensive theater workshop for the next two weeks and then is going to the Oregon Shakespeare Festival for almost a week. He’ll only have about 4 weeks after that before going back to college, which is enough time to do the board designs for the lumière, but not to get them back, populate them, and install them—especially as there are some mechanical and thermal design challenges that I’m not sure our current ideas are adequate for. We’re both better at programming and electrical design than at mechanical design. (He’s also working on new products for Futuristic Lights, which takes priority over the hobby project of designing theater lights.)
I have been thinking of supporting the STM32F103C8T6 minimum development board as an alternative front-end for PteroDAQ, despite the board’s somewhat mediocre analog-to-digital converter, because the board is so cheap. I have to decide whether to go with libopencm3, as my son is doing for the USB-to-DMX converter, or the Arduino environment for the STM32.
I’m already using the Teensyduino environment for the Teensy LC and Teensy 3.1/3.2 boards, so it might be simplest not to add another toolchain, but I don’t know how good the stm32duino environment is, so I’ll probably have to play around with it. This is not a high priority for me, as I still prefer the Teensy LC boards for my applied electronics course—the extra few bits of ADC resolution is useful in that course, and worth an extra $10.