Development Tools

Introduction and miscellaneous that we haven't created categories for, yet
Post Reply
User avatar
Kevin Sharpe
Posts: 1345
Joined: Fri Dec 14, 2018 9:24 pm
Location: Ireland and US
Been thanked: 4 times

Development Tools

Post by Kevin Sharpe »

I think it would be useful to have a list of the development tools that we are using for OI projects in the hope that we can share date easily. Obviously, where possible we use open source :)
  • KiCad EDA - Schematic Capture, PCB Layout, 3D Viewer (here)
  • SavvyCAN - CAN bus reverse engineering and capture tool (here)
This is a personal post and I disclaim all responsibility for any loss or damage which any person may suffer from reliance on the information and material in this post or any opinion, conclusion or recommendation in the information and material.
arber333
Posts: 3261
Joined: Mon Dec 24, 2018 1:37 pm
Location: Slovenia
Has thanked: 80 times
Been thanked: 232 times
Contact:

Re: Development Tools

Post by arber333 »

Maybe add some hardware tools:

- Macchina M2 with M2RET firmware goes well with Savycan
https://www.macchina.cc/m2-introduction
https://github.com/collin80/M2RET

- CANalyst-II USB i like very much to spy on my CAN devices if i look for a single signal. You can also inject only one signal at a time.
Software download: https://www.hklrf.com/CANalyst-II-USB-t ... _5071.html
Can mix signals from two sources.
xp677
Posts: 436
Joined: Sat Jul 27, 2019 10:53 am
Location: UK
Has thanked: 1 time
Been thanked: 13 times

Re: Development Tools

Post by xp677 »

Sigrok Pulseview for data capture. Works great with the cheap logic analyzers on eBay.

For some reason I've only managed to get the Linux version to work properly with the chinese analyzers. I have set up a dual boot on an old laptop that normally just runs diagnostic software (Techstream, G2, etc). And that works fine, I just send the files to my windows PC if I want to work with the data.

https://sigrok.org/wiki/PulseView

For electronics design, I use an old version of EAGLE, which still works fine. The current version is free for small projects, up to 80cm², which covers most peoples needs.

For CAN capture, etc, I use an Arduino Nano with a CAN interface board stuck to the back of it. It just repeats incoming CAN through its serial port. I wrote my own software which is similar to SavvyCAN (just shows the frames and allows filtering).
User avatar
johu
Site Admin
Posts: 5769
Joined: Thu Nov 08, 2018 10:52 pm
Location: Kassel/Germany
Has thanked: 157 times
Been thanked: 1010 times
Contact:

Re: Development Tools

Post by johu »

