The BLEding Edge

rickard

In a dozen different ways, technology is a double-edged sword with no handle. I marvel at the magic rocks emerging from vendors such as Analog Devices, Texas Instruments, Semikron, and others. Just reading the data sheets gives me a creative spurt.

And that is a sign of our times as well. Twenty years ago I would talk to a sales specialist at Hamilton Avnet or other chip jobber and they would describe their new chips and offer to send me a sample and data sheet in the mail. Two weeks later I would have it. No charge (if you worked at McDonnell Aircraft, Emerson Electric, or Martin Marietta Denver Aerospace that is) but it was 10 days or two weeks to get it. And by then I couldn’t recall the conversation or need that inspired the request.

Today, Google is your friend. You can have any data sheet for any chip in 20 seconds. You can have data sheets for chips that actually don’t exist yet in 20 seconds.

All of this accelerates the pace of technology development. Printed circuit board design software such as Eagle or Altium, combined with this instant availability of chip libraries and spec sheets and reference designs has dramatically changed electronic design engineering. It’s become a kind of cut and paste design process. The entire world of electronics is kind of a cookbook process.

But adopting new chips sometimes leads to engineering “anomalies” as the first versions sometimes don’t react exactly the way the vendor intended. Indeed truth in spec sheets has followed our political process. Apparently it is just no longer a big deal.

This is often referred to as living on the Bleeding Edge of technology. The edge of the sword that cuts you and winds up dripping with blood. There be beasts lurking in those waters. Hence the term Bleeding Edge….

The wider media seems to have instantly grasped the concept of autonomous vehicles and to read about it, they apparently are already everywhere. The entire world is so enamored of this concept that it is a bit Luddite to suggest that it doesn’t actually exist yet. GM paid $1.45 billion for a San Francisco company of about a dozen engineers that had been in business for less than two years and had to date publicly demonstrated an autonomous vehicle in the same sense that an RC toy car is autonomous. It would automatically drive anywhere you wirelessly controlled it to go. I have no idea what they privately demonstrated to GM but it must have been impressive.

Understand this: there are no autonomous cars. Its a concept. Not a technology.

I have personally and publicly opposed even the concept in past videos as long as two years ago. I was totally mystified by the Elon Musk announcement of the intention. It seems bereft of any kind of common sense to me. But he’s a very bright guy. He must know something I don’t.

Accident-causing mechanical breakdowns of automobiles are so rare that we don’t really take them into account. Our entire legal and civil court system, a large part of which has been devoted to automobile accidents, simply assumes that one of the drivers caused it. The question devolves to which driver is at fault and even that has kind of resolved with the advent of no-fault insurance.

Automobile manufacturers get a free pass. The only time they get involved is with a national recall of their vehicles and in the legal system, really only when they try to NOT do a recall and hide some accident causing defect for ten or twelve years to avoid the consequences. THAT can be expensive when you are finally busted. A very recent ruling allows ignition switch lawsuits from BEFORE GM’s bankruptcy to penetrate the bankruptcy and reach the NEW GM that was supposed to have all that behind them.

But the only time the manufacturers are really on the hook for the safety of their products legally is when they pull some cheap shit to avoid a recall or the expense of the fix. If they belly up and do the recall timely, they’re just not held to account.

Why would you give up this virtual legal immunity on purpose?

Musk’s original announcement struck me as crazy – it’s like volunteering for a court date. I can just hear the 17 year-old tittie-blonde in court now: “But your honor, I thought the car was driving – the web site said so!”

Musk was quick to restate the mission: It was not an autonomous car, it was like an autopilot in an aircraft and you were supposed to actually be responsible for it like an aircraft pilot and monitor its’ operation.” But in the next sentence he is talking about being in LA and requesting his car come get him from New York, actually stopping to charge itself along the way.

The autopilot analogy fails badly and rather starkly reveals that Musk is not a pilot. But Straubel is and he should know better.

