Husky Posted April 11, 2016 Share Posted April 11, 2016 (edited) It's me doing a stupid custom project again, it's been a while. This time I'm looking to build a custom multimedia unit, I'd rather call it infotainment but people find that word odd even though it's the technically correct term. I thought I'd written a thread on this a year ago, but can't find it, anyhow it was something I kicked off over a year back and had to put to the side as life got in the way. Be warned, this is probably going to be a dull read unless you find system design interesting It's a work in progress thread, so I'll add to it when I have more done. What I have at the moment: Car: Well it's the first step isn't it, Celica GT4 ST205 Screen: This is the one I'll be putting in, it's a bit of a beast at 10" so we'll see how fitting that in goes... I can buy a smaller one if needed but I'd really like to keep the screen real estate as big as possible. Controller: Raspberry Pi, have the older gen one, will be upgrading to the newest gen later as I progress. I found the older gen to be a bit laggy with certain applications so wasn't overly confident in using it for this purpose, the new gen is way faster though, so shouldn't be an issue. System/Network Design: I'm starting with the system/network design, this bit might be a tad boring, so apologies for that, but it is a necessary evil to prevent major problems further down the line. The point of this is to work out; what functions the system will be tasked with, what I/O the system needs (is there enough available), what (if any) functions need to be distributed out to other control modules beyond the main one, what order the functions should be developed in, what sensors and actuators are needed and finally, is my chosen control board up to the task. Function list: Power management (This is specifically for the system, not the vehicle) Sat Nav Multimedia Vehicle data display Climate control Window control (may be merged with climate) If you have any other ideas of what the system could do, let me know. System I/O high level overview: You can see the different function inputs and outputs in the boxes, this is more of a brainstorming page at this stage than a final draft, so it'll be better laid out in future as I decide what's going in. I'm not really experienced in boundary/network diagrams, so kinda figuring this out as I go along. User Interface Design: The first decision to make before designing any UI is portrait or landscape, this of course affects the hardware installation so needs to be worked out sooner rather than later. After drawing it out and working out some resolutions it seems quite obvious that landscape is the one to go for. The screen res is 1366x768 so multimedia output can be displayed at 720p easily. The screen or controller can cope with using the full resolution for video (768), but then it would need to upscale from 720 or down from 1080 to 768, this scaling will potentially introduce quality loss that I want to avoid. EDIT: After careful measurement it's become clear that, without heavy modification of the centre console area, the 10" screen will not fit in landscape orientation. Although landscape would be preferable due to the resolution for video viewing, portrait has advantages for GUI layout and multitasking with windows placed in different areas. The loss of high resolution video output isn't major as watching video on the unit will not be a primary use. EDIT: For the UI design I'm going to be using Qt. This development environment is very mature, cross platform and already used in automotive applications. I can design on the PC and build it for the Pi which is perfect for me. Physical Design: The screen tech drawings: Orientation:As stated in the UI design section, the likely orientation for the unit is landscape, it's worth noting that portrait would be a far simpler installation as the centre console is taller than it is wide. Vehicle install location:I've borrowed this pic off of google so it isn't my car, but the sizes are all the same of course.This is the area in question. The different components of the console are: Clock and hazards Vents Stereo HVAC controls The screen will go here: The reorganised components will be like this: Red is the screen Green are the tactile controls for the new system Vents will move to the bottom Moving the vents won't be simple but is perfectly possible due to the removal of both the stereo and heater controls; Both units take up considerable space at the rear which will then be free for the re-routing of pipe work. Clock and hazard button:The clock will be a 7 seg display design but it will be mounted flush with the plastic, when the final finish is applied it will seamlessly cover across the plastic and display making it invisible. Once the display is lit, it will shine through the finish.The origianl hazard button may be retained and simply repainted, alternatively one will be sourced from another vehicle that looks less dated. Secondary Battery:Possibly something like this, I need to know the current drain to spec an appropriate battery. Vent Relocation: first one is the left and right swing of the vent, this is a top down view. You can see that the vent has a 26.6deg angle swing from straight, it's the same for both vents facing either way. Behold the paint art gets better. This one is the vent top down same as before but this time with my hand (pink) on top of the gear stick. My hand would be 10cm away from the vent, my fist is about 10cm wide, so that leaves 5cm for the vent to get past on either side. It turns out it's the exact right angle for it. Bear in mind this is when I first start feeling the vent air movement, not full force, that's not until a full 45deg angle before it is at max air flow. The tilt has the same articulation as the swing so should't be an issue at all. Further info while I was out there. The vents are ~21cm wide and ~5cm high. The console right down the bottom is 18cm wide, so it looks like they will have to go up a bit anyway unless i want to cut the vent width down with some creative chopping. Function Design: Overall UI management: http://www.qt.io/download-open-source/http://programmers.s...ive-touchscreen Power management: The power management refers to the power management of the infotainment system, not the vehicle as a whole. A power management system is required for a number of reasons: Protection of vehicle battery from quiescent drain from infotainment system. Correct start up and shut down of infotainment controller. Allowing hot start of various functions, dropping to cold start state after set parameters are met. The two power inputs into the system will be the vehicle battery and a separate small battery as a substitute power source. You can see in the above diagram the planned power system. Normal running will be from the vehicle battery passed through a voltage regulator within the power management system. During normal running the secondary supply level will be monitored by the power management system and if required it will be charged. The vehicle battery state will be monitored by the power management system. If the vehicle battery state goes outside specified boundaries, the secondary power supply will be used to maintain power to the controller. A signal will be sent from the power management system to the controller to indicate the current power source and status. Possible issues: Switching from vehicle power to secondary source will likely require a capacitor to bridge the gap during the switch. Power management system as a separate controller means that changing parameters or reprogramming would require separate access aside from the main controller. Potential pre built units that may do what I need: http://www.mini-box....8&category=1264 Sat Nav: The sat nav will run within the main controller and be displayed on the screen, it will be sized appropriately to the current UI requirement (menus, information, etc). Here's a view of the first brainstorm on Sat Nav network: I've got the GPS as an input, but also an accelerometer and compass. The thinking here is to substitute the GPS signal if it loses satellites. Honestly, I'm just going to stick with the GPS unit at first and see how it goes, it's a lot of extra hassle to add the other two for very little return if the GPS unit is good enough.The minimise and close inputs I'm pondering about at the moment, essentially I want to be able to minimise or close the application easily, I also want the controller to have access to this same functionality, so the signal could come from either place.The GPS unit will also supply the time update to the entire system to keep it on track. Control: This covers the controls that are external to the screen, like buttons and dials. The buttons and dials required will depend on the inputs required to the system. Some inputs will be physical interactions due to common use and minimising distraction during use, these include: Volume control Play/Pause Switch function (media, sat nav, vehicle data, etc) Climate temp Climate fan speed Climate Auto on/off Climate max Climate: The climate system will overhaul a lot of the existing HEVAC. I plan to see if the original motors can be changed due to their age and that they are 20 years out of date tech. The climate system will have temp sensors throughout the vehicle to bring in data. The original climate system is controlled through a large box which outputs electrically from button inputs, the heat setting however is a push pull cable from a dial and will need a servo to control it. The main controller will deal with all of the climate system logic other than the "Climate max" button which will have a hard wired direct override, this is to ensure that, if the controller fails, the vehicle can still be demisted. Doors: The door lock state and window position will be read in and there is the potential to give the controller access to control the door locks and the windows. This will allow the possibility of global open and close of the windows, control of the window position by the climate control or locking of the vehicle if I forget to. Engine Data: Various data will be brought in from the engine diagnostic port, I don't believe it will be as simple as plugging in an OBD reader, as the vehicle is 20 years old. Multimedia: The multimedia will run from the main controller and probably use something like Kodito run Shopping list: Controller (Pi) Controller housing Data storage Link £54.95 Keyboard/mouse Link £10 Screen: Link (bought new, however is discontinued now) £95 http://i.imgur.com/frHdJ72.png , http://www.chalk-elec.com/?p=1576 GPS reciever Link £38.77 Edited April 19, 2016 by Husky Quote Link to comment Share on other sites More sharing options...
Stutopia Posted April 11, 2016 Share Posted April 11, 2016 In for this one, incredible project. I've seen major IT releases with less foresight and planning. 1 Quote Link to comment Share on other sites More sharing options...
Ekona Posted April 11, 2016 Share Posted April 11, 2016 I'm not convinced routing the air vents that low down is a good idea. Do they have enough tilt to aim at your hands and face from that angle? Quote Link to comment Share on other sites More sharing options...
Husky Posted April 11, 2016 Author Share Posted April 11, 2016 Thanks for the interest guys Ekona: let me go measure now, I'm not entirely convinced on the location either but I'm struggling to fit them in anywhere else as I want the screen as high as possible. Quote Link to comment Share on other sites More sharing options...
Ekona Posted April 11, 2016 Share Posted April 11, 2016 Agreed, I'd rather the screen was up higher too. Maybe put the vents between screen and HVAC controls? Quote Link to comment Share on other sites More sharing options...
Husky Posted April 11, 2016 Author Share Posted April 11, 2016 Agreed, I'd rather the screen was up higher too. Maybe put the vents between screen and HVAC controls? Yeah that's a good call. I wanted them lower to keep the continuity between screen and controls though, hmm. I got the measurement done, didn't have any way of measuring the angle so I made some triangles with a tape measure first one is the left and right swing of the vent, this is a top down view. You can see that the vent has a 26.6deg angle swing from straight, it's the same for both vents facing either way. Behold the paint art gets better. This one is the vent top down same as before but this time with my hand (pink) on top of the gear stick. My hand would be 10cm away from the vent, my fist is about 10cm wide, so that leaves 5cm for the vent to get past on either side. It turns out it's the exact right angle for it. Bear in mind this is when I first start feeling the vent air movement, not full force, that's not until a full 45deg angle before it is at max air flow. The tilt has the same articulation as the swing so should't be an issue at all. Further info while I was out there. The vents are ~21cm wide and ~5cm high. The console right down the bottom is 18cm wide, so it looks like they will have to go up a bit anyway unless i want to cut the vent width down with some creative chopping. Quote Link to comment Share on other sites More sharing options...
Husky Posted April 12, 2016 Author Share Posted April 12, 2016 (edited) I've been looking a the fit of the screen this morning and it's perhaps not looking good I may have been a tad optimistic with the 10inch display! I had a suspicion it wouldn't fit and I am prepared for that eventuality (I have other uses for it) but it's still sad if it wont go in. The relevant screen sizes are here: red (full width with bezel) = 269.37mm orange (screen width, no bezel) = 233.8mm blue ( screen height, no bezel) = 139.0mm The very rough measurements I got from the car put the available width at 21.5cm at it's narrowest. Best case scenario is that I can recess the screen where there';s a bit more room, but then there is a very good chance I won't be able to see all of it once it's in there. Time to locate a new screen I guess! EDIT: My options seem to be: Mount vertically and accept really bad downscaled resolution on any video (is this a big issue really?) Heavily modify the dash to fit the screen in. Mount the screen in front of the console so it's sides stick out. Recess the screen in where there is more space, potentially blocking the view of it's edges. Find a new screen that's smaller, likely 7inch, although hard to find 720p with touch. Accept that I'll have no touch input and find a screen that fits (easier to find) Find a screen that fits and a touch overlay separately. Remeasure the dash in the hopes that I got it slightly wrong and in fact the screen does fit... Just. EDIT2: I think the decision has been made to mount it in portrait orientation. Reasons: Loss of resolution for 16:9 video isn't critical as watching high res movies isn't a priority. Sat nav can still be full screen, in portrait mode. Layout of the GUI is oging to be far easier as multiple sections can be shown at the same time as content. Edited April 12, 2016 by Husky Quote Link to comment Share on other sites More sharing options...
Husky Posted April 13, 2016 Author Share Posted April 13, 2016 Toys arrived today. New gen 3 Raspberry Pi, with official case (which is really nice) and NOOBS imaged 16GB micro SD card. Also got a mini keyboard/trackpad, you can see the gen 1 Pi in the clear case too Hooked it all up to the screen and fire it up. I put XBMC(Kodi) on there for now as I'm just testing things work with the screen etc, this Pi will run our bedroom projector setup as it's main job. Super happy with the image quality, within minutes I had it streaming IPlayer So I know the screen still works after being in a box for a year, but there is an issue with the connection layout, it was designed with the first Gen Pi in mind, by Gen 2 they had moved some ports around and it's now a really bad fit connecting up. I can fudge it with some cables though so I think it's fine. I'll need to image the Pi with Raspbian or Ubuntu to test the touchscreen though, I know it worked a year ago, fingers crossed it still does! NB: I won't be using XBMC for the multimedia in the final build, it is primarily a full screen program so I can't embed it in a window the way I want. I'll likely use VLC for video/audio playing. That's all for now Quote Link to comment Share on other sites More sharing options...
Stutopia Posted April 13, 2016 Share Posted April 13, 2016 Any reason for not going for something lighter than Ubuntu? Is it literally down to touchscreen drivers alone? Quote Link to comment Share on other sites More sharing options...
Husky Posted April 14, 2016 Author Share Posted April 14, 2016 I need to develop an entire GUI that'll run sat nav, vlc and whatever else. At the moment I have absolutely no idea what I'm going to use for it, I actually got scared and started looking at how much it'd be for a car PC so I could have windows on it becasue that's my area, Linux scares me! That's why I got the Pi early, so I can faff about with it and learn while I go. I'm looking at Qt for building the interface. But hey. if you know your way around Linux and have any pointers let me know! 1 Quote Link to comment Share on other sites More sharing options...
Stutopia Posted April 14, 2016 Share Posted April 14, 2016 Sorry, I'm no use to you there, I've played with a few Linux distros on VMs and Pi but never taken the plunge and lived with one on my main machine. I'm too heavily integrated into OSX/iOS to change now! I think NOOBS comes with Linux Mint Debian, which is supposed to be lightweight, but I must admit I got bored with it after a short while. There was a RISC OS on there too, which was purely a nostalgic gimmick to me, taking me back to my youth on acorns! The newer Pi has beefed up processing doesn't it, so should be a winner anyway. Quote Link to comment Share on other sites More sharing options...
Husky Posted April 14, 2016 Author Share Posted April 14, 2016 Sorry, I'm no use to you there, I've played with a few Linux distros on VMs and Pi but never taken the plunge and lived with one on my main machine. I'm too heavily integrated into OSX/iOS to change now! I think NOOBS comes with Linux Mint Debian, which is supposed to be lightweight, but I must admit I got bored with it after a short while. There was a RISC OS on there too, which was purely a nostalgic gimmick to me, taking me back to my youth on acorns! The newer Pi has beefed up processing doesn't it, so should be a winner anyway. The new Pi is a dream machine now, it's faster home cinema than my gaming rig just because it has the wonderful benefit of not being weighed down with all the BS. Kodi runs as fast as you can smash the buttons, zero load time. I'm a lifer with Windows sadly, never taken the plunge in any other OS as I get frustrated being a noob all over again. If I made this in a Windows environment there's a range of things I could build it in no problem in a lot less time. However that comes with the overhead of an actual PC build on mico ITX; cost goes up, space used goes up and so does power requirement. Quote Link to comment Share on other sites More sharing options...
zebedy Posted April 14, 2016 Share Posted April 14, 2016 ok, Im loving this project but its totally out of my depth with all that techi stuff. Why is this better than fitting a straight forward Androd tablet? What can this do that say a Samsung 10" tab cant? Just interested thats all, not being picky. Quote Link to comment Share on other sites More sharing options...
billdingo Posted April 14, 2016 Share Posted April 14, 2016 I'm a lifer with Windows sadly, never taken the plunge in any other OS as I get frustrated being a noob all over again. If I made this in a Windows environment there's a range of things I could build it in no problem in a lot less time. However that comes with the overhead of an actual PC build on mico ITX; cost goes up, space used goes up and so does power requirement. Do you know about this? https://developer.microsoft.com/en-us/windows/iot/Downloads.htm Not a big windows guy myself, so not sure what you get in it, but may still be enough of the standard OS for your needs. 1 Quote Link to comment Share on other sites More sharing options...
Husky Posted April 14, 2016 Author Share Posted April 14, 2016 I'm a lifer with Windows sadly, never taken the plunge in any other OS as I get frustrated being a noob all over again. If I made this in a Windows environment there's a range of things I could build it in no problem in a lot less time. However that comes with the overhead of an actual PC build on mico ITX; cost goes up, space used goes up and so does power requirement. Do you know about this? https://developer.mi...t/Downloads.htm Not a big windows guy myself, so not sure what you get in it, but may still be enough of the standard OS for your needs. I was eyeing this up actually, but the brief google I gave it had a lot of criticism of it being buggy so I put it down for later reading. I'm not sure how old those reports were so it may have been sorted. I know that they target that platform at hobbyists so it may be ideal. The basic design of the system shouldn't change so I can still crack on in the direction I'm going, it's only once I get tot he implementation stage that I need to start making a call on the final OS. Even then I think that something such as QT can compile for various platforms anyway so I wouldn't be too stuck. Definately more reading required though! Quote Link to comment Share on other sites More sharing options...
Husky Posted April 14, 2016 Author Share Posted April 14, 2016 ok, Im loving this project but its totally out of my depth with all that techi stuff. Why is this better than fitting a straight forward Androd tablet? What can this do that say a Samsung 10" tab cant? Just interested thats all, not being picky. Yeah fitting a tablet is certainly an option, I could write an application for it and achieve much of what I'm planning most likely. For me I like designing what's in there, I can modify and update it to suit my needs as required. Say for example there's a nice jump in screen technology putting 4k stuff into tablet sizes, or some change comes around relating to touch control; with a sealed tablet I have to change the whole build in order to have that upgrade, with this I can change only the screen. Same goes for the processor, inevitably faster ones will come out as time goes on, I can simply swap out the controller in this build as opposed to changing the whole tablet in the simpler design. Finally the vehicle level control requires input/output to the controller, for things like the Raspberry Pi and Arduino this is their bread and butter, for a tablet, not so much and you'd have to resort to a more hacky solution. I love the design and build being personal though, I know how it works, I know how to fix it and I can upgrade it any time I like. It's one of a kind too which is always great. As far as understanding the techy stuff, It's just big more than complicated so it can be a bit overwhelming. Once you break it down into small sections it starts to fall into place. I could have gone ahead with this project just buying bits and fudging it together, but I don't want it to cost the earth so planning ahead saves money. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.