Posted on Leave a comment

eChook Nano V2.0, New App and other goodies

It feels a very long time ago that Greenpower was looking for an approachable and affordable data logging and telemetry solution to enable teams to measure performance and make data driven improvements to their cars. Four budding engineers, freshly – and regretfully – aged out of Greenpower racing, took up the challenge of adapting and polishing the Arduino based system we’d been racing with for the last few seasons into something that could fit this bill.

After some early prototypes went to teams for testing – shout out to Cullimore Racing, Stealth Racing and Richard Lander Racing among others, the first eChook nano kits went out to teams in early 2018.

Now 6 years on, hundreds of eChook nano kits have gone out to teams across the UK, Europe and further afield. The live data website has gone live and is well used, the online configuration interface is in beta, and less well used, the kit has improved in places, such as the addition of the current sensor mounting board, and compatibility with the new (does it still count as new?) Arduino Nano Every development board and the Arduino code has been gradually tweaked. The eChook android app has aged poorly in the face of continuous requirements changes for newer versions of Android. The PCB itself has not changed at all, and is overdue an update…

eChook Nano V2.0

I’ve designed a version 2 of the eChook many times, but the amount of prototyping, testing, coding and documentation writing that goes with actually releasing a new product becomes quite daunting, especially as during those 6 years eChook has become a one man band – albeit with development support from some excellent Greenpower teams. As a result, the new board might look a little familiar:

While keeping the same form factor and connectors, the biggest change is a move away from an assemble-it-yourself kit, to a board that will arrive fully pre-populated (Some assembly is still required on sensor boards). This was a reluctant move, as I believe that the DIY aspect can be a very good learning experience, however the vast majority of issues seen with the V1.x boards have been related to component placement or soldering quality.
Moving to smaller Surface-Mounted Devices (SMD) has also enabled a far higher component count without compromising ease of assembly, or the size of the board. These additional components have enabled most of the improvements and new features listed below.

The eChook Nano V2 will be available from the Greenpower shop in the near future.

What has Changed?

Connector Labelling
Finally! Each connection is now clearly labelled, both on the top and bottom of the board. All the Arduino pins are labelled with their pin numbers on the bottom of the board, the expansion header is labelled, and test point labelling has been improved.

Robustness
This is an area that some teams with the original eChook have struggled with. I’m aware of a fair few Arduino’s dying over the years, and I think the actual count may be far higher than has been fed back to me. Many of the changes to the new board are in an effort to address this.

The 24V power input to the board now has a Zener diode after the polyfuse to take the sting out of transient voltages from the motor on the 24V rail. It will now work with supply voltages up to 32v, and significantly higher transient voltages.

Every single signal input has a pair of BAT54 Schottky diodes after the processing circuitry to clamp the voltage seen by the op-amp and Arduino to between -0.3v and 5.3v. Combined with resistors in the processing circuitry, this means that every input on the board can survive being connected directly to anything up to 30V.

Every 5v power feed leaving the board, including those on the BT module and expansion header, are now current limited to 300mA. If there is a harness fault, or a clumsy multimeter probe (easily done!) that shorts any of these 5V outputs to ground, voltage is cut to just that output, and a red ‘fault’ LED lights up next to it on the board. Previously this would have stopped the whole board, although caused no damage.

These changes should go a long way to reducing failures seen with the original board.

Auto Updating Bluetooth Module
No more fiddly pressing the button on the Bluetooth module to get it to update to the Bluetooth Name set in the Arduino code. De power the board, re-power the board, and the Bluetooth module gets reconfigured on start-up automatically (Requires eChook Code V2.0.3+). This feature was required for the next improvement, which makes the button a little inaccessible:

Proper Bluetooth Module Mounting
The HC-05 module now mounts securely on the board, held by the familiar 6-pin socket, and a 3D printed ‘Y’ mount that is a push fit over the module, then screws securely into the PCB.
I was wary of requiring a custom plastic mounting, but the initial design seems robust in my testing. Just in case, the STL will be available if teams want to print their own, and it will be available on the eChook shop for very little money for those without a printer. I hope to never sell any!

Full 5V PWM Output
The old board had a slightly measly ~2.3v PWM output, which required further buffering if you wanted to use the board to send a control signal to a motor driver such as a 4QD Porter. The new board give a full 0-5V square wave.
I’ve not got a Porter motor driver to test this with, but a single wire connecting the eChook PWM out to the Porter Throttle In (Pin C) should work. Do not connect the Porter ground (Pin B) to the eChook ground!1 Further explanation in the Footnotes.

I2C Access on the Expansion Header
Previously the A4 and A5 pins on the Arduino, required for adding any I2C peripherals to the board, were inconsiderately being used by the temperature sensors. To maintain code compatibility these two pins are still being used by the temperature sensors, but there are now two little solder jumpers on the back of the board, JP1 and JP2, that can be used to re-route the temperature sensors to pins A1 and A6, freeing up A4 and A5 on the expansion header for any I2C accessories you might want to add.
The expansion header Pinout has changed to accommodate this, but it is now fully labelled, with pins that are in use by default by the eChook indicated with an asterisk.

Test Point Improvements
Each test point is now far better labelled with a flag on the silkscreen, and each has a via (plated hole) in the middle so that a multimeter probe can locate in it easily and not slip around while you’re testing. There is also a ground tab to the side of the board so that the ground clip of an oscilloscope probe can attach easily. The VIAs in the test points can be used to sit the probe in hands free if the clip is removed.

Reduced Calibration Variance
The assembly is now controlled, with lower tolerance resistors, meaning that there should be much less variation between the boards. The default calibrations in the code from release V2.03 will be targeted at PCB V2.0, and should be much more accurate out the box than the V1.x PCBs.