Aircraft have a huge advantage over automobiles. It is the concept of “Big Sky”. That is, the sky is so big, that the odds of two airplanes meeting mid-air are essentially non-existent.

Now it IS true that they DO meet in mid-air. But statistically ALWAYS in what is termed “congested airspace” and almost always “controlled airspace”. After flying around the world in the big sky, the aircraft ALWAYS lands at an airport. And the air around the airport is full of other aircraft taking off and landing. So in about a 15 mile bubble, you have controlled airspace and it is termed “congested”. Some of it VERY congested.

But once you depart the bubble, you are in Big Sky. And aircraft are comparatively tiny. There IS a growing congestion caused ironically by GPS navigation. The GPS is so good that it tends to “funnel” aircraft into fairly narrow lanes between cities. Previously, even on published routes, Big Sky was big enough. But mid-flight mid-air collisions still simply don’t happen by accident. The statistical odds are just unfathomable. It cannot occur.

So flight crews are kind of on high alert taking off and navigating out of the Class B airspace. Once out of the bubble, it is pretty much autopilot on and get a cup of coffee. Pilots have a really funny sense of what to talk about. In the air, they talk of nothing but women. On the ground, in the presence of actual women, they talk of nothing but flying. And they use their hands like Italians when they talk about flying.

So 15 miles from the airport, the coffee comes out and the discussion of women commences. Aircraft cockpits with female pilots are notoriously quiet.

Despite extremely rigorous technical and inspection requirements, in flight failure of the autopilot does happen all too frequently. But it’s rarely an emergency. There are several ways to disengage them. And it only takes a minute or so to sort everything out. About the worst that happens is an altitude deviation (you departed the allowed range of your assigned altitude). A quick correction and radio call to apologize pretty much covers the destruction.

Automobiles not so. If we didn’t have roads, and just drove across country like a covered wagon, it would still be two dimensional but better. In aviation we have a third dimension from zero feet up to about 45,000 feet depending on what aircraft you are flying.

But we are entirely dependent on roads. So while 6000-8000 aircraft are carving up Big Sky at any one moment, 100 million automobiles are on earth, confined to paved roads. And they are generally moving at 75 mph separated laterally by 18 inches and longitudinally by a couple hundred feet.

On autopilot “failure” you have about 200 milliseconds to react. If you are napping or reading your Kindle, playing Pokemon GO or watching virals on YouBoobToob, you’re dead.

If you were watching EVTV, you probably ARE napping and you may even BE a Pokemon character.

Joshua Brown, 40, was apparently watching a Harry Potter movie on a handheld DVD player during a fatal collision with a tractor trailer rig May 7th in Williston Florida. According to the truck driver the Model S “went so fast through my trailer I didn’t see him”.

Brown apparently had the Model S in Autopilot mode. He had been an avid fan of Tesla and had even done a demo video of autopilot mode on YouTube. Ostensibly, Elon Musk himself then tweeted the video causing a viral number of views.

To my way of thinking, a company that cannot master the software on the Model X sufficiently to get it to open its own doors without tearing them off the car, or to fix my already operational garage door opener after four updates to do so, probably ought to delay release of autonomous driving software for an automobile.

Software is easy to write and impossible to write right during the first 300 iterations. It gets very very close to perfect in the version JUST before it becomes obsolete and nobody cares anymore. But the first 299 releases are bloody.

That’s ANYBODY’s software.

Here’s why I think autonomous driving software is destined to be a quick passing fad experiment and a technological dead end. The varied environments an automobile WILL encounter, not MIGHT encounter but inevitably WILL encounter, are so numerous they cannot be SIMULATED or FORESEEN. Which makes them a little hard to code for.

I lived in Denver for 20 years. I learned to put on sunglasses when I got out of bed in the morning. Little known secret is that Denver gets more sunshine days per year than either Miami or San Diego. But here’s an even less well known fact, if it snows a foot and a half, and then the skies clear and the sun comes out, in the thin atmosphere of 5000 feet altitude, you can actually get a SUNBURN being outside. And the light is of course totally blinding. You use WELDING GLASSES for sunglasses.

