For the past half year I’ve been building a datalogger with the intent to build a small (one person) company around it. My aim is Campbell Scientific grade (but not the analog part for now).
The datalogger architecture is a carrier with mezzanine connectors for modules and a pinheader for a sbc.
What’s open:
- The high level software is 15 years old now and the previous version is actively used on a research vessel and a couple buoys. While the recent rewrite is on codeberg (I’m no longer employed at the former) named Meles and is roughly 32k lines of Java. This means the data gathered can’t be locked in.
- All interfaces to the outside from the carrier. So people can make their own modules or an adapter for the sbc of choice.
- The HAL I wrote for the STM32u073 (not opened yet because the api isn’t stable enough yet to commit to)
What isn’t:
- The carrier, the modules and firmware on the mcu’s.
Why not?
This is the only path I saw that could be sustainable for me. The platform isn’t a weekends work, I’ve so far put roughly 700 hours into it and I don’t have the luxury of a foundation to give that away . Because I’m aiming it as a Campbell Scientific alternative, the BOM isn’t cheap either but could be reduced if needed.
If you are still reading, what does this mean in terms of hardware (without making it marketing)
- Make linux based hardware available in power constrained applications. So the base hardware logs data to FRAM, boots up the linux sbc and that processes and stores data long term.
- The architecture is based around a carrier and modules that each have their job, while the carrier provides the basics for said modules. Stuff like PPS, 3V3, shared I2C (for isp), and the FRAM.
- Currently this means the prototype (a two port system) draws 10mW while waiting for serial data and up to 50mW while receiving it (one STM32U073 per port at 32MHz so worst case).
- That same prototype also provides power to the attached sensors while adding efuse protection on a power budget (2.5mW/2 ports) with programmable threshold.
- Protection wise, there’s TVS on every pin, slow UVLO/OVLO, reverse polarity/current protection and so on. My goal is ‘connecting 24V to anything shouldn’t kill it’.
There’s a lot more info on it on the website (basic markdown to static html) but i’ll refrain from posting it because this isn’t meant as a sales pitch. I genuinely want to know if this is something that would be acceptable for the Open Science Hardware community.