Project: The Grand Kiosk, the Seeed Studio ReTerminal DM with Nerves

I’ve mentioned it previously in this thread that I’m poking and playing with the Seeed Studio ReTerminal DM which is a $300-400 piece of industrial kiosk kit. I like the look and feel of it and it makes for a very promising prototype platform for anyone wanting to do visual or interactive stuff with Nerves.

Tom Winkler at Formrausch made a Nerves system for it. And I’m hacking away at a demo-friendly featureful sample project.

Figured I’d show some of my progress here on the forum.

I’ve posted YouTube Shorts about it as well (1, 2, 3).

It comes with a solid set of peripherals:

  • Touchscreen
  • WiFi antenna
  • Light sensor
  • Microphone array, two mics
  • NervesKey chip (ATECC608)
  • Convenient boot switch for flashing the CM4 inside
  • Slot for M.2 drive

Plus plenty of ports and some GPIO stuff. It can also be enclosed to make it reasonably IP-classed for water and dust supposedly :slight_smile:

A variant exists that gives you PoE + a camera. Wish I’d grabbed that, it is not upgradable to it.

I will try to put notes about what I do with this thing as I go :slight_smile: Feel free to ask questions if you follow along.

5 Likes

Tom got most of the peripherals working via Linux drivers. So I can query a bunch of driver “files” to get light levels for example. But the mic was not working.

arecord -l did not give the expected device information.

So I’ve had a spelunk all across the Seeed studio overlays, added new firmware versions for RPi. Poked alsa settings. Then found a missing piece of linux config. Added that.
Suffice to say I have the microphone working on the ReTerminal DM.

And also, I’m fairly certain everything except that piece of linux config can be removed. Verifying that now…

Yup. One line.

I spent a bunch of time hacking away on a test script for the VAD ONNX thing that should give us the ability to know when the microphone(s) detect speech and only then do cool things with it. Should prevent picking up noise and doing unnecessary continuous compute. The current versions of the model are no good for those instructions. I still gotta get this working.

The next step would be running Whisper on the chunks that are speech. And that I already know I can do.

Also the ReTerminal DM has an M.2 slot and I believe Seeed Studio supports it and the ReComputer with the AI kit. They have benchmarks. So if/when we get AI Kit support into Nerves this workload could hopefully be accelerated.

1 Like