At the other extremes lies Montrose Pass. This is a lowish mountain pass between Denver and Colorado Springs. One foggy night the road iced up with what we call BLACK ICE – totally smooth ice you can’t really even see – particularly in a fog. Some 288 cars came around that bend one night only to discover they too were part of a massive hit taken by the auto insurance companies in Colorado that evening. The largest vehicle pileup in history.

And so it goes. I was riding down I25 North of Denver in the passenger seat of a Hummer. My wife was driving. I saw a small pickup truck weaving ahead of us and watched in amazement as the left rear wheel worked it’s way slowly out of the truck on the end of its axle. It finally broke loose of the truck which pulled over but the wheel and axle was doing figure eights in the road in front of us. WATCH THE WHEEL WATCH THE WHEEL I yelled. My wife dutifully turned her attention to the wheel – the steering wheel. BANG we hit it like a ton of bricks and the entire vehicle went up into the air and then dove vertically down on its nose. Fortunately the tires stick out in front so we bounced BACK up into the air and eventually bobbled to a halt – with a truck wheel and axle entirely wrapped around our undercarriage. It took two hours to unwind all of it. Miraculously no one injured and we drove the Hummer home.

So Mr. Musk, how DOES the Tesla Model S do on your simulations of wheels and axles slowly emerging from vehicles in front of you, and doing figure-eights in your lane on black ice in the fog with sunlight glaring off the snow so brightly that it can cause retina damage and burn the skin around your eyebrows?

Haven’t run that one yet have you? Is that so….

Until you do, I will rather fail to act as test pilot to fully test your autopilot features thank you. But I do look forward to getting my garage door opener operational again, and while you’re at it, if you are SO good at software – I’d like to have more than 3 doors coded into the car if it wouldn’t be too much trouble. And I’m all aquiver over what comes NEXT in the mysterious action of those door handles.

I’ll no doubt hear from all the Autopilot lovers out there. All I can say is “you go, girlfriend…”. But please take care….

I’m guessing the autopilot craze has another good two years. And then, like the wheel hub motors, no one will actually admit to ever having had a program to do that. It will have simply not happened. A glitch in my faulty memory.

It has been a month since our last video. I’ve been busy. But I get off track and then get off track from my off track.

The latest is a diversion into the world of Apple iOS applications. I love Apple. And I hate Apple. They have recently taken a very evil position lobbying against “Right to Repair” in at least four states and cracking down on anyone who will replace an iPhone screen for less than Apple charges to do it – which is nearly enough the cost of a new phone, which is what they really want you to do. Drop yours and buy another one from them.

But let’s own reality, the Apple iPhone and iPad are the dominant screen device on the planet. I’m astonished at the roving bands of gypsies here in Cape Girardeau wandering around in small groups hunting for Pokemon characters that you understand do not actually exist in real time. But they APPEAR to exist and indeed you can catch them and add them to your “ball” which doesn’t precisely exist either.

Bluetooth. It’s like Wifi on a starvation diet. The weak radio. It was designed to eliminate wiring clutter on the desktop. In theory you could connect to your printer 10 feet away wirelessly. Somehow, I have more wiring clutter, and Bluetooth was a short-range slow way to type text to yourself and simulate the action of a 300 baud Anderson Jacobsen modem from 1983.

But it has grown in function and utility. With version 4.0,the Bluetooth organization did a very strange thing. They adopted an ENTIRELY different protocol that is completely incompatible with Bluetooth “classic”. Bluetooth “Low Energy” was originally introduced under the name Wibree by Nokia in 2006. It was merged into the main Bluetooth standard in 2010 with the adoption of the Bluetooth Core Specification Version 4.0.

