balenaLabs Residencies: our quest to improve onboarding at balena

Please use the thread below to discuss the related blog post:

1 Like

Thatā€™s a great article Phil, I so identify with the issues of onboarding you discussed and think the idea of building a project as part of the process is really excellent. I work for a large governmental science organisation and have found it hard to get established in scientific software or monitoring systems teams. I got through it but it took a lot out of me and could have been a lot better.

Actually for the team I now work for, when I joined I latched on to a problem I could see they had and did my own project (using Balena) to produce a solution that I could demonstrate to my manager and team. This quite shocked them as they arenā€™t used to individuals doing projects - normally they have lots of meetings, project managers, solution architects etc. !

At least it showed them what was possible and that I could contribute with the skills I had (as well as being perfect for me learn about Balena), but I must admit I still find it an eternal struggle when it becomes obvious that a lot of the corporate and technical thinking is stuck in the past. A lot of the people in my team donā€™t have very up to date technical knowledge so half my struggle is trying to explain concepts to them. Oh well sounds like Balena is great company to work for.

2 Likes

Thanks @markysparks , and good to see you here again. :slight_smile:
Iā€™ve used your posts about your temperature sensor project in several talks about balena blocks, and Iā€™ve been wondering how you and the project are getting on.

I work for a large governmental science organisation and have found it hard to get established in scientific software or monitoring systems teams. I got through it but it took a lot out of me and could have been a lot better.

Exactly: people do get through, but at a cost. The traditional thinking seems to be that people have to do a job to learn a job. Whilst there is an undoubted element of truth to that, we feel that itā€™s probably the thin side of the 80/20 rule. Onboarding by making a project gives you 80% of what you need, such as learning the company processes and culture and brings you into contact with colleagues.

normally they have lots of meetings, project managers, solution architects etc.

Ooof, youā€™re bringing back painful memories of past jobs! :laughing:
We donā€™t do all of that at balena either: The Methods & Motivations of Balenaā€™s Organizational Structure (substack.com)

(TLDR: we donā€™t have organisational hierarchies, or siloed teams, or rigid job descriptions, or meetings in the traditional sense of the word. We turn meetings into a game called ā€˜brainstormā€™ :slight_smile: )

I still find it an eternal struggle when it becomes obvious that a lot of the corporate and technical thinking is stuck in the past.

For sure! I spent ~15 years in the biggest of big corpā€™ until I couldnā€™t take it any more.
I donā€™t think the balena way is for everyone, but it sure suits me. :blush:

1 Like

For anyone reading this post and interested in talking to us about working at balena, check out our openings here:

balena - Current Openings (workable.com)

Weā€™re always keen to chat to people!

Hi Phil - the temperature sensor project is moving along ā€¦ very slowly! Iā€™ve had a setup on test for ages, and its been working absolutely fine, but getting it out to a real world site seems to involve so many people and so much planning, then you have people leaving and COVIDā€¦

Then I was asked to produce a version without a display to put on site initially! (yet the display was one of the main featuresā€¦sighā€¦). Of course when you have so many people and teams involved this is what happens, people start to overthink things before youā€™ve even tried it out. I will just keep plugging away, hoping to get a unit out on a real site this month.

Iā€™ve been very happy with the setup itself, the only slight issue I had was WiFi connect failing to reconnect on occasions but havenā€™t seen a re-occurrence of the issue for sometime (could have been external issues). I want to see how far I can push the spread spectrum radio link to the sensor but think it will be good for 1 KM which is way more than I need. The Grafana dashboard looks great.

Another project Iā€™ve been working on involves collecting multiple sensor data from a Campbell Scientific data logger via a radio or RS485 link and using the Modbus protocol. The collected data can then be processed and sent on to multiple online services. Iā€™m using MQTT internally on the IoT device and have a local Grafana dashboard etc. It shows some promise but theyā€™re not ready for this just yetā€¦ :joy:

The Balena ecosystem, blocks etc. makes it so much easier to try out this sort of stuff :+1:

2 Likes

Hey @markysparks -

getting it out to a real world site seems to involve so many people and so much planning

