Skip to content
Giovanni Blu Mitolo edited this page Oct 1, 2020 · 303 revisions

PJON wiki

PJON is a tool created to simplify network engineering and communication between devices. Choose the medium you prefer, build your own network of devices and make it work with few lines of code. There are 13 strategies available to communicate data with PJON on various media:

Strategy Physical layer Protocol
SoftwareBitBang Single Wire PJDL
OverSampling Radio PJDLR
AnalogSampling Light PJDLS
ThroughSerial Serial port TSDL
ThroughLoRa Radio LoRa
EthernetTCP Ethernet/WiFi TCP
LocalUDP Ethernet/WiFi UDP
GlobalUDP Ethernet/WiFi UDP
DualUDP Ethernet/WiFi UDP
MQTTTranslate Ethernet/WiFi MQTT
ESPNOW WiFi ESPNOW
LocalFile System memory None
Any Virtual inheritance, any of the above Any

Compatibility

Device AS OS SB TS ET LU GU DU TL EN LF
Arduino Duemilanove ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Arduino Nano ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Arduino Uno ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Arduino Leonardo ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Arduino Micro ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Arduino Mega ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Arduino Zero ✔️ ✔️
Arduino Due ✔️
ATMega1284P ✔️ ✔️
ATtiny84/84A ✔️ ✔️
ATtiny85 ✔️ ✔️
ESP8266 ✔️ ✔️ ✔️ ✔️ ✔️
ESP32 ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
STM32F103 ✔️ ✔️ ✔️
Nucleo L053R8 ✔️
Nucleo F401RE ✔️
Teensy 3.1 ✔️ ✔️
Raspberry Pi ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Zephyr ️✔️ ✔️
Windows X86 ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Linux ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Mac ✔️ ✔️ ✔️
Android ✔️

✔️ compatible - ❌ not compatible

Blink test

For a simple test you can use a couple of Arduino boards, connect together their ground and pin 12.

 Arduino UNO        Arduino UNO
  _________   wire   _________
 | ||   |_||___     |         |
 ||       ||   |    ||       ||
 ||       ||   |    ||       ||
 ||       ||   |____||       ||
 |_________|        |_|_|__||_|
                      

Flash on both arduinos the programs present in the BlinkTest directory. You should see the receiver device blinking every second.

If you want to know more and support the PJON project see the PJON protocol handbook and the PJON 12.0 big box.