Bluetooth Low Energy, also termed Bluetooth “Smart” by the bluetooth.org, has a couple of unique features. You would think Low Energy would mean low power and so much more restricted range. It is not. Same power. Same range. But the protocol paradigm innately leads to transmissions that occur LESS OFTEN. And by using the radio much less often, they dramatically reduce the power consumption. To the point that a single lithium coin-cell could conceivably power one of these things for a year or more.

Two effects here. One is tiny low power devices that can run on a coin cell pretty much fit the description of the widely touted Internet of Things or IoT applications. So far, this has led to the development of 10,000 variations on the heart beat monitor and not precisely a second application. But it is ever pregnant with promise.

Second, Apple. Once the FOE of the Evil Empire, Apple now IS the Evil Empire. They have supported Bluetooth from the beginning but restricted programmer access to it most cruelly and effectively. The lone reason for this was digital rights management (DRM) and their absolute desire for control of audio and video piracy.

BLE gave them an out. While Bluetooth wasn’t great at transmitting large data, you could under ideal conditions theoretically do upwards of 1.5 Mbps. But BLE was seen as a paltry 5 or 6 kbps – impractical for music or video piracy.

So they threw the gates open on Core Bluetooth Software Development Kit, which is really all about BLE.

And that gave a LOT of energy to adoption of BLE as a wireless standard.

That said, BLE has a lot going for it anyway. The service uses some unusual nomenclature. It breaks the world into two groups: Peripherals and Centrals.

Peripherals produce data – typically sensor data. It might be pH or it might be liquid level in a tank or it might be temperature or indeed heart rate or atmospheric pressure, accelerometer data, gyroscopes, magnetometers, geiger counters, etc. They measure something and make the data available.

Centrals consume data. That’s where you gather data for use and presentation.

Peripherals broadcast or advertise their name and UUID – either 16 or 128-bit. They can even send the data in the advertisement packet, in which case you never even need to connect to it. It is an iBeacon in that event.

But more likely, it also advertises SERVICES it provides and within the services, CHARACTERISTICs. Ultimately, a characteristic is just a variable. A single variable. That is where the measurement goes. The ID of the characteristic and the service and the peripheral are all identifiers to get you to that variable.

And so to send the variable, you are talking about a 20 byte packet. Characteristics can be one of several types. A READ characteristic is one that can be read by a central. Easy enough. You can also have WRITE variables where the central can actually send data to the peripheral, which opens the door to actually CONTROLLING things with your iPhone central.

I think the most fascinating type is NOTIFICATIONS. This is a variable where you can connect to the Peripheral and SUBSCRIBE to a characteristic. There after, when and only when the variable is changed, the peripheral will send central a NOTIFICATION. Central then sends a READ request. And Peripheral responds with the newly updated variable value.

Seem a little convoluted? Perhaps. But that is three packets of 20 bytes going between the two devices. The latency is about 7.5ms. And once it is updated, THEY BOTH DO NOTHING until the next time a measurement indicates a CHANGE in the variable – 100ms from now or 2.5 hours later.

And so you see that a “connection” devolves to an irregular series of little spurts of 60 bytes or so. The average time spent transmitting goes to nothing. And likewise the power usage. Ergo: low energy. Not low power. Not low range. Low Energy.

Why would I care? Latency. Bluetooth classic offered higher data rates, but the latency was awful – 100 ms or more. Remember it was designed to send a file to a printer. Data rate matters but latency just does not.

In displaying data about electric vehicles, we don’t NEED to send very much data – as demonstrated by our use of EIGHT BYTE PACKETS over CAN. But we need a low latency between when we detect RPM and when we display it on a gauge. Changes should appear instantly in human perception terms. We don’t want a lag even if it is only 200 ms. That’s detectable.

So BLE has gained a LOT of energy from Apple getting behind it and implementing it in Core Bluetooth SDK. And Apple sees themselves as the final arbitrageur of heartbeat monitors everywhere. But we’ve been a little left out of the game on the sensor/peripheral end.

