 It is about the Womelin project, it's a control software that's used in Caravans and it is presented and developed by RFGuy with others and he also supported the radio batch on the last camp event and he founded the Womelin project and he is giving us an overview of what he learned on the software development on this project and what specific difficulties have been working with different hardware and different Caravans. Yeah, a warm welcome to all watching the stream and our replacement Easter Egg event that didn't take place because of reasons. I'm still doing my talk today. Yeah, software development at the example of the Womelin project, Womelin, it's a shortcut for Caravans in Germany. It was like, it has happened much as happened then. And I've learned a lot also by discussion with many people and there have been many changes to the hardware and the software concept. I'm going to outline the project shortly. So just to give an overview why we are doing this, what does the Caravan industry, the kind of Caravan manufacturers do, what components can use, what hardware you can use for Caravans, what possibilities do exist. I'm going to present some actual Caravan hardware which has really developed since the last year, first prototypes have arrived. There's also a display unit which has been working yesterday for the first time and then there's the software concept which I developed with a colleague of me, Johan Franze, he's named. And we want to say how we imagine such a heterogeneous platform as the Caravan because each Caravan is different, each Caravan looks different, each Caravan has different hardware components, there's different expectations by the user, different needs to fulfill. Yeah, someone's talking in the mumbled right now, I don't know how to mute it, I hope it doesn't happen too often. Yeah, so far why we're doing this? Yeah, let's move to the slides again. There's no open solution yet, there's like some open source projects where some people are using an Arduino on Raspberry Pi or some other ESP to write some software to control the Caravan hardware, some devices use the same interfaces, but they can't talk it to each other directly. That's because the name von Berlin is very common, the LINN bus, LINN communication standard, it's like a CE and TI bus and it's used in the Caravans, but they can't talk to each other directly. There's no direct public standard, there's battery sensors that are coming from the automotive sector and they can't talk to other hardware, so it's a heterogeneous field. Yeah, there's no complete solution yet. Yeah, that's because why it's necessary. I know some Caravan dealers, which I have good contacts to and their customers want some kind of solution for that problem. The Caravan industry is able to build good Caravans, but they aren't good at building software or UX or something, they are not giving that much love. So, let's start. At the beginning of this year, I have been to the CMT in Stuttgart and that's how Caravans look like today. What you can always see is there's like a heater unit, it's like controlling the heating, different manufacturers, Toma and Alder and Toma, the manufacturer recommends or requires this unit, even if we could control it in other ways, it is required. Then there's like some other control units, a manufacturer control unit, here's a control unit for the energy, power supply. Yeah, but it's like not very nice looking, no standard, it's like looking a bit ugly. Yeah, some manufacturers do analog displays, like analog clocks, in again like control unit for the Toma and heater and right next to it, Toma and yeah, they even them can't interconnect their devices, that's for gas control unit. So, even they can merge all control units into one, even if it's the same manufacturer, and then there's like a manufacturer, caravan manufacturer control, maybe for some water pump, maybe like four steps of LEDs, the capacity of the board battery or the water tank, but there's not much more you can do with those manufacturer control units. More examples, sometimes there's just a few buttons with LEDs right next to it, maybe some kind of a clock. Yeah, and the clock probably needs to be reset as soon as the power is lost, and yeah, not much besides a few buttons, not good feedbacks, I can't see, a good battery capacity just like, yeah, if I'm like without power supply and I yeah, need to have a good knowledge of how much power do I have even, yeah, as long as how long can I use my heater because that's not working well, 12 volts of power supply, some more examples of Toma and Toma bedding control units. And yeah, there's a few buttons for the, yeah, water tank or the lights in the blower, there's like a user control unit, there's like, yeah, power block, it's like the charger, and some electronics to, to control the battery and some fuses and so on and I can use the control unit to check my battery level, and there's a main control switch, which, yeah, powers on off the entire thing. The last picture, the, yeah, it's like a very good example, the top upper left, there's like the water heater, below that there's the battery monitor, how for my battery capacity is, then there's like the trauma heater control, or maybe for the gas supply, and there's for the power supply, yeah, for the power supply control unit, and another control unit, smaller display unit, and it's like a battery sensor, they have a different, again, one different battery control unit, my battery sensors, yeah, that is able to tell me the capacity, the sensors are quite well, they can do a lot of things like start and stop electronics, and so on, it learns the battery capacity, and yeah, that's as cheap as 15 bucks, so as long as you have a plumbium battery, it doesn't work for lithium batteries as well, which are quite common in the caravan industry right now, and quite useful because there's, yeah, advantages against the plumbium battery, and that's like the main control unit, that's like a caravan that's more expensive than 100,000 euros, so even in very expensive caravans, there's still many different control units and not a single one, and yeah, you need to make a boot process, it takes like 20 seconds after booting it up until it works, and then again, you can display clock and battery status, and yeah, there's a comment of my colleague, as I sent them those pictures, he says, unimaginable, 1919 has called, they want the control units back, I know why you make this project, yeah, and that's one of the reasons, initially I wanted to control my old caravan, now I've switched to a new one, and it was a good example to develop something that just works and that fixes all those problems and wants, in the caravan industry, there's like, yeah, a collection that has had the idea to init something, some development, they created those CI bus, we're defining an interface to interconnect all our devices, and of course, we are putting that below an NDE, because like linbus control commands are very, very secret, and you definitely can't read them on the bus, so yeah, it's available since 2015, single control unit that's able to control everything, yeah, those pictures I've shown, they've been taken in February, yeah, there's a control unit that's able to control the Tuma heater, but Tuma still says you still have to have a separate control unit for the heater, and the control of the caravan manufacturer is having a separate control unit to control the heater, and the heating control unit says the commands to the heater, so it's like, two step project, and the control unit just says, yeah, I want my water at 60 degrees and my, in a temperature at 19 degrees, the heater is working autonomously, the control unit is just telling the commands to the heater, but the heater has its own temperature sensor, so it's regulating itself, it's just like about transmitting the commands, and yeah, you need to pay an annual fee to get to this premium, and it's about 4000 euros a year, and you have to sign some NDE AEs, which is also nice, and you're not allowed to publish those communication information, and yeah, you still can interconnect each device. The different parts are still from different manufacturers, they have different different parts, different some so different manufacturers have different protocols, it's not really compatible etc, so this makes it less interesting to use components from different manufacturers, so you have different controls, which you can, yeah, I'm sorry, what is possible to be controlled at all? What is interesting? An important topic is the power management in such a caravan, it's everything is done with the low power controllers, there are many controllers on, so many parts can be turned off to be as energy efficient as possible, so this is very important when being on a location without a power source, so you only have your battery, then it's enough for instance to wake up a control all five minutes or so, to only wake it up all five minutes, and let's say in case we have a problem with moisture in the caravan, and then we could wake up the gsm module and send a message, but of course I need certain existing components because we want to do 100% everything's DIY, as I already said there are for instance intelligent battery sensors, it's available for not that much money, usually it doesn't always do, it's not really communicative unfortunately, so I had to reverse engineer it, and in the meantime I have also a specification, but I cannot, unfortunately I cannot publish it just like that, and yeah there are different sensors, they learn, they have their own power management, so they don't drain the battery, they are, and over the lean bus I can check the battery capacity, charging, discarding, charge, things like itching of batteries etc, and yeah that's quite a cool thing when using lead acid batteries, because such a controller does all the charging discharging stuff, unfortunately this doesn't work with lithium batteries which are getting more, yeah, getting more common here in Germany, they're getting cheaper as well, so there is also the open boat project which started on the boating sector, and I ordered just one from China, it costs about 600 euro instead of 3000 from a German vendor, there are other manufacturers like Watanik, this one opens his own communication protocols, and you also have a small website which explains their communication protocols and presents some open sourcing, open source protocols, there's a controller which can work with lithium batteries, it can measure the voltage of the battery, and the protocol is open, this is also possible to have things with Bluetooth or the VE direct bus, and the most important thing is the VE direct bus for our Womaline project, it has RS2T2 and TTL level and power source, we can directly use it, we already have all bus converters etc, we have all in one plug which is quite a nice thing, so we can plug in our own hardware, another bus which we use is the VE bus, it's based on RS485 but with some voodoo because they also sync inverters, you can for instance do them, connect them in parallel, this protocol is not entirely open but there exists a USB interface which can translate the signals from this bus to USB, so you can also control the power block and the inverter using this, which is quite nice, so this is a power inverter, it's a thing which always uses some energy when it's turned on, so it's quite interesting to turn it off when it's not actually in use, so my micro one is also sometimes used as a UPS or as a charger for my mobile devices and I can for instance limit my power consumption, for instance if I want to operate my air conditioning and I only have an electrical connection which gives six amperes, I can further turn on the inverter to have some more power when using the IC, there are more manufacturers of high quality equipment, it's Voltonic and Putner, they sell it together with a solar one-in-one packets, they also have an interface based on RS485 and some they are not officially documented and other people also began reverse engineering but it's not really openly available, it might be in the future to have some common specification, so they are currently also switching to LinBus, so it's possible to, yeah but the problem is then they are bound by the NDA which says that the manufacturer cannot even open his own commands that they use themselves, then we have the heating and IC part in the caravan, there the market leader is Truma, they manufacture air conditionings that you can build into your caravan, they manufacture water heaters, they all use the same interface and they call it TI bus which has to be reverse engineered, the control unit is a box which can be built into, they also offer Bluetooth and GSM models which basically sends commands to the control part, control unit only but also this device can, it basically only says turn on the heater or turn it off, interestingly it's using Bluetooth locally, so if you send something via remote via SMS then it internally will be translated into Bluetooth and then another manufacturer that's offering such devices is Dometic, they have like a fridge control which for future to control, that's talking to LinBus or the climate devices, they are also LinBus accessible but at least it's like displayed in the owner's manual but yeah we need to wait until someone buys such a device and can have a look into it, there's sensors in each caravan, yeah there's like some temperature sensors because yeah those one wire temperature sensors are cheap and then there's sensors for the tank, the blue things are those plug sensors, they can display several different heights, sometimes it's with ultrasonic, sometimes there's white sensors for gas bottles, or there's a capacitive sensor that's emitting a voltage and then you can request the measurements with an ADC and you can get a much more precise measurement, yeah you can maybe you maybe want to measure the door so if the caravan is moving so you can send some messages, there's much LED lightning in the caravan which is more standard today, there's like only 12-volt voltage in the caravan and I want to integrate the lights, yeah that I can like turn on the lights in the front, another button to switch on and off the lights just by one wire button, yeah there's multiple different switches or with PVM functions or dimming you can like lower the lights, which I already displayed at the last time, there are some examples what other people developed and there are many different projects which are not bad, it's also always great project but often yeah it's just a few a couple of functions very limited to usability and pretty specialized just working with yeah certain hardware and certain problems that people want to solve by that, yeah we also thought about that it's a very early state, the early concept of the graphical user interface, we want to think about that a lot and yeah if what people want to contribute we can talk to each other, we thought of making some widgets so we can add some buttons and yeah program like a function for this button like switching something on and off or display the state of power supply, do I need to do power saving mode or maybe the display can stay on so that's the way it should be displayed, I as a customer can think of several different displays, widgets that displays several things in my caravan or which allow me to control several things so that's the rough concept how is this supposed to work then there's current hardware which has changed since the last year, there's four times lint bus four times is 485 and four times is 232 then there's a can bus for talking to the caravan or control functions like radio controlling the windows then there's eight analog in and outputs for temperature sensors or buttons the advantages that you can also put a power supply by this one via lighting lines yeah eight analog inputs for yeah there's a digital ios as well then there's the shittier on which like a seabass add-on then there's a compass and a gyro sensor someone there's some people who want to watch television in the caravan and you want to know in which direction the satellite is when you're going to the caravan place and then there's a Bosch environment sensor which is also known from the cardio which is like humidity air pressure and then there's a bluetooth model and an esp 8266 12f module for wi-fi and then there's a west bay pi plug so you can which is also switchable so if you want to realize some remote control by mobile and there's an 8e gsm module which is also used at the west bay pi module and it can also be switched off separately then there's a four bystable release and eight relays eight relay driver and then there's the control bus which is like a can bus which which is driven over uart so all components that control the system are interconnected and yeah the display is connected to that the west bay pi is connected to that the esp module and yeah you can use that to display or transmit our signals which i want to come to later and also control something and every device that's connected to the bus um listens to all commands and gets everything um the first part of times adjust the wife before congress and during buildup we also yeah i started soldering them it's like a lot of work um now i'm like buying and ordering them already soldered because it's like much work yeah then there's a smaller sensor but because the compass needs to be horizontally leveled yeah some debug interface that's able to be accessed by uart or can so you can access it by your laptop easily um then we had a second prototype where we did some bug fixing that i'm going to order at the end of this month and the final board um will be announced the order will be announced like at the end of may so where people can join and we will sell this for like the material price and there's several people who are already interested so we're going to announce that as soon as possible um in the one van form and the vulnerable form and the telegram account and the github wiki so we're going to announce it as soon as it's ready um all production data is public the software is uh completely open and the hardware as long as this is commercial of course as well that's a picture of the 36 c3 where we started soldering the components to the sport you can see the pie plug at the left side and the plug for the modem there's a sd card slot and several plugs for plugging in the periphery and the hardware devices and some proprietary plugs to directly connect the two mahiting or something and yeah also some power supply for the display units the display unit is also ready already we have uh yeah i started using the display yesterday for the first time of course we did the connectors wrong and didn't read the data sheet right so yeah so we've been able to display something on the display for the first time it's an stm32l for our nine graphic unit display um you can also plug in octo spi flash and ram under that but there's 64 k of ram and several yeah voltage controls that adapt to the board voltage it's a 24 bit rgbtft display connector and an itc controller for the touch controller um we can yeah we can recommend to the new heaven then you haven't display um but you could also plug in different displays um yeah nearly all rgbtft displays can be driven by this and yeah if you want to use the touch you could also need to buy with the touch controller that's how it looks like the display from the back it's directly screwed and um there's a plug for the touchscreen and right there is the content of the plug for the rgbt and the control voltage they also just use the oras 495 cable to connect it and you can also daisy chain to other to to other car ones etc and maybe you would also like to to turn off the light or etc and orio would like to have real-time clocks there's a real-time clock on it and the controller can still still be in the minimum power mode and the real-time clock continues as as it should without doing doing a match all the boards have a usb connector where you can where you can uh switch the stm into master edge mode and using a usb cable without even a debugger you can connect uh computer to it this was yesterday evening at picture from yesterday evening you see our logo on the screen which we also have on the kit and we hardcoded the picture into it to to test it it works very well we make progress and till always usually is at the moment doing the former of the big board and yeah we progress very well so the next topic will be our software development these are the slides from mirro i will explain how how we do the software development to be as modular as as needed to configure your your vehicle to configure your components etc without having too much in-depth knowledge so from the user's point of view we have our car one which has certain components for instance solar power and solar power controller battery controller etc which does certain measurements it can do you can do things like switching switching your your fridge from gas back to battery if you have too much electrical power on the other hand we have the things we have to part on what do i want to do i want to be able to control the entire thing using my tablet using my smartphone or using the touch display so i want to have a gooey concept which works somehow and we have the gap in between which how do i communicate with my components to make it cheap flexible energy efficient etc if you think about it only the display costs about 300 euro and if you need more boxes it's again about 300 euros and so and if we take our price will probably be much lower we will our project is aiming to be at about 300 euros it's this is much cheaper than commercially available solutions from the technical technical point of view we uh yeah we again have our components which we want to talk to we have different protocols they speak the canvas some speak kan some speak aras 232 some speak bluetooth etc for instance yeah our battery sensor using bluetooth and it's quite common and there's also a gas sensor which uses bluetooth and we also yeah we have these protocols on the other end we have our control possibilities so how can i control them now from a technical point of view so now we have our from the hardware point of view we have our main unit which gives us physical interfaces and also gives us the possibilities to make to get all our software in it so and yeah how can we implement the software as efficient and by reusing as much code as possible and our solution to this problem or to this challenge is so the main problem is the really heterogeneous situation that each current is completely different if also if you have one model line by one manufacturer there are quite a lot of uh of different kinds you have premium you have uh low budget they change all two years so to summarize each each control has to be individual and yeah of course everybody is also doing adding their own hardened software like more charger chargers alarms entertainment systems there's you almost everything so our solution is a generated software we offer the offer people a tool where they can use xml files to configure their components and and part we will probably also offer a docker container which can then build the individual firmware for your car one we cannot build everything fixed into the firmware this would be much too big firmware but we can offer a tool which builds the firmware for you so we have an hour and we have our hardware we call them units they speak a certain protocol on the maybe the linbas and we know this protocol then i need to define this once and what the user user in the end wants to do is to know what is the current battery voltage or the current capacity we so we we convert our value from the bus to a so-called signal a signal is like a standardized thing of variable that we use inside our project and this signal on the other end it activates the unit which is needed to to make a query for instance our signal is named battery sick and it can be defined like you see on the left side and on the right side we have the unit the hardware the protocol is defined in this xml file it's battery lin and the signal of course has to be the same name like we saw in the left side and on the in the firmware we also have to define on which port on the main board this thing is physically connected and this definition is written into the port thing maybe we need more information like a board rate etc and in the units i need to also need to program the commands which the need to be sent by the linbas but this is this is all defined in the unit we do find a command that have to be sent at the command which are expected to be received by the by the actual unit in our example of the battery yeah that was the example for the battery these two xml files will be put into the code generator which will then produce the custom firmware for our board we also did the same for the display unit it looks quite similar because this display unit is talking to all these signals or using all these signals so there we have the same definition of what do we want to do i want to create signals or read signals for instance this battery voltage i can also do this inside the display for instance in a widget of the display and yeah we can also of course do the same thing same principle for the display itself when this kind of yeah these things can be can depend on different other system signals for instance are we connected to a fixed power source or are we running our battery or whatever yeah i can switch on and off things things as i as i want that yeah i can request the state of battery voltage regularly and generate a signal by that and send that to the manual and that answers replies to that so that's how i define my widget in principle we're going to use little vgl which is like an open source embedded ui library there's like a proper tool to prescribe the ui concept because everyone has already hassled with ui concept and we want to get a working and good ui concept so we are always open for new ideas um to say that it's working well and we need to think about that who is using some kind of control units like that that's not just nerds like us um who are also comfortable with you within your terminal or something like that but it also has to be usable by everyone by this small tight up to like uh some elderly people everyone has probably gotten annoyed by some ui concepts that are so bad designed we have a couple of ideas and we want to put lots of effort into that because that's really a thing to us yeah that's already at this starting point right now so we're going to present some URLs um here's some URLs about the limbus and the hella ibs sensor um there's some URLs for the Arduino interface and uh a repository where they're doing reverse engineering on the vortonic and then there's the open boat project um yeah in the boat community there's a big open source project because yeah they bought uh an exhibition at the boat exhibition just off and they had a six square meters um yeah center at the boat exhibition just off and yeah it's a canvas driven mxma device and it's partially reverse engineered some manufacturers uh aren't using uncompliant to the standards really but it's also what we're looking into it as i already said the goal is to which uh order in end of may we're going to tell you some costs until then maybe one or two prototypes are we probably going to order maybe because like the plugs have been wrong and there have been smaller changes but yeah just stay in contact and ask us and yeah people are already waiting for it it's an open source project and everyone is doing that voluntarily so in the current situation that yeah something isn't uh getting done as fast as it possible um yeah i think i'm in time right now let's come to a conclusion the project is hosted on github um at maxcc there's also a wiki there and for conversation there's like a telegram group and um the links to the form are stored in the github wiki there's uh in several caravan caravan forms uh threats regarding this project yeah and i think i'm done so far i need to switch on my audio again so the hallowed can talk to me and that means i'm ready for questions ah okay and i'm getting i think there's some technical difficulties and we're starting my stream getting no audio anymore yeah i think they have some problems there ah okay now the hallowed is full screen and works again yeah thanks a lot for this talk let's get to the q and a session somebody asked where can i order the board how much will it cost um you already told us it will be just the material cost but can you give him estimate on how much you need to invest to support the project or to join the project yeah two seconds are over the display is around 300 euros at mauser we are looking for so a cheaper source of china or something maybe we can take up a placement the display controller i'm guessing it's about yeah it's also always china chinese stuff about 30 to 40 euros the big controller but i hope yeah it's something about 150 euros would be great completely with components yeah so it's like together with the display yeah about 250 euros that would be the goal we are aiming and we try to reach that my you can order it through the forum or to the telegram group we're announcing it as soon as we're ready links are also located in the github wiki or in the telegram group yeah thanks then there's a question like sensor data like solar power something are they stored in some kind of log yeah of course there's an sd card slot so you can just plug in a full-size sd card there and the controller on the board has an sd card interface and of course we want to look those data and you could also read out those by the pie or something but of course logging is planned and there's a question are they going to be two different boards of course there's two boards for one i'm going to show it that's the display board from the back that's the smaller one it's like the touch display in this case is a seven inch display which is put into the put into the caravan for control you can just also use the pie if you do not want to have touches play and that's the big board that's wild the large that's the main unit you need and at the side yeah the debug interface so you can plug it into your computer and the sensor board that is going to be separately so you can mount it horizontally yeah and i'm going to close this by yeah more of a comment by the feedback and the question that i have as well many of those sensors are already used for home automation yeah maybe nothing like gas for the white sensors but if you're like building a new home you also might want to put a bus system right through the home and would it be possible to use this system to do some kind of home automation or customize it of course they would be possible what would be really interesting is yeah that's many of those yeah solar systems can be controlled by that instantaneously and the home metric wire is is 485 system it's it's open so you can use it for that and i can also mount those touch displays at multiple locations in the home why not it's a good idea and we are open for ideas and just talk to us yeah thanks so one big project again for the for the drawl thanks for to our fcribe for this very interesting and nerdy talk yeah thanks for me as well and have fun at the dialogue