If you have the microcontroller (PIC) mounted on a socket in your board, probably you bought it from Dejan, in this case, if you send me the chip, I can update your firmware, just drop me a PM.
Would it be possible if you get a new PIC chip and you program it with the latest FW. That way we are not left without a working unit during the long transit back and forth between Italy and North America.
@Robby BMW
Why not include an USB bootloader to the MCU so owners can always update the device with new fimrware versions themselves, directly from the carputer without the need of any special programming hardware? If you want to avoid firmware piracy and don't want people to be able to program other MCU's with your raw HEX-file, then just use an AES, XTEA or similar encryption bootloader. Then people can't make their own programmed MCU copies, but only updgrade the programmed MCU's they once purchased with the built in encryption bootloader and a valid key already programmed in the boot section of the flash memory.
A secure encryption USB bootloader would be a nice addition to the next firmware version, so owners wont have to take apart their car and return their devices and wait for firmware upgrades but can do it themselves right away from the carputer via USB just by downloading an encrypted firmware HEX-file form your website.
Here's an open source USB PIC Bootloader with XTEA encryption: http://www.diolan.com/pic/bootloader.html
XTEA encryption algorithm is used to protect privacy of firmware application updated with USB PIC Bootloader.
I highly second this feature. Infact I was discussing this with Lok the other day. Moreover this is an industry standard procedure rather than shipping the chip/board around each and everytime a bug is fixed.
Trust me, I've been through this path before. The firmware updates are going to be a real pain in the wrong place sooner or later if enough thought is not put into the user upgrade option now itself. I would highly recommend the user upgrade path even if it delays the whole delivery a little.
@Robby BMW
Why not include an USB bootloader to the MCU so owners can always update the device with new fimrware versions themselves, directly from the carputer without the need of any special programming hardware? If you want to avoid firmware piracy and don't want people to be able to program other MCU's with your raw HEX-file, then just use an AES, XTEA or similar encryption bootloader. Then people can't make their own programmed MCU copies, but only updgrade the programmed MCU's they once purchased with the built in encryption bootloader and a valid key already programmed in the boot section of the flash memory.
A secure encryption USB bootloader would be a nice addition to the next firmware version, so owners wont have to take apart their car and return their devices and wait for firmware upgrades but can do it themselves right away from the carputer via USB just by downloading an encrypted firmware HEX-file form your website.
Here's an open source USB PIC Bootloader with XTEA encryption: http://www.diolan.com/pic/bootloader.html
XTEA encryption algorithm is used to protect privacy of firmware application updated with USB PIC Bootloader.
As this project was born for my personal use, I had not foreseen the possibility for other people to upgrade the firmware themselves, and to be honest, it's not so necessary, also because this new firmware was created to meet the needs of Alok (Lok) to use also the new sensors (with CE logo) produced by 3rd Eye, and to drive a couple of LEDs that are not present on the original boards, in other words, for a new commercial product.
However I will take in consideration the idea for the future, although I have always had a reluctance to bootloaders and encrypted firmwares, I have never seen one that can not be easily decrypted by an expert hacker. At the moment I think the best way to prevent firmware piracy is to avoid to distribute the firmware around the world.
__________________
_______________________________________
Car installation 95% [■■■■■■■■■■■■■■■■■■■■]
Current project: Parking sensor USB interface
Do you know about the Hungarians that hacked the RFID crypto, Robby?
If someone would like to put the effort in, they could hack your code as it is today. Or reverse engineer it like you did.
IMHO the hardware itself is a protection agains wide spread piracy. And for this group I think most people are just greatful to eventually buy it ready made. And for these people it is just an insurance that they can upgrade if a bug is found or an improvement is made. In your shoes I would sleep a better at night knowing that too.
But I guess that depends on how much money you are planning on making on this.
Don't be upset. I just think the argumentation is a bit thin. It's a great item, and I've got one myself that Lok built for me.
__________________
A 8051 system that controls PC power etc with or without BMW IBus and is a GPS receiver with dead reckoning. mp3car thread
I have always had a reluctance to bootloaders and encrypted firmwares, I have never seen one that can not be easily decrypted by an expert hacker.
I have never heard of anyone hacking AES encrypted firmware, but maybe you have? And how many expert hackers would even be interested in hacking this?
Anyway anyone capable of hacking the firmware would also be capable of writing their own code just as fast I think. The firmware is not doing anything that advanced, it's basically decoding a serial protocol and forwarding it to the USB port. Neither the input protocol or the USB protocol is encrypted in any secret way, so anyone with the skills to hack firmware would also have the skills to write their own instead. They would just have to reverse engineer the input signal with a logic analyzer like you did and then translate the information and send it to the USB port. There's a lot of programmers capable of doing this, while there's only very few capable of hacking the firmware. You already gave information about the data packets, so decoding it would be simple for a skilled programmer.
Getting hold of a pirated copy wouldn't be worth that much anyway as the product value is low and the market for such a product is rather limited to the carputer community. And the hacker would still have to design his own hardware too and sell it substantially cheaper than already available from LOK otherwise people would buy one with the original firmware instead. People capable of hacking it would probably rather use their hacking skills on something more profitable. Some hackers don't do it for profit but do it just for respect in the hacking community, but this kind of hackers does not hack something like this, but websites and computer programs instead. They would not get any respect in the hacking community for hacking a TMPS sensor.
So I don't think anyone would even bother to try to hack it. If they were interested to get copies they would just write their own code instead, then they could tweak it just like they wanted and maybe add other features too.
No offence but I think you are being a bit paranoid here.
I think a lot of owners would be pleased to be able to upgrade it right away instead of the hassle of taking apart their car and sending it to you for an upgrade and waiting for a new one to arrive.
It could be interesting to integrate it into one USB connected microcontroller together with other carputer interfacing applications. For example have features like reading steering wheel controls, TPMS and backup sensors all in one micocontroller. All of these three examples are projets that are active in this forum at the moment and each using an USB connected microcontroller.
By just getting hold on the firmware you could not make any modifications or add any features, but just use it as it is without any modifications. For this you would need to get hold of the source code intead.
If someone really wanted to get hold on the firmware mabye they should just try to hack into your computer to get hold of your source code instead, it would probably be just as easy as to hack the firmware, there's lots of software tools and and guides floating around the net on how to hack into a computer. And getting the source code would be more valuble than just the firmware anyway.
Hey guys, I guess theres a lot of fuss going on about making a the firmware upgradeable via USB. I definitely agree with you guys in the respect of functionality but the main thing you have to remember is that this is a simple device and doesn't need to get constant updates like a motherboard or video card many need. The only reason the firmware was to be upgraded was due to a change in the sensor logic. Robby has already taken measures to ensure that it won't happen in the future. Otherwise the only time we need to add features to the board is when we redesign the hardware. For example Robby has added support for two status LEDs to the firmware , but without the new board the firmware update would be useless, and since I usually place the latest firmware on the board, it hardly needs to be updated. This is not an issue of paranoia but rather an issue of working on something that doesn't really need to be worked on. Robby would have to do some extensive work on his end and I may even have to change the board design just so we can add the USB upgrade functionality, which will probably never be used. If this device was something more complicated I can understand the need for USB firmware updates but I think after version 2.10 (the one with the LED's) we will not be needing an update for quite some time.
You guys have a valid point when you say that if this was something that a hacker wanted to hack, it would have already been done but why serve it up to the hacker on a silver platter? The last point I wanted to make was that this project has a lot of Robby's hard work and efforts invested into it, we are all benifiting from him developing this excellent Car PC gadget as well as many other ones, the least we can do is honor his wishes.
I don't mean to make some of you jealous but I have a picture of a Version 2.00 board with the 2.10 Firmware which has the added LED functionality. We just have leads coming up off the PIC right now just so we could test it out but after we approve the drawings for the new board today we should have the new one ready in about a week and a half. You will also notice a spring looking thing in place of the wire antenna. The spring is in fact a helical style antenna. After some testing we found that the helical antenna helps reduce the minimum distance required from the sensors to the reciever to about 0.5 meter while still maintaing a max distance of at least 10 meters. I know we are working to increase the range of the device but we also need to insure we can keep the reciever close to sensors especially since the device might be used on smaller vehicles. We may package the the product differently (use different antennas) in the future depending on the application.
I also have a picture of a learning tool we have made to help us speed up the time it takes to learn a set of sensors to a reciever board. Its basically two pesticide sprayers (we want to eventually have 4 so we can do a full set), connected to a T junction with valves and connections so that it can be connected directly to a compressor. This tool is great as it saves us from getting a workout from pumping the sprayer all day. Hope you guys enjoy the pics and movie.
Nice Alok, luv the fact that one LEDs will indicate comm-status
And cudos on the pesticide sprayers too! Good thinking, I've used something similar when developing the beta CF plugin with Wolfgang.....hehe.
So, wrt the antenna, maybe I'll get one of the helicals, will add greater range to the TPMS - coming down to 0.5m is really handy for testing purposes.
I know a lot of people have been asking me about availability especially since not many of you have not been able to purchase a Kit for quite some time now. I have not released any boards to the general public as of yet as we are undergoing some testing. We have finished our Alpha test and are currently working with individuals from Mp3car forums (mostly moderators) to complete the final Beta Test. In the mean time version 2.00 boards will be available in my store (no LEDs) starting monday of next week. I only have about 5-10 as I have to give the rest to my testers so if you want one make sure you hop on the store on monday. The stock on my site will update every two weeks so if it runs out you may have to wait up to two weeks before it will be avaible again. Also once the Beta Test is complete, the 2.10 (LED version) kits should be available on MP3car's store as well. The price is now set at $300 for a 4 sensor kit.
MP3car is still working on setting up the private forum but it should be up in a couple of days. Don't worry, I will let you in on the details as soon as its up. Thanks!