Forum: µC & Digital Electronics M-Bus via Raspberry: reading out ABB B23 meter

von Moadl (Guest)

Rate this post
0 useful
not useful
Hello all,

this is a re-write with a better title of my German post which I 
unfortunately cannot edit anymore.

I need to read data from an ABB "B23 111-101" meter which is accessible 
via an IR-interface on its left side. This IR-interface is configured to 
M-Bus, 2400 Bd & Address 9 (arbitrary number).

For reading from that IF I am using an IR Read-/Write Head from Weidmann 
Elektronik which incorporates an FDTI chip and the IR TX/RX components 
and interfaces to the RPI via USB.
The IR-head works, I could try that out on a smart-meter with the 
metal-ringed LED-eye on its front. However, when trying to read from the 
ABB-meter I get no reaction at all from the ABB-component.

The RPI would have the libmbus-library from rscada 
(https://github.com/rscada/libmbus) for doing the M-Bus interface. 
Installation went well and if I try sending against a white sheet of 
paper I can "read" the reflected TX-signal.

As no reactions came from the ABB-meter I am now already down to working 
on a laptop with a terminal, sending out the data directly.

Current trial, sending of the RWG_UD2-telegram for reading from the 
0x10, 0x5B, 0x09, 0x64, 0x16
0x10 = Start
0x5B = REQ_UD2
0x09 = Adress
0x64 = Checksum (=0x5b + 0x09)
0x16 = Ende

Reaction from the meter: none.
Again: sending against a white sheet of paper I see the reflected 
IR-data being displayed in the terminal.

Any idea about what may be going wrong here?
Do I need any kind of wake-up sequence? I didn't find anything on the 
looking at the protocol.

Also as a side-note: anyone any info how the TX- and RX-"LED"s are 
aligned in the meter? TX=Top, RX= Bottom or vice-versa?

Thanks a lot & cheers


von Armin Klose (Guest)

Rate this post
0 useful
not useful
You can check the allignment of the LEDs with a Digitalcamera (usally 
smartphone cam is good enough). Send data and watch the leds trough the 
cam (put on video mode). You should see a "flickering" light as the cam 
can see the infrared signal. The LED flickering is the TX Led, the other 
must be RX then. I use this to check if remote controls are working or 
not :-) ....

As i also have s smartmeter (from electricity company) mymust be enabled 
first by sending a "blink code" to the device. Unfortanlty i didn´t get 
the code for my meter. But the guy that came to read it out has the code 
and activted it for me. Now i can read it out but he already told me 
that the activation must be redone after some days. So it will not last 
for long.

I use the data for my smarthome (as the meter has no other interface).

von Moadl K. (Company: XXX) (moadl)

Rate this post
0 useful
not useful
Hello Armin,

yes, the smart-phone video is something that i also do pretty 
frequently. 8o)
On the IR-head I also see where the data is coming out.

However as Murphy is also in the game, the meter is installed in a 
cabinet where one would need a rubber-mobile to get in both with the 
IR-head and the mobile.
From these tries I could see that my TX-head is blinking into the 
ABB-meter, however I cannot see anything coming back. Whether this is 
down to the meter not reacting or me not being able to see it with the 
mobile is something that I cannot guarantee. My guess is the meter keeps 
The ABB-meter was purchased freely from authorised whole-sale and not 
from any electricity company. The normal ACE...-meters are reacting 
properly when "talking" to them... 8o(



von Moadl K. (Company: XXX) (moadl)

Rate this post
0 useful
not useful
Hello all,

as usual on "nothing works" it was just a small item.
The imporant bit on the communication is the parity.

The M-Bus IR-interface on the ABB B23 requires:
- certain baud-rate (can be selected in meter)
- address (can be set in meter)
- 8 Data-Bits
- Even parity (!)
- 1 Stop-Bit

If that is correctly set then it replies to the interface.
Also for completeness, the RX-side on the meter is on the bottom of the 
IF, the TX-side on the top.



von Oliver (Guest)

Rate this post
0 useful
not useful
Hello Moadl,

you made my day. Had exactly the same problem.
Adding Parity bit with even polarity solved the topic.
Thanks for postint your solution,



Entering an e-mail address is optional. If you want to receive reply notifications by e-mail, please log in.

Rules — please read before posting

  • Post long source code as attachment, not in the text
  • Posting advertisements is forbidden.

Formatting options

  • [c]C code[/c]
  • [avrasm]AVR assembler code[/avrasm]
  • [code]code in other languages, ASCII drawings[/code]
  • [math]formula (LaTeX syntax)[/math]

Bild automatisch verkleinern, falls nötig
Note: the original post is older than 6 months. Please don't ask any new questions in this thread, but start a new one.