ā€œ Prototypes are easy, production is hard .ā€ ā€” Elon Musk
:laughing:

I want to see how far I can push the spread spectrum radio link to the sensor but think it will be good for 1 KM which is way more than I need. The Grafana dashboard looks great.

This sounds amazing! Iā€™d love to learn more about how you are doing this, and what else we could do with the project. Do you think it would be possible to put this functionality into a block, to make this easy to recreate in other fleets?

@andrewnhem and I would love to get you onto a YouTube stream and chat about your project! :grin:

Another project Iā€™ve been working on involves collecting multiple sensor data from a Campbell Scientific data logger via a radio or RS485 link and using the Modbus protocol. The collected data can then be processed and sent on to multiple online services. Iā€™m using MQTT internally on the IoT device and have a local Grafana dashboard etc. It shows some promise but theyā€™re not ready for this just yetā€¦

This sounds cool too! Iā€™m currently working on a new version of the connector block , which is a complete rewrite using dapr.io
My hope is that it will auto-wire any services running on the device with the block, but also be super easy to wire it up to cloud services. I might ping you a docker image reference when I have a beta version that needs some friendly, compassionate testing. :slight_smile:

Well the two radio units connect via RS232 to the sensor and via USB to the Raspberry Pi (they show up as USB serial port), so that bit is quite simple and just acts like a serial cable replacement. Collecting data from an RS232/485 serial interface (that many industrial sensors use) would be nice to have in a block but the problem is manufactureā€™s all use different commands and data formats when communicating using ASCII data so no standardisation. I suppose this is why protocols like Modbus and SDI-12, NMEA were developed. I could see the value in having a Modbus block where, say you specify a Modbus address and holding register address to read a sensors value. Something I will think about when I get time. Pythonā€™s Pymodbus module is a full Modbus protocol implementation that Iā€™ve been using (but not for the temperature sensor which is just ASCII data).

I also have a small Python Flask web application running that enables an end user to configure the sensor (calibration coefficients etc.) to make things easy when the time comes to replace it. Of course this could easily be done via the Balena dashboard using device variables but that full featured dashboard would be too overwhelming for the people who would be doing this.

Ideally I would say use the Balena dashboard and then the new sensor settings could be updated remotely, no need for an end user to do this. This has got to be the best way and how things should work, however I have to convince people to use and pay for Balena dashboard and show them how it could replace their current workflow. I can see the advantages and I know it would be far more cost effective in the long term for all sorts of reasons, but I have to try and win people over stage by stage. Iā€™ve got my work cutout! but Iā€™m hopeful that eventually we will move towards this solution. At the end of the day though I have to say to the end customer, hereā€™s my solution and let them decide.

Happy to chat about this if you likeā€¦

I had to look up dapr.io, must read up more about it but on the face of it sounds really interesting and useful for this kind of stuff!

1 Like

Hey @markysparks - sorry for the late reply, Iā€™ve been off for a bit.

I could see the value in having a Modbus block where, say you specify a Modbus address and holding register address to read a sensors value

This would be great, and reminded me of some work that @rmorillo24 is doing on a personal project:
Build log: Detecting if the main water pipe breaks - Show and Tell - balenaForums

I also have a small Python Flask web application running that enables an end user to configure the sensor (calibration coefficients etc.) to make things easy when the time comes to replace it. Of course this could easily be done via the Balena dashboard using device variables but that full featured dashboard would be too overwhelming for the people who would be doing this.

This is another thing that we have thought about, and there is some work surrounding. We have been calling it a LocalUI, and the basic premise is to expose configuration and device management features on a UI served by the device itself. Any services on the device could also augment this UI with itā€™s own UI, such as balenaSound surfacing the controls for volume and multi-room config.
Again, youā€™re ahead of the curve here, but we have heard the feedback for this need, and we are working towards it. :slight_smile:

@andrewnhem and I would love to get you onto a YouTube stream and chat about your project! :grin:

Happy to chat about this if you likeā€¦

I will be in touch! :grin:

2 Likes

@markysparks @phil-d-wilson Count me in. Looking forward to creating a great way to talk shop, try stuff out, and share ideas.

1 Like