24v Power Indicator LED
A light on the board that indicates power – handy if the Arduino isn’t plugged in. It is a little overly bright on the first batch of boards though! There’s also a red 24V over current warning LED.

What Hasn’t changed?

The physical size, mounting points, electrical connections, and default Arduino pinout are all identical, and it works with the same code as the earlier board. Code release v2.03 has additions specifically for the new board, but is still fully backwards compatible with the old board.

You could remove the V1.x board from a car, mount the V2.0 board, plug the connectors in and swap the Arduino and Bluetooth Module, and not notice any change – other than some calibration likely being required. For those that don’t require a full new kit but want to try the new board, ‘Upgrade Kits’ will be available from the eChook shop.

Sensors

Current Sensor
The current sensor breakout board has been included with the kit for a couple of years now, which made integrating the current sensor far easier than before. The remaining weak point appeared to be the wires connecting to the board through the small pads on the PCB. The new V2 kits come with a JST PH 2.0 4 pin header to solder to the board, and a matching JST PH 2.0 connector with 20cm of 24AWG Wire pre-crimped. This makes a much more robust, and removable, connection to the wiring harness.
Note that the pin-out for the connector on the current sensor breakout boards has changed to match the wiring colours in the commonly available 4-pin pre-wired connectors.

RPM/Speed Sensors
These little sensors are fiddly to mount, need to be close to the magnet and can be very hard to tell if the magnet is mounted in the correct polarity or close enough to trigger the sensor – to fix this the V2 kits come with two magnet sensor mounting boards, pre-assembled other than the magnet sensor itself which needs soldering in place.

These boards have an M4 mounting hole for easier positioning in the car, an LED on board to indicate when the magnet is detected, and a 3-pin JST PH 2.0 header and matching wired connector to easily integrate into your harness.

These boards available in the eChook shop for teams with V1.x eChook setups who might want them.

What about that App?

Once Ben, who developed the initial app, handed the reins over to me, I quickly discovered that Java and Android development were outside my comfort zone, but until recently kept it generally ticking over.

Banchory to the rescue!
The Banchory Greenpower Team have built some absolutely excellent tools for Greenpower teams, and have been very generous in sharing what they make with the community – I’m sure many teams are familiar with their Greenpower Car Simulator.

Possibly less well known is their ‘OMNI Telemetry’ android app, developed to work with the eChook, and do all the things the eChook app does, but admittedly, do them better. The key improvements are the ability to run in the background, with the screen off, and that Lap Counting is fully automated – no need to manually set an observer as in the eChook app. It works with eChook live data, and all the other data options that the eChook app offers.

Keith from Banchory Greenpower has very kindly agreed to offer this app as the default option for anyone using an eChook board and I encourage everyone using an eChook nano to get it installed and set up for the 2025 season.

** There are reports of the app not correctly requesting permissions with some older versions of Android, after the permissions system had be be re-written for Android 14+ compatibility. If the app crashes on startup, go to app settings and grant all requested permissions. **

Play Store: OMNI Telemetry App Download.

There is a plan in place to ultimately move away from requiring any app, as the android platform and Play Store requirements mean a lot of time gets spent just maintaining them, but that’s progressing at my usual glacial rate of development, so I’m not promising any timings.

Anything Interesting in the pipeline?

The next eChook product in the prototyping phase is a motor driver. To be used with an eChook nano board in place of something like a Porter, it’s a small, single direction motor driver board that takes the PWM output from the eChook and scales it up it to a more suitable 20KHz PWM signal to drive the motor. It has a very low Rds On of 0.7mΩ – about half that of the Porter 10 XXX, XT90 connectors that have a better contact resistance and current handling capabilities than the Porter spade connectors, and a far shorter high current path on the PCB. Initial testing indicates that it’s unlikely to need a heatsink – indicating very little precious battery power being wasted.

It also accurately and repeatably converts the control PWM from the eChook to the Motor PWM on the output using dedicated ICs for the job, instead of an RC filter, for those teams looking for fine grained control over their motor anywhere in the PWM range.

There are no smarts on board, such as adjustable throttle ramping – it relies on the microcontroller, eChook or otherwise, for the control strategy.

I have three of these prototype boards needing some real world testing at the moment. If your team is willing to put some miles on one in off season testing and/or at the start of the 2025 season, is electronically confident, and is willing to accept the ‘prototype’ risk it would be great to hear from you – email me at info@echook.uk

I am also designing some ‘piggy back’ boards for the V1.x eChook Nano that can be soldered on underneath the Arduino and Op-Amp to bring some of the robustness improvements from V2.0 to existing boards – if I can get them manufactured at a sensible price point.

Further Thoughts?

I get very little feedback from teams using the eChook nano in general, any feedback I do get – positive and negative – is appreciated! I’d be very grateful to hear thoughts on these developments either in the comments here, or through the post on the Greenpower Technical Facebook page.

Footnotes

  1. Porter to eChook Ground Connection:
    The Porter (unless you opt for one of the extreme editions) include reverse polarity protection. To do achieve this they use an N-Channel MOSFET that sits between the Porter Ground and the Chassis Ground. I believe this mosfet has an Rds on value of 3.2mΩ, which at the motors stall current, can create an offset of almost 0.5V between Porter and Chassis ground.
    The eChook telemetry board is a much lower power device and implements reverse polarity protection with a polyfuse and diode, meaning that the eChook ground is directly connected to chassis ground.
    Any connection between the Porter and eChook/Chassis ground will bypass the Porters reverse polarity protection, and a lot of current from the motor will attempt to travel through it. Things will get hot and the magic smoke will likely escape from somewhere! ↩︎
Leave a Reply

Your email address will not be published. Required fields are marked *

I accept the Privacy Policy