MIT graduate engineer Lada Frieda, AKA Lady Ada, is the principal behind Adafruit. Adafruit has made a big move into small things – Arduinos and Arduino shields and piece parts – offering excellent add-ons at very low prices they have found sales volume and turned into a New York entrepreneurial success story. They develop many of their own Arduino add-ons.

Lady Ada and Kevin Townsend have spent over a year developing a Bluetooth BLE module based on the Nordic nRF51822 Bluetooth Low Energy chip. This chip has an ARM MO multicontroller built-in with a Bluetooth RF radio and the Bluetooth LE software stack. Kevin Townsend has apparently programmed the multi controller and written an Adafruit library to go with it. The result is modules for Arduino applications that provide MOST of what Apple does for Bluetooth BLE. They still haven’t got encryption built into the latest June 28, 2016 release of their firmware (0.70) but they continue to develop.

So we have a way of adding Bluetooth LE to Arduino projects. Our GEVCU is compatible with Arduino Due and we are incorporating the Adafruit Bluetooth BLE SPI module into the board. We’re also becoming a distributor for select Adafruit products, starting with the Adafruit Bluetooth LE Friend SPI shield for Arduino and the aforementioned module.

2633-00-2

2746-00-2

In this video, I actually walk through a program to demonstrate use of the Adafruit module to set up a Peripheral, Service, and eight Characteristics using the Generic Access Profile (GAP) and Generic Attribute Profile (GATT) of BLE. In this way, you can advertise and provide data in the format used by Apple in their Core Bluetooth SDK. And THAT means iPhone/iPad connectivity.

Of course, Android supports BLE at this point as well.

Because these mobile devices are stamped out by the hundreds of millions, they are pretty inexpensive in a lot of cases. We’ve seen 7-inch Android tablets for less than $45 offering Bluetooth 4.0. 71D26whUwML._SL1500_-2

There’s just no way we can offer a dedicated device at that low a price. This is a demonstration of economies of scale that will hopefully reach electric automobiles at some point.

We have embarked on development of our own iOs and Android applications. The first will be BLEGauges, a simple application to display BLE characteristics on Tesla-style gauges. Hopefully, this will allow us better diagnostics for seeing what our Arduino BLE output looks like to the rest of the world. It will be available in iTunes hopefully within a few weeks.

IMG_0418

BLE is rapidly emerging and rapidly developing. The June 28th firmware update to our Adafruit is the first to allow Description and Presentation fields to characteristics and these make BLEGuages actually pretty useful. Hopefully we’ll see encryption and the other new functions supported by Apple at least in future releases. Ada fruit has done something cunning in that you can update the firmware in the module wirelessly using their Bluefruit Connect program.

51JThTomYKL._SX379_BO1,204,203,200_

Kevin Townsend appears to have done the multicontroller software on the Adafruit Bluetooth LE nRF51822 chip. He has also been a contributing author to an O’Reilly book on the topic of Bluetooth BLE that I might recommend titled “Getting Started with Bluetooth Low Energy.”

In referring to software, I generally describe WHAT we have done. How we did it is not so much a state secret as just hugely boring to most of our viewers. But I’m sufficiently excited about BLE and the ability to interface Arduino type modules to mobile devices that we did our first line-by-line description of the code. A zip file with the code is available here http://media3.ev-tv.me/GEVCU6.2BLE_SPI1.1.zip

EVTVDue5-5

While it might be interesting to read through, you may have a little difficulty running it as GEVCU version 6.2 isn’t precisely available yet. We keep having more prototype reiterations to where it is more like GEVCU 6.29d5. But the Adafruit Bluefruit LE Friend SPI Shield works very well with our EVTV Due clone with CAN port. I’ve done a bit of a version of the program to read the first six analog ports on that and present them as BLE characteristics. http://media3.ev-tv.me/BLEShield.zip

