Low-Cost Do-It-Yourself CAN Bus To WiFi, Bluetooth, BLE, USB, RS485 Gateway Based On Raspberry Pi Zero
In the following, I will discuss a do-it-yourself project utilizing the Raspberry Pi Zero in combination with the CAN Bus Plus RS485 HAT. The combination of serial and wireless ports provided by this system allows the development of a great number of gateway applications. Overall, this small-size hardware includes connections such as CAN Bus, RS485, WiFi, Bluetooth, BLE, and USB. And, on top of all these features, the total costs for the hardware comes to under US$50.
Due to a large number of possible applications, it is difficult to decide where to start, meaning which sample project we should provide. After all, it depends primarily on individual requirements, and I can say that all features of this system are documented in detail and there are more than sufficient programming samples. The "hard" work is connecting the features you need for your project.
The Raspberry Pi Zero is the smallest version of the Raspberry Pi platform; it is half the size compared to the Raspberry Pi 3 Model B/B+.
Such a tiny Raspberry Pi is very affordable for any project that requires less power and high processing speed. Using the RPi Zero, you can build your hobby project for IoT, wearable, embedded and battery powered projects.
There are two micro USB ports, one is for the power supply and the second one is micro USB. By connecting a micro USB hub, you can connect a Keyboard, Mouse, USB Dongle for internet connectivity, or any other USB devices.
The RPi Zero has a single mini HDMI port to connect an external display where you get good quality video at 1080p and 60fps. The Zero features a single mini HDMI port, which is a reduction from the full HDMI port on previous Raspberry Pi devices.
- 1GHz, single-core CPU
- 512MB RAM
- Mini HDMI and USB On-The-Go ports
- Micro USB power
- HAT-compatible 40-pin header
- Composite video and reset headers
- CSI camera connector
The CAN Bus Plus RS485 CAN HAT adds serial networking options to your Raspberry Pi Zero/Zero W/Zero WH/2B/3B/3B+.
The onboard CAN Bus port utilizes the Microchip MCP2515 CAN controller, accessible per SPI interface, in combination with the SN65HVD230 CAN transceiver.
The RS485 port is controlled via the RPi's UART using the SP3485 transceiver.
The combination of CAN Bus and RS485 capabilities supports applications such as connecting a CAN Bus network with a Modbus device or a CAN-to-Modbus gateway. The RS485 port can also be used to monitor (listen-only) SAE J1708 data traffic and convert it to Controller Area Network.
- Raspberry Pi connectivity, compatible with Raspberry Pi Zero/Zero W/Zero WH/2B/3B/3B+
- CAN function, onboard CAN controller MCP2515 via SPI interface, with transceiver SN65HVD230
- RS485 function, controlled via UART, half-duplex communication, with transceiver SP3485
- Reserved control pins, allows to work with other control boards
- Comes with development resources and manual (examples in wiringPi/python)
- Operating voltage: 3.3V
- CAN controller: MCP2515
- CAN transceiver: SN65HVD230
- 485 transceiver: SP3485
- Dimension: 65mm x 30mm
- Mounting hole size: 3.0mm
Getting Started with Bluetooth Low Energy: Tools and Techniques for Low-Power Networking
With Bluetooth Low Energy (BLE), smart devices are about to become even smarter. This useful guide shows how this exciting wireless technology helps developers build mobile apps that share data with external hardware, and how hardware engineers can obtain reliable and straightforward access to mobile operating systems.
This book presents a compact, high-level overview of how devices use BLE to communicate with each other. You learn valuable low-cost tools for developing and testing BLE-enabled mobile apps and embedded firmware and get examples using multiple development platforms—including iOS and Android for app developers and embedded platforms for product designers and hardware engineers.
- Understand how data is organized and transferred by BLE devices
- Explore BLE’s concepts, key limitations, and network topology
- Dig into the protocol stack to grasp how and why BLE operates
- Learn how BLE devices discover each other and establish secure connections
- Set up the tools and infrastructure for BLE application development
- Get examples for connecting BLE to iPhones, iPads, Android devices, and sensors
- Develop code for a simple device that transmits heart rate data to a mobile device
The Garmin eLog compliant ELD (FMCSA-registered electronic logging device) is a simple solution to meet HOS recording compliance with the FMCSA ELD mandate. There are no subscription fees or continuing costs.This easy-to-install stand-alone device maintains both 9-pin SAE J1939 and 6-pin SAE J1708 diagnostic ports, so — right out of the box — it is ready to [...]
We at Copperhill Technologies have designed an SAE J1708-to-UART breakout board, and we are in the process of adding it to our e-commerce website. However, what we learned during the development is that the device is in need of some massive software support as I will explain in the following.First of all, to go into [...]
The following is an excerpt from A Comprehensible Guide To J1939 by Wilfried Voss. The Society of Automotive Engineers (SAE) Truck and Bus Control and Communications Subcommittee has developed a family of standards concerning the design and use of devices that transmit electronic signals and control information among vehicle components. SAE J1939 and its companion documents have quickly become the [...]
The CR-HD unit is the perfect tool for diagnosing and clearing heavy duty diagnostic trouble codes. It covers SAE J1587, SAE J1708 and SAE J1939 protocols for accessing Engine, Transmission, Brakes and more. It features a 2.8” full color LCD display and is ergonomic, highly portable and easy to use. Perfect Scan Tool for Heavy Duty Truck works on [...]
As part of our business strategy of providing prototyping solutions for the CAN Bus (including SAE J1939, ISOBUS, NMEA 2000) we have decided to focus more on the Arduino platform, specifically the Arduino Due. The Due, while providing the power of an ARM Cortex M3 processor, comes with two CAN Bus ports per default, however, lacking [...]
SAE J1708 is a standard used for serial communications between ECUs on a heavy duty vehicle and also between a computer and the vehicle. With respect to Open System Interconnection model (OSI), J1708 defines the physical layer. Common higher layer protocols that operate on top of J1708 are SAE J1587 and SAE J1922. The protocol [...]
The MVS series of electronic control units (ECU) by Nexcom features CAN connectivity, and it provides up to four slots for mini-PCIe modules. The modular vehicle computers are equipped with Intel’s 6th generation Core processors on the MVS 5600-IPK or with the Atom processor on the MVS 2620-IPK. The MVS series can aggregate real-time vehicle information from micro-controller [...]
First of all, let me point out that this post is merely about monitoring SAE J1708/J1587 data traffic, i.e. the mere reading of data frames. SAE J1708, the hardware layer, is based on RS485, however, with a small hardware modification that allows message collision detection and prevention. In the following, I am using an RS485 [...]