J&J Studios is back on GroupGets with three new boards that make it dirt simple to get sensor data in JSON over USB to literally any computer or SBC. One is the datum-IMU, another is the datum-Light, and the third is the datum-Distance. All are just $39.99 and below is an in-depth Q&A with their creator about why he designed this line-up and who they are targeted at.
When we first started talking, you mentioned that you were making your datum boards outside of a day job which is something that I can appreciate as another “side hustler.” Doing hardware on nights and weekends definitely takes passion, so what motivated you to make the line of sensor boards?
Making it easier for students and hobbyists to integrate sensors into their projects.
I’ve been a mentor, coach, and judge to various programs through FIRST for over ten years now. That’s given me a lot of opportunities to see first hand how students use sensors in their projects. It’s very ironic to me that elementary school students participating in FIRST LEGO League often use more sensors on their Mindstorm robots than students participating in FIRST Robotics Competition (FRC) at the high school level do.
A large reason for that is how much easier it is to integrate sensors into a LEGO robot. The students plug the cable into the sensor and the controller and can get started right away. The EV3 automatically recognizes and configures the sensor for them. All they have to do is add in their code to use that sensor. Gyros, encoders, light sensors, and range finders are all very common to see on a LEGO robot.
At the high school level there are libraries that need to be installed, wiring and cabling that needs to be built for power and communications, mounting considerations that need to be accounted for, etc. etc. Even demonstrating how a sensor works is not always a straightforward matter. By the time you get the breakout board wired up, find the right power supply, get the demonstration code loaded, format the output so it’s meaningful, and have everything ready to go the students have often lost interest. Convincing them that this mess of wires and cables will survive the rigors of competition is also a challenge.
The datum line of sensors brings the same level of plug-and-play compatibility Mindstorms sensors enjoy to a new audience. Each sensor is fully integrated and ready to go out of the box. Plug in the USB cable, fire up your favorite terminal program, and you’re up and running. On Linux and macOS you can interact with the datum sensors directly from the command line. There are no special libraries to install. You can use cables that are readily available online and off the shelf. There’s also little chance you’ll mis-wire anything because the power and communications are all integrated together.
FRC is often called the ‘hardest fun you’ll ever have’ and that has also been true of this project. I’ve challenged myself in many areas bringing the project to this stage and had a lot of fun along the way. I’m sincerely looking forward to the day when I see that light of understanding dawn in a student’s eyes when I’ve made it easier for them to appreciate what sensors can do and the utility they bring.
Who are the primary target users of the datum line of sensor boards which include an ST Microelectronics time-of-flight distance and IMU, a Broadcom light sensor, and a Bosch environmental sensor?
Originally the primary target users were the students I interact with through FIRST and FRC in particular. As this project has grown and taken shape that audience has grown. Many people are curious about sensors but they’re intimidated by a breadboard or making a mistake when they wire everything up. Knowing that the target users for these boards were less comfortable with hardware and often more familiar with software the goals were simple:
Plug-and-play simplicity. No extra modules or cables needed.
No special libraries that needed to be installed.
Intuitive, familiar control interface.
Meaningful, human readable output data.
Output that’s easily parsable in a wide variety of languages.
Right now people are using light and environmental sensors to help reddit users vote on when it’s time to water their plants. They’re using IMUs and distance sensors in their DIY drones or autonomous vehicles. Sensors bring the outside world in and smarter sensors will make that all the easier.
One of the great things about the open source community is often you get to stand on the shoulders of giants. In the case of the JSON output that would be the ArduinoJson library. I tested a few other libraries but ArduinoJson hit that sweet spot of ease of use, performance, and capability. Speaking of giants I’d be remiss if I didn’t mention SparkFun and Adafruit. Their hard work developing their products and sharing code libraries was also instrumental in making this project happen.
The sketches themselves occupy 25–30% of the storage available. RAM usage varies depending on the size of the report block being generated. Even at the higher data rates there’s still plenty of overhead.
The URI interface is completely custom. As you said it’s a much more common interface on the web but it was a natural pairing with the JSON output. Appealing to what people already know makes it that much easier for them to grow in new directions.
Given that data is output over USB and USB ports are usually a scarce resource on an SBC, how do you recommend using multiple datum boards in one system? Can users pull the data out over the other serial ports that you’ve broken out? Have you validated any USB hubs that work well with them?
The on board serial port was used extensively during the development of all the boards in the datum line. The hardware support is still there but direct serial output is currently disabled. Each board comes with an Arduino compatible UF2 bootloader so users can easily customize them for their application.
Having USB as the backbone brings with it the same assurances on data integrity and compatibility that all USB devices enjoy. Specific USB hubs haven’t been validated but during our testing we’ve used hubs that are brand new and others that are over ten years old. All have worked flawlessly with the datum boards without issue.
Another note on the expansion possibilities using a USB hub. Each sensor only draws 20 to 30 mA. It’s possible to power over 30 to 40 sensors off of a single USB 3.0 port. The Raspberry Pi 4 has two of these ports so you could theoretically host 60 to 80 sensors on one SBC.
Can you say what’s next for the datum line?
Quaternion support for the datum-IMU is very high on the list. Open sourcing the custom libraries behind the boards is also very high on the list. The boards share just as much behind the scenes in software as they do in hardware (which is a lot).
Many features were eliminated during development as well. User programmable output triggers based on the sensor values, direct serial output, hardware clock synchronization across multiple boards, implementing FIR and IIR filters in addition to the filters already supported. Those are just some of the features that were considered and eliminated.
As for new boards in the line up? There’s a lightning detector breakout board just waiting to get tested. There are also a number of health monitoring ICs that have some very interesting capabilities. Not to mention the new VOC sensors that are now available. One thing is for sure. We’ll continue working on breaking that barrier between a Mindstorms sensor and a breakout board.