Mounting a smart phone or tablet in a car so that you can actually view it has always been an annoying problem. We’ve seen all manner of devices. My first flight instructor, Brandon Jewett, actually now holds an STC (an FAA device authorization) for a device to hold an iPad in the cockpit of a Boeing 737 and he’s doing phenomenally well with it – airlines all over the world are ordering this thing. It took him years to get it approved and years more to get airlines to look at it. But suddenly he’s an overnight success story.

We’ve seen everything for cars and the best we could come up with was the Elon Musk bobble-head doll phone dock elon1_medium
Unfortunately Elon’s big head kind of blocks the view, and worse, it of course “bobbles”.
IMG_0427
But we recently came across a little piece of magnetic jewelry from China that actually does work. I was at first put off by the fact that it came with little discs you had to put on the back of the phone with sticky back – until I realized the phones weren’t of any ferrous material and in any event, almost everyone has their phone in a plastic case. Suddenly the discs made sense. And it is one of those things that seem dubious, but in practice are just very well designed. It has just the RIGHT amount of magnetic attraction. It holds your phone securely while bumping down the road, but it is a very light touch to pick it off the magnetic holder and be on your way.

So we’ve kind of segued into an entire world of Bluetooth BLE and iOS application programming. And this probably has resulted in the most boring video ever presented on the Internet. So get your CPAP machine on and cinch up your Depends, we’re going in.

I’m told that Quaife is ready to ship our Automatic Torque Biasing Limited Slip Differential from the UK and so we are a bit closer to having product ready on the Tesla Model S drive unit.

ATBLSD

It was recently pointed out to me that Jason Hughes had gotten a Tesla Drive Unit to turn in 3 hours while we had been at it for over a year. As we had exchanged some information with Jason, in return for some totally bogus charger info, I did not find this surprising. But I have to point out that we had it turning in less than 3 hours as well – one weekend in June over a year ago. Making it turn is not a product.

And it is quite true we’ve been chewing away on this thing for over a year trying to get something you can use in a car – successfully and hopefully somewhat safely. This illustrates the basic difference between “hacking” and engineering. Hacking is a quick fix presented in an attempt to impress the native aborigines with technology in the hopes that they will think it is magic and declare you a God. Engineering is a grindingly iterative process leading to a product or useful device.

Engineering should be done in private. When you do it in public, the viewers quickly come to realize you are just a cranky old man burning up 5000 different filaments looking for one that will work in a lightbulb. Think Asian bamboo….

Jack Rickard

