[Ovmsdev] OVMS v3

Jeremy Whaling jeremy.whaling at gmail.com
Thu Oct 2 03:17:41 HKT 2014

I forgot to mention in my other post, the LPC1768 *does* have two CAN
buses. The MBED version of it is $50 but it includes things like
an Ethernet transceiver which won't be necessary for a production board.
The chip itself is ~$11 on mouser.

On Wed, Oct 1, 2014 at 11:17 AM, Collin Kidder <collink at kkmfg.com> wrote:

> Yes, of course I wish that you all could go with the GEVCU hardware. It
> was discussed in the past and the GEVCU project is somewhat inching more
> toward what would have worked for OVMS as well. But, the price is certainly
> way over what seems to be tenable for your project. Many of our hardware
> choices were not the cheapest options but people are willing to spend $600
> on an ECU for their car. For telemetrics the cost aspect is much more
> important.
> Which is why I said that I think MBED would work fine for you. It is very
> much like the Arduino Due (using a Cortex M4 instead of the Due's M3) and
> seems like a good fit for your project. It's powerful while still being
> reasonably energy efficient, cheap, and easy to program.
> On Wed, Oct 1, 2014 at 8:00 AM, Michael Jochum <mikeljo at me.com> wrote:
>> Hi,
>> i vote for MBED. Linux with C/C++ is fine.
>> i think the price for the GEVCU is to high for this project. Must under
>> $200 for all stuff.
>> Bye
>> Michael J.
>> Am 01.10.2014 um 13:40 schrieb Mark Webb-Johnson <mark at webb-johnson.net>:
>> Kevin, Colin,
>> Last we discussed this, didn't we come to the conclusion that there
>> wasn't enough overlap between the two projects? Different goals, and most
>> importantly, requirements. I am also concerned about the US$600 cost of the
>> gevcu (without stuff like bluetooth, GSM and GPS which we need) - I don't
>> think people are going to pay that much for a telematics module.
>> Or, have things changed?
>> Regards, Mark
>> On 1 Oct, 2014, at 7:07 pm, Kevin Sharpe <
>> kevin.sharpe at zerocarbonworld.org> wrote:
>> It’s been interesting to watch the GEVCU development and the inevitable
>> move to a more robust hardware platform which will be based on the Cinch
>> Enclosure and connector (version 6). Something many people wanted at the
>> start of the project.
>> IMO we need a robust hardware platform and the more we can focus software
>> developers on a single platform the better for us all… my vote is hardware
>> that’s compatible with GEVCU and the amazing libraries that exist today
>> (including Colin’s excellent CAN library).
>> Kevin Sharpe | Founder & Chair of Trustees
>> Tel: +44 122 566 7544 ext: 800 | Skype: zerocarbonworld
>> kevin.sharpe at zerocarbonworld.org  <kevin.sharpe at zerocarbonworld.org>|
>> www.zerocarbonworld.org | twitter.com/zerocarbonworld
>> <http://twitter.com/ZCWcharlie>
>> Zero Carbon World is a UK Registered Charity #1141347
>> From: Collin Kidder <collink at kkmfg.com>
>> Reply-To: OVMS Developers <ovmsdev at lists.teslaclub.hk>
>> Date: Tuesday, 30 September 2014 15:53
>> To: OVMS Developers <ovmsdev at lists.teslaclub.hk>
>> Subject: Re: [Ovmsdev] OVMS v3
>> I haven't really been involved with your OVMS project but I have
>> continued to follow it with interest. I really like what you're doing. With
>> the GEVCU project we went through much the same discussion you're having.
>> We obviously settled on using the Arduino Due (eventually rolling our own
>> board based on the Cortex M3 from the Due). The MBed has many similarities
>> to the Arduino Due hardware-wise but uses a totally different development
>> environment and library.
>> Ultimately I think you are making the right choice. It's very tempting to
>> see something like the BeagleBone Black and want to go that route. But,
>> development of code for something like the BBB is much more complicated
>> unless you write it all in Python. LINUX is awesome on the desktop but I'm
>> not convinced that it is worth the trouble for small embedded projects.
>> Dealing with the complications that linux brings will just make the project
>> more complex and difficult to jump into.
>> I know of other people using the MBED platform for vehicle use and it
>> seems to be going well for them. I don't see anything really wrong with
>> MBED and I think it will serve your uses very well. In my view going with
>> the MBED platform would serve you well and propel your project into the
>> future.
>> -Collin Kidder
>> On Tue, Sep 30, 2014 at 10:34 AM, Mark Webb-Johnson <
>> mark at webb-johnson.net> wrote:
>>> And the winner is (or at least who I think the winner should be):
>>> *MBED (and probably Freescale **K64F variant)*
>>> <unknown.jpg>
>>> Firstly, hats off to Mastro for pointing this out last year. Back then,
>>> I didn’t think much of it - it had some good points, but I am very wary of
>>> cloud projects, and closed source cloud terrifies me. But, in the past
>>> year, the project has come so far, and actually using the hardware left me
>>> very impressed.
>>> I think our decision comes down to two choices:
>>>    1. A Linux base, probably compute-module style, with Megabytes of
>>>    RAM, Gigabytes of Flash, incredible flexibility but a challenge to keep
>>>    power consumption down.
>>>    2. An embedded base, with hundreds of Kilobytes of RAM, Megabytes of
>>>    Flash, and all the complexities that go along with embedded systems
>>> For me, the MBED architecture now offers a viable compromise between the
>>> two. The latest M4 processors give enough flash space (10 times what we
>>> have in our OVMS v2 hardware CPU), and RAM (64 times what we have in our
>>> OVMS v2 hardware CPU), that the limitation are lifted. More importantly,
>>> drag-and-drop programming means that even if flash space became an issue,
>>> we could always just offer different firmware for different vehicles - but
>>> this time with re-flashing being simply plugging the module into the PC and
>>> drag-and-drop the new firmware file in place. Think of it as like having a
>>> PICKIT built onto the board, but with the programming software being the
>>> file manager of the operating system - the OVMS v3 module shows up as a
>>> drive on the desktop and you just drop the new firmware onto it.
>>> Let me explain, in a little more detail, how MBED works.
>>>    - The MBED boards actually have two processors. The larger processor
>>>    runs the end-user application (OVMS in our case), and the smaller processor
>>>    makes up a system called the MBED HDK, based on the CMSIS-DAP standard.
>>>    - The MBED HDK consists of a USB port (standard Micro-B type)
>>>    connected to the MBED HDK CPU (on the board), some control circuitry, and
>>>    an ICSP connection to the main CPU.
>>>    - When you plug the MBED into the host O/S, it emulates a flash
>>>    drive; dropping a file onto that drive programs the file onto the main CPU
>>>    flash.
>>>    - It also emulates a serial port to the host O/S so when you plug it
>>>    in you get a serial port to the main CPU.
>>>    - It provides a CMSIS-DAP standard debugger interface (for more
>>>    advanced debugging).
>>>    - The board itself can be powered from the USB, during MBED
>>>    development or firmware updating.
>>>    - As well as support for open source GCC toolchain (and others), the
>>>    MBED included access to an on-line compiler - the code is kept in the
>>>    cloud, in a shared revision control system, can be compiled there, and
>>>    binaries downloaded for installation on the boards.
>>>    - There are a large number of open source libraries available for
>>>    the MBED platform.
>>>    - Coding is in C / C++.
>>>    - The MBED software includes a RTOS with thread support (which
>>>    should make our job much easier than the current state-based and interrupt
>>>    systems).
>>>    - There are lots of low-power modes to work with.
>>> The MBED platform provides the lowest barrier-to-entry I’ve ever seen
>>> for embedded computing. No serial ports necessary. Just clone the project,
>>> tweak, compile, download (with no large IDEs required). Drag-and-drop
>>> firmware flashing.
>>> It is also still raw in places. For example, I purchased an NXP LPC4088
>>> MBED board to also experiment with (512KB flash, 96KB RAM, 32MB SDRAM, dual
>>> CAN) - only to find that the firmware on the HDK for that board doesn’t
>>> support OSX (despite the board being available for a year). That said, the
>>> freescale K64F seems pretty close to what we want, and has no such issues.
>>> The other part of the puzzle is how we offer this. Some people want
>>> displays, other don’t. For 2G GSM one module was fine, but for 3G we need
>>> different modules for Asia, Europe and USA. Some want Bluetooth 2.1, others
>>> 4.0 BLE. Some want Wifi, others want cheap. Some want expansion. etc. What
>>> I’m thinking of is a baseboard design, with plug-in expansion modules.
>>>    - The baseboard would contain the MBED HDK + main processor, power
>>>    supplies, as well as connectors for vehicle, diag, expansion, and USB.
>>>    - It would most likely be based off the K64F open source
>>>    architecture.
>>>    - We would have several (perhaps 4 or so) plug-in sockets on the
>>>    baseboard, to allow expansion modules to be plugged in. Each of these
>>>    sockets would have connections to the main processor as well as expansion
>>>    ports.
>>>    - The baseboard would give OVMS on 1x CAN port.
>>>       - A 3G module would provide GSM + GPS (and would expose both
>>>       antenna connectors to the outside world). The expansion board for this
>>>       would be the same, but we would solder on different modules depending on
>>>       the frequencies required.
>>>       - A CAN expansion module would use Microchip MCP2515 controllers
>>>       + MCP2551 transceivers (or something like it) to take SPI bus from the main
>>>       CPU and expand CAN pins on the vehicle connector. Plug it in, and the
>>>       system then has one or two more CAN ports available.
>>>       - A wifi expansion module would provide WIFI connectivity.
>>>       - A Bluetooth expansion module would use the HC-?? style
>>>       bluetooth SPP modules. Similar to the 3G module, we can simply use the same
>>>       expansion board - just solder on different bluetooth modules for v2.1 or
>>>       v4.0 BLE.
>>>       - A generic expansion module could be used to add custom
>>>       functions.
>>>    - For the expansion modules, I’m think of two rows of connectors
>>>    (one on each side) to provide connectivity and support. Very sturdy and
>>>    cheap. (something like this: https://www.sparkfun.com/products/10414
>>>    ).
>>> Anyway, those are my thoughts, and suggestions given what is available
>>> today. I started this v3 search looking for a Linux base, and really had my
>>> heart set on it. But I just can’t solve the power and complexity issues. To
>>> meet the goals of having something easy to pick up, MBED really seems the
>>> only viable option today.
>>> But, this is no longer my project. There are now so many people
>>> involved, and so many end-users. We are about to hit 1,000 users on the
>>> openvehicles.com website.
>>> So what do others think?
>>> Regards, Mark.
>>> On 17 Jun, 2014, at 9:06 am, Mark Webb-Johnson <mark at webb-johnson.net>
>>> wrote:
>>> Mastro,
>>> Actually, an opportune time as I've made some progress. I'll reply to
>>> your mail here, but take into account the follow-up discussions.
>>>    - The requirements of the OVMS community are diverse. Some want
>>>    pre-heating, some want relay control, some want a display, some want to
>>>    reprogram their ECUs, some want GSM, and others want none of these. What we
>>>    are trying to build is a framework that can be adapted by others.
>>>    - I am stunned that nothing like this exists on the market. I've
>>>    spent the past six months looking for a low-power, low-cost, module with
>>>    wifi+bluetooth and a development environment. Linux/RTOS/whatever. But, I
>>>    haven't found anything perfect. I understand Kevin's frustration - it seems
>>>    that GEVCU and OVMS could base on the same hardware, but even with that
>>>    there appear to be difference in requirement that would just drive up costs
>>>    for OVMS (or drive down functionality for GEVCU).
>>>    - On the GEVCU front, I tend to agree with Rickard's comment that
>>>    the two systems complement each other, but are very different. OVMS could
>>>    be a telematics module for GEVCU, and would add great functionality to that
>>>    project.
>>>    - I spent some time looking at a modular approach. Design a base
>>>    board with CPU, power and CAN buses. Have that base board support plug-in
>>>    modules for wifi, bluetooth, cellular, etc. In that way, we can use
>>>    pre-certified modules, and the user buys what they need. But, the problem
>>>    with this approach is that if what you need is bluetooth+wifi+cellular, the
>>>    cost is driven up considerably.
>>>    - Talking to the China factories, it turns out that bluetooth/wifi
>>>    is cheap as hell and trivial to implement - so long as we are ARM based.
>>>    They laugh when we mention Microchip. They are stunned when we say we don't
>>>    run Linux.
>>>    - A data plan just for the car is expensive (particular in some
>>>    countries like USA), but if we can offer hotspot functionality then it can
>>>    be shared with other devices in the car. For that, we would need to be
>>>    Linux based.
>>>    - On the power front, I don't really see the problem as being low
>>>    power while running, but rather the ability to support a sleep mode when
>>>    the car is off. We don't need low power always - we just need it for the
>>>    90% of the time the car is sitting idle, not charging, not driving. The CPU
>>>    is not an issue here - they all support a deep sleep mode and we can reduce
>>>    power requirement to quite literally a trickle. The problem is the comms.
>>>    We need to be able to be remotely 'woken up' and keeping these
>>>    GSM/Wifi/Bluetooth modules low power while supporting network stacks is
>>>    just not possible. The established industry uses USSD messages to remotely
>>>    wake up their systems, and now I understand why. A GSM module can be
>>>    designed to be in deep sleep, with very little power usage, but still able
>>>    to receive a USSD message.
>>>    - GSM modules like the TELIT and SIMCOM are interesting in that they
>>>    support running code inside the module itself. This is something we haven't
>>>    taken advantage of, but offers us the opportunity of offloading a
>>>    significant amount of what we do.
>>>    - For me, the requirement comes down to a base framework and module
>>>    that supports:
>>>    - 32bit CPU with enough grunt, and a low-power sleep mode
>>>       - Dual CAN
>>>       - Async + I2C + SPI + GPIO expansion
>>>       - SD-Card
>>>       - USB
>>>       - Lots of RAM and FLASH
>>>       - Wifi
>>>       - Bluetooth
>>>       - Optional GSM
>>>       - Optional display (or can we get away with bluetooth to a
>>>       cellphone?)
>>>       - What is interesting is the advent of low-cost Linux frameworks
>>>    that are very close to what we need. Things like the BeagleBone and
>>>    RasberryPi are fascinating, but really designed for HDMI video output - and
>>>    the overhead of GPU + HDMI is a huge power drain. The closest I've found to
>>>    what we require is (
>>>    http://compulab.co.il/products/computer-on-modules/cm-t335/) -
>>>    pretty amazing little device - low power, wifi+bluetooth, dual CAN, up to
>>>    512MB RAM and 1GB FLASH, for around US$50 (in horrendous quantities). I'm
>>>    working with my contacts in China to see if we can base on a dev board
>>>    something like that. If they can make Android phones for US$50, we should
>>>    be able to get the guts of such a device for something similar. Then, add
>>>    on GSM, take it from a BOM to a product, and we're probably looking at
>>>    something still <US$150 but with so much more. The closest thing to ideal
>>>    I've found at the moment is build a baseboard (connectors, power, CAN
>>>    buses, etc) and have slots to take that CM-T335 module and an optional GSM
>>>    module. But, I still think we can find something on the China market even
>>>    closer to what we want/need.
>>> Anyway, those are my thoughts. My conclusion is that to me it seems
>>> sensible to work from a low-power linux base with built in dual-can, wifi +
>>> bluetooth.
>>> Regards, Mark.
>>> _______________________________________________
>>> OvmsDev mailing list
>>> OvmsDev at lists.teslaclub.hk
>>> http://lists.teslaclub.hk/mailman/listinfo/ovmsdev
>> _______________________________________________ OvmsDev mailing list
>> OvmsDev at lists.teslaclub.hk
>> http://lists.teslaclub.hk/mailman/listinfo/ovmsdev
>> <unknown.jpg>
>> _______________________________________________
>> OvmsDev mailing list
>> OvmsDev at lists.teslaclub.hk
>> http://lists.teslaclub.hk/mailman/listinfo/ovmsdev
>> _______________________________________________
>> OvmsDev mailing list
>> OvmsDev at lists.teslaclub.hk
>> http://lists.teslaclub.hk/mailman/listinfo/ovmsdev
>> _______________________________________________
>> OvmsDev mailing list
>> OvmsDev at lists.teslaclub.hk
>> http://lists.teslaclub.hk/mailman/listinfo/ovmsdev
> _______________________________________________
> OvmsDev mailing list
> OvmsDev at lists.teslaclub.hk
> http://lists.teslaclub.hk/mailman/listinfo/ovmsdev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openvehicles.com/pipermail/ovmsdev/attachments/20141001/d60e24dc/attachment.htm>

More information about the OvmsDev mailing list