PJON

Infrastructure

communication bus protocol

SHOW HN2015

PJON

Open-source Arduino multimaster communications bus system

github.com

#arduino#multimaster bus#serial communication#home automation

38points
29comments
#750of 2,565 in 2015
Top 30%of 2015 by points

How HN took it

CuriousMostly questions and neutral comments

1 positive, 7 neutral or asking, 1 mixed, 4 critical, out of 13 comments about the project. Thread score -0.11.

Docs: 0 for, 2 againstPerformance: 0 for, 1 againstIdea: 0 for, 1 against

The thread, comment by comment

Each row is a top-level comment and its replies, in HN's order. Select a cell to open that comment on HN.

positive neutral or mixed critical about another commenter or something else the maker

What HN said

What people liked

  • Useful feedback and thorough protocol critique from commenters

    From 2 comments
    • But quite often the ground isn't the same level at all points in an installation, so you need to run two wires between the two Arduinos. Not picking on you, I'm just saying that…
      roel_v on HN
    • Sorry, this got long... This looks very interesting as a 'simple' communications protocol, and it would be great to have one available for simple multi-master applications. This…
      kbaker on HN

Objections

  • 'One wire' claim ignores need for a common ground wire

    From 2 comments
    • When you say 'one wire', I assume the Arduino's on both ends need to have some common ground? Secondly, is there a way to passively power an Arduino and potentially layer your…
      roel_v on HN
    • But quite often the ground isn't the same level at all points in an installation, so you need to run two wires between the two Arduinos. Not picking on you, I'm just saying that…
      roel_v on HN
  • 50 m cable length may cause ground and noise problems

    From 1 comment
    • 50 m might definitly lead to problems in other settings. "Because both ends of the RS-232 circuit depend on the ground pin being zero volts, problems will occur when connecting…
      jonsen on HN
  • Lacks timer/interrupt implementation and robust CRC and sampling

    From 1 comment
    • Sorry, this got long... This looks very interesting as a 'simple' communications protocol, and it would be great to have one available for simple multi-master applications. This…
      kbaker on HN
  • No auto-addressing; addresses are assigned manually in code

    From 2 comments
    • I think you should list all the flaws of I2C and SPI and say if PJON also suffers from them: * How easy is mixing 3.3V & 5V? * Can I always program the address of a slave? (If…
      IshKebab on HN
    • Hi there, this is really a good suggestion, why don't you open a issue on github related to this? To have it working with mixed 3v3 5v you have to choose main channel voltage and…
      gioscarab on HN

Requests

  • Clarify the 'one wire' wording and ground requirement in docs

    From 1 comment
    • But quite often the ground isn't the same level at all points in an installation, so you need to run two wires between the two Arduinos. Not picking on you, I'm just saying that…
      roel_v on HN
  • Publish a written specification or wiki for porting

    From 2 comments
    • I see that it uses Wiring, but I'd be interested what the minimum requirements are for a compatible implementation. For example, would it be possible to implement it without some…
      dnet on HN
    • Thank you so much for your feedback. I think the first step on ATtiny compatibility can be ATtiny85 with a decent port on wiring. (I think will work also without external…
      gioscarab on HN
  • Support ATtiny85 and lower-memory chips

    From 2 comments
    • I see that it uses Wiring, but I'd be interested what the minimum requirements are for a compatible implementation. For example, would it be possible to implement it without some…
      dnet on HN
    • Making it work for ATtiny85 would be very neat. I've never tried to run it at 16Mhz without an external oscillaror -- only 8Mhz. Would it be a big problem to run the network at…
      bborud on HN
  • Add auto-addressing and collision detection

    From 1 comment
    • Sorry, this got long... This looks very interesting as a 'simple' communications protocol, and it would be great to have one available for simple multi-master applications. This…
      kbaker on HN
  • Correct throughput figures in the readme

    From 1 comment
    • It's 'baud', not BAUD/S. Your signal timing is 20 microseconds which equals a signal rate of 50000 baud, or 50 kBd. There are 12 signals in each frame holding one byte. So the…
      jonsen on HN

Questions

  • What does the accuracy metric measure

    From 1 comment
    • > Accuracy: 99.95% What does "accuracy" mean here? Successful transmission rate?
      kaoD on HN
  • Can it passively power devices over the same wire

    From 2 comments
    • When you say 'one wire', I assume the Arduino's on both ends need to have some common ground? Secondly, is there a way to passively power an Arduino and potentially layer your…
      roel_v on HN
    • Yes gound is necessary for every connected device. Actually passive power on the same communication wire as 1-Wire has actually is not part of the functionalities of PJON, could…
      gioscarab on HN
  • How the 50 m range was measured

    From 1 comment
    • What does the `accuracy` measurement on your benchmarks show ? How did you estimate max transmit distance of 50m. I know I am pretty negative but to me once you reach this level…
      antoinealb on HN

Alternatives named

  • 1-Wire

    From 2 comments
    • Hi there, this is a communication bus system, that transfers data between computers. What is interesting is that is completely software (no usage of hardware components of the…
      gioscarab on HN
    • But quite often the ground isn't the same level at all points in an installation, so you need to run two wires between the two Arduinos. Not picking on you, I'm just saying that…
      roel_v on HN
  • I2C and SPI

    From 2 comments
    • I think you should list all the flaws of I2C and SPI and say if PJON also suffers from them: * How easy is mixing 3.3V & 5V? * Can I always program the address of a slave? (If…
      IshKebab on HN
    • Hi there, this is a communication bus system, that transfers data between computers. What is interesting is that is completely software (no usage of hardware components of the…
      gioscarab on HN
  • CAN bus and RS-485

    From 2 comments
    • Sorry, this got long... This looks very interesting as a 'simple' communications protocol, and it would be great to have one available for simple multi-master applications. This…
      kbaker on HN
    • What does the `accuracy` measurement on your benchmarks show ? How did you estimate max transmit distance of 50m. I know I am pretty negative but to me once you reach this level…
      antoinealb on HN
  • Modbus

    From 1 comment
    • But quite often the ground isn't the same level at all points in an installation, so you need to run two wires between the two Arduinos. Not picking on you, I'm just saying that…
      roel_v on HN

Category, keywords, summaries and labels on this page were made by AI (Thread Reader v2) and not checked by hand. Each point links to the comments it came from.

Add a badge to your READMEShown on HackerShow
[![Shown on HackerShow](https://hackershow.org/badge.svg)](https://hackershow.org/show/10283028)