I use Code::Blocks for code editing (https://codeblocks.org/) I prefer it to Eclipse because it is less bloated.

For compiling I use arm-none-eabi-gcc that comes with the Manjaro Linux distribution. The included gdb plays nicely with openocd and the Olimex JTAG/SWD adapter for debugging - which I hardly ever do.

Hardware-wise I use the Olimex ARM-USB-OCD-H in conjunction with an ARM-JTAG-SWD adapter.

For scoping I use an Analog Discovery with 2 differential analog input channels, two bipolar sig gen outputs, bipolar power supply output and most of all 16 digital IOs. It has limited bandwidth of 100MHz and is a bit short on memory but is completely sufficient for what I do. I built a small CAN adapter because the Waveforms software also features protocol encoding/decoding.
Support R/D and forum on Patreon: https://patreon.com/openinverter - Subscribe on odysee: https://odysee.com/@openinverter:9
User avatar
sfk
Posts: 289
Joined: Mon Jan 14, 2019 8:29 pm
Location: Wellington, NZ
Has thanked: 2 times

Re: Development Tools

Post by sfk »

xp677 wrote: Sat May 02, 2020 10:05 pm For CAN capture, etc, I use an Arduino Nano with a CAN interface board stuck to the back of it. It just repeats incoming CAN through its serial port. I wrote my own software which is similar to SavvyCAN (just shows the frames and allows filtering).
I'm looking for a multipurpose CAN shield for Arduino to listen to and send CAN bus messages. What would you recommend?

Seeed seems to come up a lot in searches for the hardware and the Arduino library too. I want something 100% mainstream
-< Mazda Eunos JC Cosmo rotary -> EV conversion w/ Lexus GS450H gear >-
xp677
Posts: 436
Joined: Sat Jul 27, 2019 10:53 am
Location: UK
Has thanked: 1 time
Been thanked: 13 times

Re: Development Tools

Post by xp677 »

sfk wrote: Thu May 07, 2020 6:12 am
xp677 wrote: Sat May 02, 2020 10:05 pm For CAN capture, etc, I use an Arduino Nano with a CAN interface board stuck to the back of it. It just repeats incoming CAN through its serial port. I wrote my own software which is similar to SavvyCAN (just shows the frames and allows filtering).
I'm looking for a multipurpose CAN shield for Arduino to listen to and send CAN bus messages. What would you recommend?

Seeed seems to come up a lot in searches for the hardware and the Arduino library too. I want something 100% mainstream
I just use these: https://www.ebay.co.uk/itm/303088993144

I stick them to the back of Arduino Nanos (also £2 from eBay) using double sided foam tape, and replace the pins with short wires which loop round to the SPI pins on the Nano. Which creates a horrible sort of "CAN dongle" for a computer.

I'm sure there would be a market for a double sided Nano-sized board with CAN on it, since these could be made and sold very cheaply.

As for the programming, you use the MCP2515 library, and can pretty much just use an example "receive" sketch. I modified mine slightly because I use my own software rather than a serial terminal such as the "Serial Monitor" in Arduino IDE. But you could use Arduino for this, and do filtering by sending commands back over serial, or just modifying the program/reuploading for each filter. It depends how far you want to take it.
User avatar
sfk
Posts: 289
Joined: Mon Jan 14, 2019 8:29 pm
Location: Wellington, NZ
Has thanked: 2 times

Re: Development Tools

Post by sfk »

Just about to buy the bits and pieces I need for CANbus sniffing a GS450h.
What I've decided on -
- Macchina A0 (OBD2 connectivity, WiFi, Bluetooth, CAN-only communication and Arduino IDE)
- M2RET & SavvyCAN
- Laptop running some version of Windows.

I'm not expecting to do much more than inject some CAN messages and watching system reactions.
Will this will be enough to record CANbus logs which can be analysed later?
-< Mazda Eunos JC Cosmo rotary -> EV conversion w/ Lexus GS450H gear >-
User avatar
Gregski
Posts: 2258
Joined: Tue Sep 14, 2021 10:28 am
Location: Sacramento, California
Has thanked: 325 times
Been thanked: 436 times
Contact:

Re: Development Tools

Post by Gregski »

I absolutely love this thread, and just happened to get off the telephone with Richard from EVTV, we had words about their CAN Tools I specifically asked what is the difference between their EVTVDue Microcontroller and their 1 CANKIT - CANbus kit with Microcontroller and Cable and was told to sum up my questions and email them to them, and he would pass them on to their CAN expert.

Note To Self: Sum up my questions and email them to info@evtv.me, for Richard to pass them on to their CAN expert.

Why did I call them? What is it that I am trying to do? Well simply put I am trying to learn CAN. I bought a Chevy Volt first gen DC-DC Converter and want to learn how to communicate with it and eventually control it.
EVTVDue Microcontroller 1 CANKIT - CANbus kit with Microcontroller and Cable
Price: $99.95Price: $149.00
Manual dated: June 2015 Manual dated: September 2017
EVTVDue5_medium.jpg
CANDue2.2TOPsmall_medium.jpg
annotatedEVTVDue5_medium.jpg
MyArduinoDue_medium.jpg
This single board replaces the fragile micro USB connectors with a single strong Mini-B printer style USB port on the native USB port to the microcontroller.

added a 2Mbit EEPROM chip providing 256 Kbytes of persistent memory to save program data or configuration details.

AND most importantly, a Texas Instruments CAN transceiver on the board to enable the CAN controller in the SAM3X microcontroller chip allowing direct CAN communications.
This card features TWO CAN channels along with the transcievers to enable them - tied to the CAN controller pins on the Due.

Additionally, it provides a Single Wire CAN channel with connections for any load resistor for the circuit.

includes a 2 Megabit EEPROM chip - 256kbytes of storage for persistent variables or pixel data.

includes a microSD card slot to hold up to 128GB of removable memory for logging data.

Convenient screw terminal connections allow you to tap into the vehicle 12v and chassis ground to power the entire rig of multicontroller and CAN bus board. It also can read and write CAN messages to your vehicle OBDII CAN bus.

includes the generic multicontroller board itself - a clone of the Arduino Due board.

includes a single analog channel with resistor for reading Negative Temperature Coefficient NTC thermistors to calculate temperature.
Generalized Vehicle Reverse Engineering ToolGeneralized Vehicle Reverse Engineering Tool
SavvyCANSavvyCAN
"I don't need to understand how it works, I just need to understand how to make it work!" ~ EV Greg
Post Reply