What language is everything written in? I'm no programmer, just a phone geek and some basic linux functionality would essentially grant you limitless potential considering every android device HAS bluetooth, wi-fi, acceleromoter AND gps, and with usb debugging and root access, you could easily jack those functions, and make a cool app to help with the overall financial aspect of this project. Just an idea. Subscribed, and I'm down to help if at all possible. I'm not the best coder, but I know linux well, and can beta and modify scripts if we've got some form of emulation (back to the phone, hehe) great thread guys!
Custom Stage 3-ish RMS supercharged E36 M3/4/5
Frankenstein e30 318i commuter
1999 ///M3 TiAg | Heated Power Vaders | DDM Projector36 5000K 55W HIDs | DDM 3000K 35W HID Fogs
DDM Smoked Corners | DDM Weighted Shift Knob | K&N CAI | Mishimoto AL Rad w/Zionsville AL Shroud
Stewart HiPo Water Pump | Samco Hose Kit | 16" SPAL Puller Fan | Viper 5701LE Security
E36 OBC is now open! Join the effort: BF.C Thread | openOBC Wiki
Just wanted to ask if the 'hidden' options of the oem obc will also be programmed in/accessible? As I use option 9 a lot; board voltage, and also liters in tank, correction options for estimated distance left on tank, current consumption and current speed.
Now when I use inpa/ediabas or gt1 the refresh rate of some measurements like lambda sensors or volume flow etc are really really slow. How will those be on the open obc ?
My goal is to reproduce as much of the original operation as possible. I'm working on a menu system where you can program the display to show specific data elements that are important to your application.
The idea is to make the whole thing better by bringing out the hidden options but at the same time keeping what was useful about the original design. We also plan to add a new diagnostics mode that will make use of the ADS interface available in the OBC's connector.
I'm guessing at this, but I believe the update rate for ADS values should be faster since we are using a dedicated CPU connected directly to the hardware vs. a PC with all its overhead.
The openOBC code is written in C/C++, although there's nothing stopping someone from writing in any language, as long as it targets the LPC176x series which is an ARM Cortex M3 (he he) variant.
There are some RTOSs (Real Time Operating Systems) available, but I'm not sure if this processor has enough resources to run a full OS like Linux. It's probably best to just write the code as a single app that runs directly on the silicon in this case. There are plenty of resources available to the program that allow OS-like operation without the OS per se. Things like hardware timers and interrupts can make a simple C program have basic multitasking functionality.
Last edited by m2pc; 09-16-2012 at 12:34 PM. Reason: Automerged Doublepost
1999 ///M3 TiAg | Heated Power Vaders | DDM Projector36 5000K 55W HIDs | DDM 3000K 35W HID Fogs
DDM Smoked Corners | DDM Weighted Shift Knob | K&N CAI | Mishimoto AL Rad w/Zionsville AL Shroud
Stewart HiPo Water Pump | Samco Hose Kit | 16" SPAL Puller Fan | Viper 5701LE Security
E36 OBC is now open! Join the effort: BF.C Thread | openOBC Wiki
can't wait to get my hands on this and start writing some software.
what is the price of adding a cpu that can actually run an actual OS... something as powerful as the chips that we find in routers ?
I saw that there is "door locks" header on the board. are they accessible from the standard obc connectors ? I always wanted to have an auto lock feature... e.g. lock the doors after you get to 10 mph.
Last edited by stefanom3; 09-16-2012 at 04:02 PM.
'97 M3
That's kinda what I was thinking, using the smartphones resources to interface with the obc.Originally Posted by m2pc
Custom Stage 3-ish RMS supercharged E36 M3/4/5
Frankenstein e30 318i commuter
Strömung Exhaust // Bilstein Sport/H&R Sport Suspension // Microsuede Interior // 6000k HIDs // Cosmos V2 Intake // Manual ZF Swap // Jim Conforti Chip
Those chips come with greater cost and more power consumption and heat dissipation. We were targeting a simpler design with a low-power CPU as the heart of the design.
Benemorius is using his OBC as an alarm "brain" so yes, these headers do have the ability to send lock/unlock signals to the body module.
1999 ///M3 TiAg | Heated Power Vaders | DDM Projector36 5000K 55W HIDs | DDM 3000K 35W HID Fogs
DDM Smoked Corners | DDM Weighted Shift Knob | K&N CAI | Mishimoto AL Rad w/Zionsville AL Shroud
Stewart HiPo Water Pump | Samco Hose Kit | 16" SPAL Puller Fan | Viper 5701LE Security
E36 OBC is now open! Join the effort: BF.C Thread | openOBC Wiki
They aren't in the factory obc harness, but locking the doors can be done with the diagnostic interface which is in the harness so I think that will be possible.
I do want to make a fully assembled option available. How we might do that depends on how much interest there is. If there's lots of interest, we could actually have them assembled somewhere. If there's hardly any, one person working alone could probably do them all by hand. It seems likely to me that it will end up being somewhere in between, but we'll just have to see.
You might be interested to know that while the average joe with a $10 soldering iron would be out of luck, his buddy with a $10 electric skillet would have a fighting chance. In addition to the fully assembled option, I'm hoping to have a tutorial(ish) video of an openobc being assembled to demonstrate that it need not be limited to those who know what they're doing and have a lot of fancy tools.
Last edited by benemorius; 09-19-2012 at 05:48 PM. Reason: Automerged Doublepost
Ok I think I've pretty much finished verifying the prototype. Everything appears to check out. I've pushed my testing source code to a github repo here. Most of it is pretty clean but there are some messy bits that were hastily thrown in to verify functionality. I've maintained a high level of abstraction for the most part so porting it to the mbed environment should be pretty easy.
I need to order some parts to complete the two remaining boards so they'll have to wait just a little bit longer. m2pc has dibs on one of them but I'm going to need to find a home for the other one - preferably with someone who is able and willing to solder it into an obc and begin developing software with it. I'm thinking that the first priority should be to get an mbed port up and running, but that's subject to further discussion of course.
If anyone has a spare working 18 button obc they'd like to donate to a good cause, I could sure use one at this point - perhaps even in trade for the third prototype, or if not then for one from the next batch of prototypes whenever they're ready.
Can I get dibs on that second board board, I have an 18 button to put it in!
Last edited by vollosso; 09-19-2012 at 06:20 PM.
Ok, now this is just getting out of hand! Phenomenal work on the initial codebase!
So everything is working, fuel level, consumption, etc? Was the fuel level signal as I originally decoded a couple years back (10-bit value in absolute liters)?
I will post a link to the GitHub on the openobc site. We should get together a list of steps to get up and running using the USB interface so people can start hacking away.
Have you tried the mbed compiler with your code to see if you can get a .BIN image out of it? Can that same .BIN image be flashed to the bare LPC1768 and run on it?
So many questions, but it will be nice to get all the detailed ironed out. I'm very excited to help move this along!
1999 ///M3 TiAg | Heated Power Vaders | DDM Projector36 5000K 55W HIDs | DDM 3000K 35W HID Fogs
DDM Smoked Corners | DDM Weighted Shift Knob | K&N CAI | Mishimoto AL Rad w/Zionsville AL Shroud
Stewart HiPo Water Pump | Samco Hose Kit | 16" SPAL Puller Fan | Viper 5701LE Security
E36 OBC is now open! Join the effort: BF.C Thread | openOBC Wiki
You guys are genuises!
Last edited by Pdwight; 09-21-2012 at 02:11 AM. Reason: Automerged Doublepost
A hundred years from now it will not matter what my bank account was, the sort of house I lived in, or the kind of car I drove. But the world may be different, because I was important in the life of a child.
for Zach, Everett, and Lilly
Normally it would be first come first serve, but since there are so few boards right now I feel compelled to make an effort to ensure that it goes to the right person. Preferably that person would be able to install it in their obc themselves and would be familiar with c++ and with the mbed environment as well as microcontroller development in general, and ideally they would be prepared to dive in and get started right away. If that person is you and no one else speaks up then it's all yours, but I won't have it ready until next week at the earliest.
Yes, I believe everything is working. I've put it in my car and displayed some very rudimentary data as proof of concept.
I have a very primitive routine in place to read the fuel level in absolute deciliters and it does indeed appear to be returning sane values.
I agree. I can throw something simple together for osx and linux. The steps for windows won't be all that different but it would be great if someone can handle that.I will post a link to the GitHub on the openobc site. We should get together a list of steps to get up and running using the USB interface so people can start hacking away.
Indeed I have and it works as expected, at least with simple code that doesn't need porting. I did a quick proof of concept program to write some stuff to the lcd and it worked great with both jtag and usb flashing. The only hiccup is that the mbed compiler spits out a .bin file and flash magic only accepts a .hex file. Converting it is easy...Have you tried the mbed compiler with your code to see if you can get a .BIN image out of it? Can that same .BIN image be flashed to the bare LPC1768 and run on it?
...but I'm not sure that's a good option for everyone. There is likely something other than flash magic that can be used - hopefully something that accepts .bin files.Code:/usr/bin/objcopy -I binary -O ihex mbed-file-input.bin hex-file-output.hex
Almost certainly!
took a look at the code. I am not really familiar with embedded stuff - haven't done anything since high school and that's like 10 years ago haha... but the code looks pretty simple back then everything was assembly...
I have 3-4 OBCs lying arround(only one of them fully working the others have display problems, broken buttons, etc.) however I need to do a full OBC conversion on my car first to test... so I can't be of any help right now but definitely wanna jump on board with some programming when I am ready I already saw some things that can be improved.
p.s.
it will be awesome if anyone can PM me with a good conversion guide
Last edited by stefanom3; 09-21-2012 at 06:25 PM.
'97 M3
I'm currently pretty busy with school life right now, but I know my C++ code inside and out, I would probably develop with Eclipse, and I have an extra 18 button laying around. Never used mbed, but I have flashed embedded computers before.
I wouldn't put me down the priority list for first development, but I would be interested in a board on the second bigger (I guess beta) batch. Really would like to see how much better this will datalog than a OBD2 adapter if at all. Have a few other crazy ideas up my sleeve as well, but that's all dependent on finding MS41.1 replacement chips.
Perhaps an idea to start compiling a list of people who are willing to buy a ready to install openobc board complete with basic software on it. This means, after it is fully tested... functional.... and ready to install and forget (unless you want to alter the software or run extra sensors or outputs).
Please put me at number 1 on that list... and I wouldn't mind paying some extra fees for effort
I only have a 11-button OBC (which is going haywire and is currently more or less unoperational), but I'm really excited about this, so buying a broken 18-button to convert into a Feeler (that's the name, right?) is #1 on my to-do-list when this thing becomes ready to roll. I only have a basic soldering iron that's way too big to work on a fine board like the ones Feeler is using, but I'm willing to pay extra for a pre-populated system or buy a better soldering iron to get one of these bad boys. Whatever it takes, my car will run one of these, period!
Also, I'm keen on upgrading the software on my unit, so any updates will be installed the moment they come available. I will also provide user experiences and refinement ideas once I become a user. Despite my lacking knowledge in programming (apart from that one "Hello, world!" at college) I'm a really technical person and will gladly help any way I can.
I used to program in C++ and java heavily altough I no longer program nearly as much as I used to I still have some fun here and there.
I would be most interested, and useful, in developing content for the board, but I can do whatever. If there is a more adequate developer just put me on the list for the first release!
Last edited by vollosso; 09-25-2012 at 09:33 AM. Reason: Apparently I couldn’t spell or type yesterday
I've got the two remaining boards assembled and partially tested. I still need to finish testing them but I plan to have them shipped by the end of the week.
vollosso, can you send me a pm with your shipping address?
it is hard to follow this thread, as there are 44 pages of content. Is there a specific thread or post that details the outcome, the product, what can be purchased, what I need to do on my end.
Cheers...
Paul
Current Cars:
1995 BMW 325i
2013 BMW X3
2017 Infiniti QX30
Past Cars:
1997 BMW M3
2011 Chevrolet Avalanche LTZ
2010 GMC Terrain
1998 BMW 328is
2006 BMW 325i
2007 Saab 9-3ss AERO
2004 Saab 9-3ss Linear
2003 PT Cruiser
2001 Volvo S40
1990 Honda Accord EX-R
Outcome: N/A, work in progress, although the prototypes are functional, so this project is looking up.
Product: A programmable open-source version of the trusty E36 On-Board Computer, upgraded to the 21st century with more features and better access to them.
Stuff that needs to be bought: A 18-button OBC, if you don't already have one. Doesn't need to be functional but the faceplate, screen and buttons must work, also possibly the screen controller. The circuit board and components that the project uses. A pre-populated board is a possibility, meaning that you don't have to solder yourself.
What you need to do: Get the components and solder them to the board (unless pre-populated). Rip apart a 18-button OBC and connect the screen and buttons from the faceplate to the circuit board. Basic soldering skills needed.
Last edited by Morgion; 09-27-2012 at 12:13 PM.
any ballpark idea on price ?
A hundred years from now it will not matter what my bank account was, the sort of house I lived in, or the kind of car I drove. But the world may be different, because I was important in the life of a child.
for Zach, Everett, and Lilly
Who is ready! I've already torn my 18 button down.
By torn and rip we mean un-snapped, ha.
Also price has been stated at fluctuant on order numbers but hopefully ~$200
Last edited by vollosso; 09-27-2012 at 01:02 PM.
Bookmarks