Simple changes can be done with very basic understanding. Even stuff as far as altering button configurations could be accomplished by an individual with some interest and no real experience.
1989 535i - sold
1999 M3 Tiag/Dove - sold
1998 M3 Turbo Arctic/black - current
2004 Built motor TiAg/Black - Sold
2008 E61 19T Turbo-Wagon - current
2011 E82 135i - S85 Swap - current
1998 M3 Cosmos S54 swapped Sedan - current
1998 Turbo: PTE6870 | 1.15 ar | Hp Cover, Custom Divided T4 bottom-mount, 3.5" SS exhaust, Dual Turbosmart Compgates, Turbosmart Raceport BOV, 3.5" Treadstone Intercooler, 3.5" Vibrant resonator and muffler, Arp 2k Headstuds | Arp 2k Main studs | 87mm Je pistons | Eagle rods | 9.2:1 static compression, Ces 87mm cutring, Custom solid rear subframe bushings, Akg 85d diff bushings, 4 clutch 3.15 diff, , Poly engine mounts, UUC trans mounts W/ enforcers, 22RPD OBD2 Stock ECU id1700 E85 tune, 22RPD Big power Transmission swap w/ GS6-53
'97 M3, Estoril blue, 2 dr, euro 6-spd, EFR 9180 divided T4 .92 IWG, RK tuning, CP 8.5:1 pistons, Eagle rods, Schrick cams, L19 11 mm ARP studs, O-ringed block, Supertech stainless/inconel valves, Supertech springs & Ti retainers, ported head, S54 oil pump/pan, 80 lb. injectors, OBD1 intake manifold, Steedspeed twin scroll T4, 3.5" SS exhaust, eBoost2 EBC, HFS-4 W/M injection, AEM Failsafe, Zeitronix data logger, Racelogic TC, OpenOBC w. ethanol %, Ireland Eng. engine mounts, UUC black tranny mounts w. enforcers, UUC twin disc feramic, ARC-8's, MCS 2-ways, Z3 rack, Rallyroad strut bar, X brace, Eibach sway bars, Ground Control LCAB bushings, Bimmerworld RTAB's, Powerflex subframe bushings, 210 4-clutch LSD, Stoptech BBK, titainium shims, steel braided lines, brake cooling ducts.
Yep, less than half of them have stayed in the states actually.
Prior experience isn't necessary. I think the best way to learn programming anyway is to dive in to an existing code base for something that interests you and learn as you go. I don't know anyone who didn't learn this way. Generally getting the code to work is the easy part. The hard part is feeling good enough about your code to post it on the internet for all to see.
You absolutely should take a peek at the code on github to see how straightforward it is to make your changes. The fact that the code is fairly well organized has the unfortunate side effect of increasing the number of files and making it look much bigger than it really is, so I'll see if I can point you at the right spots in the right files.
The fuel consumption parameters can be manipulated here. It looks like all that's required is to change the 0.2449 constant. Extra points for making it configurable via the configuration file like I should have done in the first place. A good example of where I took something that wasn't configurable and made it configurable is the changes made to OpenOBC.cpp in this commit.
The startup text has been made configurable, but if you want more configurability than was made available, you can make it do anything you like right here.
A temperature sensor will read just like the external temperature does here. I forget how to use the equation in line 71 but I believe I recall getting it straight off of wikipedia. All you'd need to do to add an oil temperature sensor is make another state (state == TempOil) which reads from obc.analogIn1 instead of obc.temperature and adjust the equation for your sensor.
It's definitely possible to do this stuff without being a programmer or a mathematician. I know because I wrote the whole code base from scratch in a few weeks time and I am neither. In fact writing the openobc code base is how I learned C++.
Next time I'm able to take a week or two off to work on the firmware, I'd really like to cover my workflow in a series of blog posts to serve as both introductory and advanced openobc firmware hacking tutorials. Unfortunately I seldom have enough time to make things go exactly the way I want them to so I can only guess whether this will happen. The closest thing to a tutorial right now might be one of probably many hundreds of arduino or mbed programming for dummies articles that must exist.
And once again I've been not getting email updates on this thread. Everytime I come in here I am amazed at all the progress being made.
Kudos to everyone who contributed to this project -- it's great to see this going somewhere!
Regarding the E46 applicability, I can speak to that now that I actually own an E46. I really do miss all the "extra" functions the E36 OBC provided from the factory.
It would be great to retrofit something more useful into the amazing platform the E46 is. There's so much data flowing inside that car, it's really incredible.
I'm thinking it would be great to modify the E46 cluster and remove the "door minder" indicators and replace that with a dot-matrix LCD of some sort that can act as sort of an "OpenOBC Inside".
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
2014 bump....hope anyone who installed this can post pictures showing all the functions and how do they perform, any issues.
Please see few pictures showing factory OBC hidden functions, this is in addition to regular functions: ext temp, consum, dist, limit, code, speed, check, range, timer and warning messages.
There are over 20 test hidden functions, I'm showing some of the pictures only.
looking good. im wondering if we can remove some of the oem functions from the menus, and possibly reuse original wire points for new sensors?
ie. i dont have an 18 button obc yet, and i dont care for things such as the oil level, coolant level and such. can i remove these, and have a screen displaying say oil pressure(from an aftermarket sensor with known values), boost and AFR?
would i be crazy to think we could repurpose the clock to an afr gauge?
Last edited by hakhawk; 01-03-2014 at 05:58 AM.
It's been a couple of years now, instead of fiddling with the specifications, wouldn't it be better to roll out something to punters?
E36 DICE MediaBridge BT and iPod support Photo location of the cabrio drain holes. Custom heated seats and lumbar support retrofit. Glovebox charging sockets and cupholders. E36 PDF Schematics UK Aftermarket E36 OBC bulbs Convert rear lights from non check-control to check-control DIY BMW E36 MFSW retrofit pictoral DIY All BMWs UK cheaper source for electrical connectors, Farnell, RS BMW INPA success E46/E39 onwards E36 vert mood lighting DIY BMW E36 puddle light and inner handle illumination DIY. E36 convertible flat bungee tension strap fix DIY BMW E36 PDF manualBMW E36 vert water in motor of tonneau area fix.
Then hush mah mouth
E36 DICE MediaBridge BT and iPod support Photo location of the cabrio drain holes. Custom heated seats and lumbar support retrofit. Glovebox charging sockets and cupholders. E36 PDF Schematics UK Aftermarket E36 OBC bulbs Convert rear lights from non check-control to check-control DIY BMW E36 MFSW retrofit pictoral DIY All BMWs UK cheaper source for electrical connectors, Farnell, RS BMW INPA success E46/E39 onwards E36 vert mood lighting DIY BMW E36 puddle light and inner handle illumination DIY. E36 convertible flat bungee tension strap fix DIY BMW E36 PDF manualBMW E36 vert water in motor of tonneau area fix.
Any news? I even forgot about this topic for a while.
1998 BMW M3 3.2 Cabrio • Alpinweiß III on Schwarz • German spec • 1 of 12
SMG • SRA • PDC • AUC • OBC • GSM • HK • UURS • IHKA • FGR • MFL
IG: https://www.instagram.com/iflok/
Yeah well... my selfstudies on C+ are not going as swift as I'd like. That is the progress on my end...
1989 535i - sold
1999 M3 Tiag/Dove - sold
1998 M3 Turbo Arctic/black - current
2004 Built motor TiAg/Black - Sold
2008 E61 19T Turbo-Wagon - current
2011 E82 135i - S85 Swap - current
1998 M3 Cosmos S54 swapped Sedan - current
1998 Turbo: PTE6870 | 1.15 ar | Hp Cover, Custom Divided T4 bottom-mount, 3.5" SS exhaust, Dual Turbosmart Compgates, Turbosmart Raceport BOV, 3.5" Treadstone Intercooler, 3.5" Vibrant resonator and muffler, Arp 2k Headstuds | Arp 2k Main studs | 87mm Je pistons | Eagle rods | 9.2:1 static compression, Ces 87mm cutring, Custom solid rear subframe bushings, Akg 85d diff bushings, 4 clutch 3.15 diff, , Poly engine mounts, UUC trans mounts W/ enforcers, 22RPD OBD2 Stock ECU id1700 E85 tune, 22RPD Big power Transmission swap w/ GS6-53
Well there is a nearly endless supply of websites that try to teach you the language... I'd be happy to get pointed to one that is really good at it.
Most of them sort of jump into the deep (here we see an example of a program. Now it is up to you to disect it with these pieces of information, and begin to understand it that way).
Which is actually fine, but so very time consuming to learn from!! (and time to spend on this is limited. I'd rather be working on my engine build for example)
Oh and it is not like I am incapable of learning stuff like this! Programming PLC's for example is something I did years ago.
Last edited by daandaman; 01-22-2014 at 08:00 AM.
1998 BMW M3 3.2 Cabrio • Alpinweiß III on Schwarz • German spec • 1 of 12
SMG • SRA • PDC • AUC • OBC • GSM • HK • UURS • IHKA • FGR • MFL
IG: https://www.instagram.com/iflok/
Daan - me too buddy - in the same boat as you - progress = zero!
Vollosso - it is tough without a mentor. I so do want to get stuck into this because the best way is to have a go and learn by your own mistakes. What is holding me back is that there is no basic "how to" to flash new firmware and how to restore to an earlier working version once I inevitably mess it up. Once I know how to get back to where I was then I have no problem experimenting. I just don't want to be stuck with a non-working OBC,
Hopefully, Benemorius will have some time sometime soon to steer us in the right directtion.
I actually didn't assembled my boards now, tooo busy with a lot of other stuff, but already bought a second OBC to try
When the first board is assembled i will try to start programming them, otherwise i can ask my buddy over in Bochum for help, as i told you already @daandaman
The biggest problem for him was that he didn't understand what in we're talking about in particular.
He's driving a Compact, so there is no use for the open OBC and he didn't followed up this here.
Rokiii
I think that is the problem - if you designed this, then you know exactly what is going on. Much harder to pick up if you don't!
My E36 isn't driving yet too, so we both are at the same point now.
I think at the end of next month i will start and see whats going on
1989 535i - sold
1999 M3 Tiag/Dove - sold
1998 M3 Turbo Arctic/black - current
2004 Built motor TiAg/Black - Sold
2008 E61 19T Turbo-Wagon - current
2011 E82 135i - S85 Swap - current
1998 M3 Cosmos S54 swapped Sedan - current
1998 Turbo: PTE6870 | 1.15 ar | Hp Cover, Custom Divided T4 bottom-mount, 3.5" SS exhaust, Dual Turbosmart Compgates, Turbosmart Raceport BOV, 3.5" Treadstone Intercooler, 3.5" Vibrant resonator and muffler, Arp 2k Headstuds | Arp 2k Main studs | 87mm Je pistons | Eagle rods | 9.2:1 static compression, Ces 87mm cutring, Custom solid rear subframe bushings, Akg 85d diff bushings, 4 clutch 3.15 diff, , Poly engine mounts, UUC trans mounts W/ enforcers, 22RPD OBD2 Stock ECU id1700 E85 tune, 22RPD Big power Transmission swap w/ GS6-53
I'm currently trying to figure out how to take an aftermarket TPMS and route it into my OBC. Once I figure out how to input the signals, I'll design the menu option to check tire pressures.
That would truly be awesome!
Have you settled on which TPMS you will use? It would be great if you choose a wireless TPMS so we have to run less cabling, like this one:
http://www.amazon.com/Orange-Electro.../dp/B002DYH586
1995 OBD I Cosmos Black M3 - RIP: gone but not forgotten
There are tpms that have video output... perhaps these are easier to reverse engineer? Or is it in fact harder to identify the image processing part on the pcb? http://m.alibaba.com/product/5097429...fications.html
Even better! !!!!! http://www.axman.com/content/kit434mpxy8300a
Bookmarks