32 thoughts on “The BLEding Edge”

  1. I had posted this to the April 10 blog. It was off-topic there, so I’ll repeat it here:

    LOVE the BLE work you’re doing! You’ve probably already thought of this, but combining this with your new CAN-GPS will put all the instrumentation in a single interface. I can see an iPad with a large center dial being a speedometer/tachometer with motor/ inverter temp, amp/voltage, and battery state of charge/segment balance around the edges, mounted on the dash like the Tesla Model 3 prototypes. Since the iPad already has native entertainment and map function, add Bluetooth speakers and you have one very clean dashboard installation.
    I can see an upgraded GEVCU in my future. Will it plug into my existing (GEVCU 4.2) harness or do I get a second cut at the spaghetti monster lurking under my hood?
    Keep up the great work!

    Collin Kidder replied:

    “The harness is different. The new boards have a 48 pin connector (well, a 30 pin and an 18 pin) so there are a few extra things there as well. Looks like you’ll have a good excuse to fix up your wiring.”

    Me again – that’s actually a good thing. Even seat-of-the-pants engineering is an iterative process. I will make different mistakes the second time, but it will be neater!

    1. Fred:

      You hardly need the GPS shield. You already have GPS in your iPhone, iPad, or Android mobile device. In the case of the iPhone, also a magnetometer, 3-axis accelerometer, and much more.

      Not only do you have those in your phone, but courtesy of Adafruit’s enabling BLE modules and shields, you can use WRITE characteristics to push this data to your GEVCU or other Arduino based device and process and use that data further there.

      My video (and blog for that matter) are already lengthy and detailed and I’ve hardly scratched the surface. I share Apple’s basic problem with this technology – about all they can do is lamely describe a heartbeat monitor as an example. To say that you are only limited by your imagination mostly shows the lack of my own.

      Bottom line: This is a violently enabling technology. They have opened a window through which we can throw the baby, the bathwater, the kitchen sink and the proverbial whole enchilada, all simultaneously in one smooth move.

      But here’s an example. Epson has made a sensor that goes on your golf shaft. It depicts on your iPhone your golf swing graphically. It also provides club head speed, club head turn angle, swing impact angle, estimated distance of travel, and much more from a single practice swing.

    1. There are three great joys in a pilot’s life: A good orgasm, a good bowel-movement, and a good landing.

      Carrier night-trap landing exercises are the only opportunity you will have on this earth to experience all three at the exact same instant.

          1. That plane had to be pretty darn close to all that. It looks like from the video the landing gear had to be within a few feet of touching the water.

  2. Great update on the nuts and bolts of BT LE, and pretty gauges! I’ve enhanced my Android app to use the Torque app theme system with my own gauge drawing code but they don’t move around the screen.

    Collin, are you going to document the anticipated services, presentations and characteristics so we can all work from the same list? Shall we take it to the forums? I’m adding BT LE to my app now but have no hardware to test…

  3. I’m thoroughly lost. Why use an Arduino when there are the likes of the new Raspberry Pi which not only have the hardware like Bluetooth but also the software ready to run. Forever chasing that bit more computing power with another full replacement due to adding more processing or hardware functions is not making for a strong product. 🙁

    1. Until I was owned by a PC I could never understand why people would want anything smaller than a mainframe.

      With an Arduino you do not need to switch off a timesharing operating system to really fast flip a bit. With the raspi you have to.

    2. It’s a fair question. On the surface you see that something like the RPi3 or a BeagleBoneBlack is way, way faster and has multiple cores. It has more RAM, more storage space. But, as an aside, I should mention that we’ve been using the same SAM3X processor this whole time. From GEVCU1 up to GEVCU6.2 they all use the exact same processor. We’re not forever chasing more computing power, we’re using the exact same computing power but tweaking the hardware around it. Now, with that out of the way, why are we using a SAM3X and not a Quadcore RPi design? Peter mentioned something that a lot of people don’t know. It is entirely possible (and in reality nearly certain) that an RPi cannot switch its general I/O pins as quickly as an Arduino Due. It cannot service interrupts with the same speed. It cannot set timers with as fast of a tick rate either. When you go to the bigger processors you get a whole lot. You get all kinds of things we don’t get with a SAM3X (Cortex M3 series). The A series Cortex processors on the bigger boards are faster in pure clock speed but are not optimized for the same speed of raw hardware access nor for such quick interrupts. Also, they’re infinitely more complex to develop software for. Because of this you don’t see a lot of bare metal work with the boards. Most everything uses Linux or some other multitasking operating system. This adds an additional layer of indirection. That sort of thing is partly why realtime performance and very tight timing can be difficult on faster, bigger processors.

      Here’s another anecdote: On an Arduino Due you can set a 100khz timer if you want to. On Windows or Linux you’re lucky if they let you set a 1khz timer. They’re not particularly optimized for that. Also, faster processors take more energy. And, the faster the processor the most likely it is to glitch when in an electrically noisy environment. If you take apart motor controllers you’ll notice they’re all 40 to 200Mhz. They don’t use 2Ghz quadcore processors in ECUs or motor controllers even today.

      That’s just some of the reasoning. Of course, inertia is part of it too. We’ve got a lot of code and it works and nobody really wants to rewrite the whole thing for another processor architecture.

      A shorter answer is, you don’t use a .50 BMG with exploding ammunition to go hunt squirrels. For every task there is a solution that is suited to that task. Now, perhaps the SAM3X isn’t as powerful as we could use. In that case perhaps there does exist a better processor. But, it works.

      1. I might take that step further. The original GEVCU had a couple of basic tenets that we would like to hold to. First, anyone can program it using the Arduino IDE. We have just a couple of libraries, freely available, that are needed but in general you can assume it is an Arduino Due with Native USB port in the Arduino Due and it will just work.

        And by maintaining Arduino compatibility, we are able to access a huge ecosphere of Arduino add-ons. In this case, Adafruit made a module for Bluetooth Low Energy. We simply wired six or seven pins and we buy it from them and plug it in. We use their standard Arduino libraries to use it.

        Note that the firmware in this module was updated June 28th. It features the latest GAP/GATT features like Presentation Descriptors. While very much part of the Bluetooth.org spec, this stuff just isn’t available on most of the bluetooth devices out there. So not all bluetooth is equal at the moment. By maintaining compatibility with Arduino, we can sue the latest stuff easily.

        Most of GEVCU circuitry is about isolating and buffering the gazintas and gazoutas and the power supply so it can survive in an automotive environment. A linux kernel would add a ton of bloat that we will never access or use even theoretically. And so as Collin describes, we actually have more program space and more performance using a smaller 84MHz chip than we would with a larger one at higher speeds.

        But it remains true that any GEVCU can be plugged in to the USB port of any PC with Arduino ID and programmed to do anything you like. It could easily run an automated brewery. We will use it for our CHAdeMO kit. We already use it for our Tesla Drive Unit controller.

        The 6.2 version basically adds 24-bit A/D, Bluetooth BLE, and with the Particle Electron option, GSM cellular connectivity. But with this much change, after Collin did several prototypes, we have gone to China with now FOUR consecutive production prototypes. So the test process has been arduous. The latest is that the shunt input was SO sensitive that it became vulnerable to noise. Comically, for awhile I was experiencing it dramatically on the second floor of my home and Collin could not duplicate it in his basement. On a hunch, he moved it upstairs and suddenly had the same symptoms – just from RFI from other 2.4GHz devices. And so 6.2.4 adds some additional filtering for that on the shunt input.

        The original GEVCU has served us remarkably well. It used to drive countless conversions today and we have had almost no product support issues with it. The effort we put into the documentation basically worked. Individuals have been able to wire it into their cars and drive DMOC645 and UQM Powerphase 100’s with it successfully pretty much right out of the box. There is a serious issue with precharge and contactors with it, which is addressed in 6.2. Beyond that, it has been trouble free for several years.

        But technology marches on and I think 6.2 is going to be better in all ways. It has a much better weatherproof enclosure, a better connector system, and better analog to digital input capability. But yes, the BLE interface to mobile devices is going to be a huge improvement for display and control purposes.

        Jack Rickard

  4. Jack,
    It is all good with your G.E.V.C. U. and the related software development. It will be a superior product for the D.Y.I. building of electric vehicles. But still with your rehire of Bill Bayer, I am sure a lot of your audience would still like like to see the development of the UQM powered GreenThing;
    Sincerely,
    Mark Yormark

  5. Wooo! Just saw the green Thing’s lights flashing on the shop cam, is it getting close to driving? Also there is a box that looks like it says Quaife, things getting exciting at EVTV! After the luck I have had the last couple of weeks it is good to see someone moving forward.

    1. This sounds very real. And November sounds very near. I wouldn’t look for vehicle batteries in 2018. I think they’ll be swamped by demand for mobile devices for some time.
      But that will certainly fund eventual migration to vehicles.

      Jack Rickard

      1. This sounds like a rather expensive retro for the Giga factory unless excess traditional chip manufacturers facilities are easier to adapt. Any of them at low rate production or moth balled are already obsolete. The solar panel site out here at Mesa was brought on-line to make sapphire bols for Apple. When lot fraction defective was too high Apple pulled the plug. It’s conversion to a server farm data center has already begun.

Leave a Comment