Skip to main content

← All posts

Field Report

On the Bench: The Waveshare Board Behind Most of Our Modules

· 4 min read

There is one off-the-shelf board you will see again and again if you scroll the bill of materials on this site. The Waveshare ESP32-S3 RS485 CAN board is the dev board that anchors Bearing, Solstice, Reservoir, and most of the other CAN-bus modules in the TrailCurrent lineup. We just posted a review of it on the open-source channel, and this is the written companion: what it is, why it keeps showing up, and where it lives in the project.

What it is

The Waveshare ESP32-S3 RS485 CAN board is an ESP32-S3 dev board with the two things you actually want for vehicle wiring already on it. There is an NXP TJA1051T high-speed CAN transceiver tied to the ESP32-S3 TWAI peripheral, and an RS485 driver on a second UART. The 12 V automotive rail feeds straight in through a 7 to 36 V wide-input regulator, so there is no separate buck converter to source. USB-C handles first-time flashing. 8 MB of flash gives the firmware room for two OTA partitions. Once a board is on the CAN bus, every update after that lands over the air.

That is most of what an ESP32 module needs to ride a vehicle CAN bus. No custom PCB, no transceiver to footprint, no power input to design. The board is one part number on Waveshare and a roll of wire away from a working node.

Why it keeps showing up

The shortest version is that it removes a lot of decisions. When you are designing a sensor module, the choices that eat the most time are not the interesting ones. Which transceiver. Which regulator. How to protect the input. How to expose USB for development without leaving a port glued onto the side of an enclosure. The Waveshare board has an answer for every one of those, and the answers are good enough that the module ends up being mostly the part you actually care about, the sensor.

Bearing is a good example. It is a GNSS module. The interesting work is the receiver, the antenna path, and the message format on the CAN bus. The board behind it is exactly one Waveshare ESP32-S3 RS485 CAN, four soldered wires to a DFRobot Gravity GNSS, and a Deutsch DTM connector. The whole module fits in a small printed enclosure. Solstice is a similar story for solar and shunt monitoring. Reservoir uses the same board to read twelve tank-level sensors over a single ribbon cable. Same compute, same OTA pipeline, same flash flow, three completely different jobs.

It also keeps the cost approachable. Building a TrailCurrent module from scratch with custom PCBs is something we still do where it earns its keep, like Torrent and Tapper, where the I/O density and the relays demand it. For sensor nodes, an off-the-shelf board that has already been through Waveshare's manufacturing and QA is faster, cheaper, and easier for someone else to reproduce.

What is in the video

The video runs through the board in the order you would meet it on the bench. Pinout and what each header is wired to. The CAN transceiver and the on-board termination jumper. The RS485 side, which we do not use today but is there if you need Modbus or NMEA 2000 talkers. The wide-input power stage. The USB-C port. Where the dual OTA partition layout lives in flash. A few notes on the things to watch out for, including the silkscreen quirks and the one resistor we have changed our mind about.

Then a quick montage of the modules it ends up inside. If you have read the build-your-own posts for Bearing, Solstice, or Reservoir, the back of every one of those enclosures is the same green board.

The behind-the-scenes channel

This review went up on @trailcurrentopensource, the second TrailCurrent YouTube channel. The main @trailcurrent channel covers what the system does and the value of running it on your rig. The open-source channel is for the work underneath: hardware reviews, firmware deep dives, manufacturing, design choices, and the kind of detail that does not belong in a product video. If that mix is what you came here for, that is the channel to subscribe to.

Where to buy it

Direct from Waveshare at waveshare.com/esp32-s3-rs485-can.htm. That link includes our affiliate tag, which costs you nothing and sends a small cut back to the project. If you would rather skip the tag, strip ?aff_id=Trailcurrent off the URL.

Then pick a module and start building. The bill of materials on every product page lists exactly what to put next to this board, and the firmware for every TrailCurrent module is in the trailcurrentoss GitHub organization, ready to flash from the browser.