Case studies · THOR B board
Five ways to communicate.
One board.
THOR B brings an already-wired plant and the network together: RS-485, I2C and SPI towards the field, Wi-Fi and LoRa towards everything else. Every bus has its own supply and its own isolation, the on-board clock survives a power cut and the memory can be read with the board switched off. All in 86 × 99 mm, with twelve screw terminals and a single supply voltage.
Revision 00 · April 2026. A communication board for existing machines and plants, designed and documented by NetSpeak.
The context
The field speaks one language.
The network speaks another.
In a plant that has been running for a few years the data is already there: a meter on RS-485, a board on I2C, a display or a converter on SPI. What is missing is the point where those signals become a network — without rewiring, without replacing the machine and without putting a PC into production.
THOR B is built for exactly that point. On one side the three field buses, brought out on screw terminals; on the other the ESP32-S3 Wi-Fi and the LoRa module, which carries data where no cable reaches. In between, everything the board needs to work on its own: clock, permanent memory, buffers for inputs and outputs.
Two choices shaped the design. First: every field bus has its own supply domain and its own isolation, so the noisy ground of a cabinet or a long cable never reaches the measuring electronics. Second: everything that keeps the board alive sits on the board, not on a server, in a cloud or in an app.
Interfaces
Three ways out of the field,
two ways onto the network
Not one converter per protocol, but a board that brings them together and makes them coexist: what arrives from a meter can leave over LoRa, reach a database over Wi-Fi, or be read by a PLC on the same RS-485.
ESP32-S3
The ESP32-S3-WROOM-1-N4 module is the heart of the board: Wi-Fi, native USB and 4 MB of flash for the firmware. The board presents itself on the network as any other node — a configuration page, a TCP or MQTT connection, remote updates.
Up to 10 km in free air
The E22-400T30D module carries data where there is no Wi-Fi, no cable and no mobile coverage: no router, no SIM, no subscription. It is the link for a well, a roadside cabinet or a tank a few kilometres away from the office.
RS-485
The industrial bus that is often already installed: meters, inverters, controllers, PLCs. THOR B connects to A, B and GND, with a separate supply and a dedicated enable line, without touching the rest of the network.
Isolated I2C
Two-wire sensors and memories brought out of the board on a galvanically isolated bus, with 4.7 kΩ pull-ups to 3.3 V and its own supply: SDA, SCL, V I2C and EN I2C all reach the terminal block.
Isolated SPI
For devices that need speed: MOSI, MISO, SCL and CS on an isolated bus, with a separate supply and enable. The bus does not share a ground with the controller.
4 inputs, 4 outputs
Four ON/OFF inputs for alarms, floats and photocells, four outputs able to drive external relays and contactors. The signals go through dedicated buffers, not straight out of the microcontroller.
The choice that matters
Isolation is not a footnote in the datasheet
In the field the problems come from the cables: grounds at different potentials, switching inductive loads, common-mode noise on long lines, surges. A bus wired straight into the microcontroller brings all of that inside — and when it goes wrong you don’t lose a reading, you lose the board.
That is why I2C and SPI are galvanically isolated and have their own supply, while RS-485 has a separate supply and a dedicated enable line. In practice: you can connect THOR B to a machine cabinet without dragging its ground into the measuring electronics, and a short on the field bus takes down neither the controller nor the radio.
The board runs from a single 5 V source; reverse polarity is handled by a MOSFET interface that lights a red LED and keeps the board off instead of destroying it.
Mind the power supply. THOR B has no overvoltage protection: it must be supplied at 5 V ±5% and no more. A 12 V supply or a spike on the line will damage the board.
Block diagram
What is inside
The three field buses on one side, the controller in the middle with clock, memory and buffers, the radio and the supply on the other. Dashed lines mark the isolated domains.
Field domains · separate supply
Controller
Towards the network
- isolated field buses
- controller and on-board peripherals
- radio and power
The terminal blocks
Twelve 5.08 mm screw connectors along the edge of the board. Each group carries its own supply and its own enable line, so one bus can be switched off without cutting power to the rest.
| Group | Signals | Notes |
|---|---|---|
| Power | 5V · GND | 5 V ±5%, 2 A max, reverse polarity protected |
| Inputs | IN1 · IN2 · IN3 · IN4 · COM | ON/OFF contacts: alarms, photocells, floats |
| Outputs | EN1 · EN2 · EN3 · EN4 · GND | 0.5 A sink for external relays and contactors |
| External I2C | V I2C · SDA · SCL · EN I2C | isolated bus, 4.7 kΩ pull-ups to 3.3 V |
| External SPI | V SPI · MOSI · MISO · SCL · CS · EN SPI · GND SPI | isolated bus, separate supply |
| RS-485 | V485 · A · B · GND · EN485 | separate supply, enable line |
| Programming | JP2: DTR · RXD0 · TXD0 · RTS · GND JP3: 3V3 · D− · D+ · GND JP1: 6 pins for the EEPROM | JP2 with CN1/CN2 buttons; JP3 is USB; JP1 reads the memory with the board off |
Time and memory
The right time, even when the power is gone
A reading without a time is useless. The board carries a BQ32000DR real-time clock on the internal I2C bus (SDA on pin 24, SCL on pin 25, 4.7 kΩ pull-ups to 3.3 V), backed by a 1 F supercap.
The capacitor keeps the clock running when the board supply disappears. Backup time is 10 days — enough to cover a mains outage, a plant shutdown or the duration of a maintenance job. On power-up the date and time are still correct, with no battery to replace and no time to request from the network. Measurements keep their time reference even after an interruption.
Next to the clock there is an EEPROM for permanent data — serial number, configuration, counters — reachable from the external JP1 connector. It is an unusual and very practical choice: the memory can be read with the board switched off, without powering anything, using a programmer or a test bench.
Inputs and outputs
Four signals in, four commands out
The connection to the physical world does not come straight from the microcontroller pins: there is a buffer stage in between, and that is what makes the board usable inside an electrical cabinet.
4 ON/OFF channels
Dry contacts with a shared common: alarms, photocells, floats, limit switches, pushbuttons. The state is read by the firmware and can be reported over the network, logged, or used as a condition for an output.
4 channels, 0.5 A sink
Driven by a ULN2003A, they switch relays, contactors or solenoid valves mounted outside the board. The load stays in the cabinet, where it belongs: THOR B gives the command, not the power.
Enable on every bus
Each interface has its enable line on the terminals (EN I2C, EN SPI, EN485): a bus that is not needed can stay off, and a device that must be restarted can be isolated without cutting power to the board.
Datasheet
The numbers behind THOR B
What revision 00 of the project document already defines. Weight and actual maximum current still have to be measured and are marked TBD.
| Size | 86 × 99 mm, terminals along the board edge |
|---|---|
| Weight | TBD |
| Supply | 5 V ±5%, maximum current 2 A (TBD) |
| Protection | reverse polarity through a MOSFET interface; no overvoltage protection |
| Controller | ESP32-S3-WROOM-1-N4, 2.4 GHz Wi-Fi, 4 MB flash |
| Radio | LoRa E22-400T30D, stated range up to 10 km in free air |
| Clock | BQ32000DR on I2C, 1 F supercap backup, 10 days without power |
| Memory | EEPROM for permanent data, readable from outside on JP1 |
| Field buses | RS-485, isolated I2C, isolated SPI, each with its own supply |
| Inputs | 4 ON/OFF channels with common |
| Outputs | 4 channels, 0.5 A sink, ULN2003A driver |
| Connectors | 12 screw terminals, 5.08 mm pitch; JP1, JP2, JP3 internal |
| Programming | JP2 (DTR, RXD0, TXD0, RTS, GND), CN1/CN2 buttons, USB on JP3 |
Where it helps
Four ways a board like this pays for itself
Telemetry where there is no network
A well, a tank, a cabinet in the countryside: the data leaves over LoRa towards a point that does have a network, with no SIM and no subscription. The board runs from 5 V and keeps working even if the link drops.
Retrofit of existing machines
A meter or an inverter already wired on RS-485 becomes a network service without replacing the machine and without adding an industrial gateway. The existing cabling stays where it is.
Alarm concentrator
Four inputs for photocells, floats and safety contacts, four outputs for relays and signalling: THOR B collects the states in the field and brings them to one place, with the time of every event.
Bridge between two worlds
The field bus on one side, the radio or Wi-Fi on the other: the board translates between different protocols with no PC running. A PLC can read a LoRa sensor, and an I2C sensor can end up in a database.
Project status
What is defined and what is still missing
THOR B is at revision 00 (April 2026): schematic, layout and bill of materials are defined and the board is documented function by function. Some values have not been measured on the prototype yet and appear as TBD in the document.
- Size and connectors: defined.
- 5 V supply and reverse-polarity protection: defined.
- Field buses, isolation and enable lines: defined.
- RTC with supercap (10 days of backup) and EEPROM with external read: defined.
- Weight and maximum current draw: to be measured (TBD).
Frequently asked
The questions we hear most often
Do I need a network, a SIM or a subscription?
Not for LoRa: two THOR B boards talk to each other directly, with no infrastructure and no recurring cost. Wi-Fi is only needed if you want the data on a local network or on the internet; RS-485 works on the cable you already have.
Can I connect it to a PLC or a meter I already own?
Yes. RS-485 connects on A, B and GND with a separate supply: it is the typical case for energy meters, inverters and plant controllers. If the device uses I2C or SPI, there are isolated external buses with their own supply.
What range does LoRa really have?
The design figure is up to 10 km in free air. In the field the range depends on antenna, height, obstacles and noise: with line of sight and decent antennas you get close to the maximum, inside a building or in a valley far less. That is why the board also has Wi-Fi and RS-485.
Are the buses isolated?
I2C and SPI are galvanically isolated, with their own supply; RS-485 has a separate supply and an enable line. Inputs and outputs go through dedicated buffers. That is the difference between a bench board and a board that lives in a cabinet.
What power supply does it need?
5 V with at least 2 A available, stabilised. Reverse polarity is protected; overvoltage is not: do not supply the board at 12 V and do not connect it to a supply that can exceed 5 V + 5%.
Let’s talk
Got a machine that speaks RS-485
and you would like to see it on the network?
Tell us what you need to connect, over what distance and with what supply. We can start from the board as it is or adapt connectors, inputs and firmware to your plant.
A NetSpeak project · hardware, firmware and software design.
