Skip to content
Giovanni Blu Mitolo edited this page Aug 31, 2019 · 306 revisions

PJON wiki

What is PJON?

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
AS AnalogSampling Light pulses over air or optic fiber PJDLS
OS OverSampling Electrical/radio impulses over wire/air PJDLR
SB SoftwareBitBang Electrical impulses over conductive element PJDL
TS ThroughSerial Electrical/radio impulses over wire/air TSDL
TS ThroughSerialAsync Electrical/radio impulses over wire/air TSDL
ET EthernetTCP Electrical/radio impulses over wire/air TCP
LU LocalUDP Electrical/radio impulses over wire/air UDP
GU GlobalUDP Electrical/radio impulses over wire/air UDP
DU DualUDP Electrical/radio impulses over wire/air UDP
TL ThroughLoRa Radio impulses over air LoRa
EN ESPNOW Radio impulses over air ESPNOW
LF LocalFile Shared file system in memory None
Any Virtual inheritance, any of the above Any of the above

Compatibility

Device AS OS SB TS ET LU GU DU TL
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 ✔️ ✔️ ✔️ ✔️ ✔️
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.