# Building custom velbus devices

**URL:** <https://forum.velbus.eu/t/building-custom-velbus-devices/4125>\
**Category:** English\
**Created:** [October 15, 2010, 8:05am UTC](https://forum.velbus.eu/t/building-custom-velbus-devices/4125 "2010-10-15T08:05:58Z")\
**Posts on this page:** 20\
**Page:** 2

<div class="post-metadata">

**Author:** ![Stis](https://forum.velbus.eu/letter_avatar_proxy/v4/letter/s/94ad74/32.png) [@Stis](https://forum.velbus.eu/u/Stis)\
**Post date:** [January 20, 2011, 7:39pm UTC](https://forum.velbus.eu/t/building-custom-velbus-devices/4125/21 "2011-01-20T19:39:44Z")

</div>

the older ones via xml i think. The newest have them build in to the module if i’m right. read it on this forum.

hope this helps

stis

---

<div class="post-metadata">

**Author:** ![penske](https://forum.velbus.eu/letter_avatar_proxy/v4/letter/p/e68b1a/32.png) [@penske](https://forum.velbus.eu/u/penske)\
**Post date:** [January 25, 2011, 3:30pm UTC](https://forum.velbus.eu/t/building-custom-velbus-devices/4125/22 "2011-01-25T15:30:05Z")

</div>

Hi,

Velbus 7 software had some xml files that contained the memorymaps of certain module.  
These where only the memorymaps.  
It would be nice if you could create you own devices in the next velbus software.  
This could be done through a library with (xml)files for every module.  
To create a custom device you could choose out of certain standard components like pushbuttons, dimmerchannels, relaychannels, sliders, …

In that way i can create several new modules an intergate them in the velbus software.  
I’m not a dot net wiz, so a simple XML module file would be great.

Regards,  
Jeroen.

---

<div class="post-metadata">

**Author:** ![penske](https://forum.velbus.eu/letter_avatar_proxy/v4/letter/p/e68b1a/32.png) [@penske](https://forum.velbus.eu/u/penske)\
**Post date:** [May 20, 2011, 1:05pm UTC](https://forum.velbus.eu/t/building-custom-velbus-devices/4125/23 "2011-05-20T13:05:00Z")

</div>

Hi,

Any news on the my feature request ?

Regards,  
Jeroen.

---

<div class="post-metadata">

**Author:** ![VEL448](https://forum.velbus.eu/user_avatar/forum.velbus.eu/vel448/32/4186_2.png) [@VEL448](https://forum.velbus.eu/u/VEL448)\
**Post date:** [May 23, 2011, 3:16pm UTC](https://forum.velbus.eu/t/building-custom-velbus-devices/4125/24 "2011-05-23T15:16:48Z")

</div>

> [@](#):
>
> Velbus 7 software had some xml files that contained the memorymaps of certain module.  
> These where only the memorymaps.  
> It would be nice if you could create you own devices in the next velbus software.  
> This could be done through a library with (xml)files for every module.  
> To create a custom device you could choose out of certain standard components like pushbuttons, dimmerchannels, relaychannels, sliders, …
> 
> In that way i can create several new modules an intergate them in the velbus software.  
> I’m not a dot net wiz, so a simple XML module file would be great.

That will probably never happen, it is simply too complex

---

<div class="post-metadata">

**Author:** ![cereal](https://forum.velbus.eu/user_avatar/forum.velbus.eu/cereal/32/1240_2.png) [@cereal](https://forum.velbus.eu/u/cereal)\
**Post date:** [September 6, 2011, 6:22am UTC](https://forum.velbus.eu/t/building-custom-velbus-devices/4125/25 "2011-09-06T06:22:58Z")

</div>

@penske

how far did you get with the pic \<=\> velbus interface?  
did you ever get it working?

---

<div class="post-metadata">

**Author:** ![penske](https://forum.velbus.eu/letter_avatar_proxy/v4/letter/p/e68b1a/32.png) [@penske](https://forum.velbus.eu/u/penske)\
**Post date:** [September 19, 2011, 2:36pm UTC](https://forum.velbus.eu/t/building-custom-velbus-devices/4125/26 "2011-09-19T14:36:46Z")

</div>

Hi,

I could read values and show them on a display and send commands to the velbus.  
Last thing i did was looking at the memory maps but i did not finish this project due to not enough time/other projects.  
I guess i will start over this winter.

Regards,  
jeroen.

---

<div class="post-metadata">

**Author:** ![cereal](https://forum.velbus.eu/user_avatar/forum.velbus.eu/cereal/32/1240_2.png) [@cereal](https://forum.velbus.eu/u/cereal)\
**Post date:** [September 19, 2011, 2:47pm UTC](https://forum.velbus.eu/t/building-custom-velbus-devices/4125/27 "2011-09-19T14:47:51Z")

</div>

cool,

can you post your docu somewhere on how you did it?  
would really be halpfull as i was thinking of writing an IR sender that hooks onto velbus …

---

<div class="post-metadata">

**Author:** ![bdewitte](https://forum.velbus.eu/letter_avatar_proxy/v4/letter/b/db5fbb/32.png) [@bdewitte](https://forum.velbus.eu/u/bdewitte)\
**Post date:** [September 21, 2011, 10:40am UTC](https://forum.velbus.eu/t/building-custom-velbus-devices/4125/28 "2011-09-21T10:40:57Z")

</div>

I would be interested as well! 8)

---

<div class="post-metadata">

**Author:** ![penske](https://forum.velbus.eu/letter_avatar_proxy/v4/letter/p/e68b1a/32.png) [@penske](https://forum.velbus.eu/u/penske)\
**Post date:** [December 7, 2011, 8:42pm UTC](https://forum.velbus.eu/t/building-custom-velbus-devices/4125/29 "2011-12-07T20:42:49Z")

</div>

Hi guys,

Sorry for the late reply.  
If you are interrested in the mbasic code, just send me an email (not sure if it’s visible in my profile).  
You need a PIC 18F2480 (or similar), an MCP2551, an LCD (4x20), some pushbuttons and some resistors.

Regards,  
Jeroen.

---

<div class="post-metadata">

**Author:** ![cereal](https://forum.velbus.eu/user_avatar/forum.velbus.eu/cereal/32/1240_2.png) [@cereal](https://forum.velbus.eu/u/cereal)\
**Post date:** [December 7, 2011, 8:47pm UTC](https://forum.velbus.eu/t/building-custom-velbus-devices/4125/30 "2011-12-07T20:47:12Z")

</div>

no email in the profile 🙂

---

<div class="post-metadata">

**Author:** ![penske](https://forum.velbus.eu/letter_avatar_proxy/v4/letter/p/e68b1a/32.png) [@penske](https://forum.velbus.eu/u/penske)\
**Post date:** [December 7, 2011, 9:30pm UTC](https://forum.velbus.eu/t/building-custom-velbus-devices/4125/31 "2011-12-07T21:30:01Z")

</div>

Hi,

Just send an email to jeroen.hollemans(at)telenet.be

Regards,  
Jeroen.

---

<div class="post-metadata">

**Author:** ![Cantryn](https://forum.velbus.eu/letter_avatar_proxy/v4/letter/c/258eb7/32.png) [@Cantryn](https://forum.velbus.eu/u/Cantryn)\
**Post date:** [December 14, 2011, 12:47pm UTC](https://forum.velbus.eu/t/building-custom-velbus-devices/4125/32 "2011-12-14T12:47:15Z")

</div>

Time to do some prototyping 😃

I’m going to try to put someting together with a full color display, preferably OLED like the new Niko modules.  
Compared to the display of the VMB4PD the latter looks ancient…

For example:  
[http://www.nikohomecontrol.be/assets/images/product/knop-16.jpg](http://www.nikohomecontrol.be/assets/images/product/knop-16.jpg)

The VMBLCDWB looks promising but I think 199€ is a little steep…

---

<div class="post-metadata">

**Author:** ![penske](https://forum.velbus.eu/letter_avatar_proxy/v4/letter/p/e68b1a/32.png) [@penske](https://forum.velbus.eu/u/penske)\
**Post date:** [December 14, 2011, 10:00pm UTC](https://forum.velbus.eu/t/building-custom-velbus-devices/4125/33 "2011-12-14T22:00:49Z")

</div>

Looks nice but oled displays are not that cheap.  
There are some nice oled displays on the market that have a serial interface and an input for 5 buttons (joystick + push) from 4d systems.  
Some of these models even have a touch sensor over the display.  
It would be nice if the whole timer and date activated functions would be programmable like a simple heating thermostat (programming on the wall device in a graphical way/visual timeline.)  
You could make schedules and apply these to certain actions or action groups.

So for the whishlist. (I’m sure i can come up with some other things)

Regards,  
Jeroen.

---

<div class="post-metadata">

**Author:** ![matthijsfh](https://forum.velbus.eu/user_avatar/forum.velbus.eu/matthijsfh/32/4397_2.png) [@matthijsfh](https://forum.velbus.eu/u/matthijsfh)\
**Post date:** [January 13, 2021, 6:45pm UTC](https://forum.velbus.eu/t/building-custom-velbus-devices/4125/34 "2021-01-13T18:45:34Z")

</div>

Hai,

Did anyone of you get the CAN interface chip MCP2515 working? I am having troubles getting reliable data. I just posted in another thread (sorry, overlooked this one).

My data is shifted 1 bit (not byte) when longer data is send. For short messages, all is fine. I cannot find the correct MCP2515 settings to eliminated the shift.

Greetings Matthijs

---

<div class="post-metadata">

**Author:** ![penske](https://forum.velbus.eu/letter_avatar_proxy/v4/letter/p/e68b1a/32.png) [@penske](https://forum.velbus.eu/u/penske)\
**Post date:** [January 13, 2021, 7:49pm UTC](https://forum.velbus.eu/t/building-custom-velbus-devices/4125/35 "2021-01-13T19:49:14Z")

</div>

Hi Matthijs,

This is an old topic and i stopped developing devices for velbus.  
I can say that i used a PIC microcontroller with CAN interface + CAN Tranceiver MCP2551.  
I had it working and I was able to read and write to the VELBUS so it is possible to create devices of your own.  
One of my projects was a volume controller/digital potentiometer that was recognised by velbus as a dimmer.

Not sure if the PIC software was written in Basic or in C. Will have to look if i can find the old files.

Regards,  
Jeroen.

---

<div class="post-metadata">

**Author:** ![matthijsfh](https://forum.velbus.eu/user_avatar/forum.velbus.eu/matthijsfh/32/4397_2.png) [@matthijsfh](https://forum.velbus.eu/u/matthijsfh)\
**Post date:** [January 13, 2021, 10:00pm UTC](https://forum.velbus.eu/t/building-custom-velbus-devices/4125/36 "2021-01-13T22:00:26Z")

</div>

Help would be appreaciated.

I have narrowed it down to a missing bit when more than 5 bits are send. So it has to do with bitstuffing but only in relation to the bytes “data length” and “1st data byte”.

Maybe I should buy a decent CAN to USB device and check again.

Greetings Matthijs

---

<div class="post-metadata">

**Author:** ![penske](https://forum.velbus.eu/letter_avatar_proxy/v4/letter/p/e68b1a/32.png) [@penske](https://forum.velbus.eu/u/penske)\
**Post date:** [January 13, 2021, 11:07pm UTC](https://forum.velbus.eu/t/building-custom-velbus-devices/4125/37 "2021-01-13T23:07:28Z")

</div>

Hi matthijs,

Did you take a look at the protocol pages of VMB8PB fir instance ?  
There you can find all the bits and what they stand for.

> **[protocol\_vmb8pb.pdf](https://www.velbus.eu/downloads/0/velbus/manuals/protocol/protocol_vmb8pb.pdf)**
>
> 192.42 KB

  
page 2

in one of my routines i did find a bitshift:

```
'----------------- Sub Procedures ---------------

```

sub procedure Velbus\_To\_Can\_Address()

```
 HighPrio_ID = Module_Address
 <<HighPrio_ID
 
 Firmware_ID = Module_Address
 <<Firmware_ID
 Firmware_ID = Firmware_ID + 0x0200

 ThirthParty_ID = Module_Address
 <<ThirthParty_ID
 ThirthParty_ID = ThirthParty_ID + 0x0400
 
 LowPrio_ID = Module_Address
 <<LowPrio_ID
 LowPrio_ID = LowPrio_ID + 0x0600

```

Also think of the fact that this was valid for the velbus version of 2013.

Regards,  
Jeroen.

---

<div class="post-metadata">

**Author:** ![matthijsfh](https://forum.velbus.eu/user_avatar/forum.velbus.eu/matthijsfh/32/4397_2.png) [@matthijsfh](https://forum.velbus.eu/u/matthijsfh)\
**Post date:** [January 14, 2021, 8:40am UTC](https://forum.velbus.eu/t/building-custom-velbus-devices/4125/38 "2021-01-14T08:40:50Z")

</div>

Thanks for helping.

I spent quite some time yesterday on the MCP2515. One of the conclusions is that I cannot retrieve the CRC bits from it, so there is no way to check the data and do any shifting if NOK.

Will fire up my STM32 and learn how to CAN with that one. See if I loose the sam bits or not and if I can get the CRC out of it.

Will keep you posted.

Greetings Matthijs

---

<div class="post-metadata">

**Author:** ![matthijsfh](https://forum.velbus.eu/user_avatar/forum.velbus.eu/matthijsfh/32/4397_2.png) [@matthijsfh](https://forum.velbus.eu/u/matthijsfh)\
**Post date:** [January 16, 2021, 10:25am UTC](https://forum.velbus.eu/t/building-custom-velbus-devices/4125/39 "2021-01-16T10:25:49Z")

</div>

Yes!

STM32 + CAN is working. Now working on decoding the messages and creating a correct response.

Does anyone know if there is a “third party” device ID to use? Or should I just fake an existing module?

Decoding in action:

 ![Screenshot from 2021-01-16 11-32-43](https://forum.velbus.eu/uploads/default/original/2X/b/bd635699ac7879ea7b74ae9e128f69b4aa033d19.png)

Greetings Matthijs

---

<div class="post-metadata">

**Author:** ![penske](https://forum.velbus.eu/letter_avatar_proxy/v4/letter/p/e68b1a/32.png) [@penske](https://forum.velbus.eu/u/penske)\
**Post date:** [January 16, 2021, 11:22pm UTC](https://forum.velbus.eu/t/building-custom-velbus-devices/4125/40 "2021-01-16T23:22:32Z")

</div>

You can fake existing modules, it all depends on what values and functions you want to be able to send and receive from other devices.  
A dimmer could also be used for a PWM dimmer for leds or for volume or tone control.  
You could make your device to listen to multiple channels and combine on/off commands with values such as dimmer values.

Have fun experimenting with it.  
Jeroen.

[Previous page](https://forum.velbus.eu/t/building-custom-velbus-devices/4125.md?page=1)

[Next page](https://forum.velbus.eu/t/building-custom-velbus-devices/4125.md?page=3)
