Author Topic: NoCAN: the wired Arduino-compatible IoT platform for makers.  (Read 4766 times)

0 Members and 1 Guest are viewing this topic.

Offline L1L1Topic starter

  • Regular Contributor
  • *
  • Posts: 52
  • Country: gr
Hi all,

I'm a fond reader of these forums and I'd like to share with you an open-source/open-hardware project I've built over the past couple of years: "NoCAN, the wired Arduino-compatible IoT platform for makers".

The NoCAN platform enables you to connect a set of Arduino-compatible 'nodes' to a Raspberry-Pi, using a single cable that brings both power and networking. The Raspberry Pi controls the network and acts as a gateway to the outside world. The nodes enable you to connect sensors, lights, relays, and actuators to build complex IoT application easily. You can write your code in the Arduino IDE and push it over the network to any node. The network can easily reach 300 meters (1000 feet) in total length.

In terms of hardware, we currently have one "official" node (some users have built their own custom alternative): the CANZERO.
The CANZERO is a small development board in the Arduino MKR format, which features an ARM Cortex M0+ (the Atmel SAMD21G18). In short, it is very much like the Arduino MKR Zero, with the addition of CAN-bus networking, which is itself supported by an STM32F0. The "dual" MCU approach was created for additional robustness for remote software updates: the STM32F0 can "reset" the SAMD21G18 in bootloader mode even if the later is somehow "stuck".

The raspberry-pi needs to be fitted with a HAT: the PiMaster. The PiMaster just acts as a CAN-bus to SPI gateway for the Raspberry Pi and contains some safety features such as current limiting and short circuit protection. The HAT is built around an STM32F0.



NoCAN is based on CAN-bus, but with the software tools provided, you can interface with many other platforms:
- MQTT: you can send and receive data from any MQTT broker, including external cloud services such as adafruit.io or Cayenne.
- Blynk: you can control your network with your smartphone (blynk.cc).
- Web: you can control your network with a web interface.
- CLI: There is a command line utility to allow scripting (e.g. for bash scripts).
We also have a JSON RESTful interface, but it needs further documentation and we are planning to add C/C++ and Python language bindings pretty soon.

You can learn more about this project here:
https://www.omzlo.com/articles/the-nocan-platform

I'd like to take this opportunity to answer in advance 3 questions I get all the time.  ;D ;D ;D
 
Quote
1) Why aren't you using WiFi, Bluetooth BLE, Lora, Zigbee, etc.  :palm:

Yes, there are wireless gizmos that run a year on a coin cell. Yes, an ESP8266 is amazingly cheap. Wireless is great. Nevertheless, it is not always the right solution for an IoT project, because of battery, signal or reliability issues. Many of our users are building applications that do not fit in the "wireless" paradigm.

2) Why "Arduino-compatible"? I'm a "real" engineer, Arduino-stuff is for kids!  ;)

I think Arduino is a wonderful thing, but we don't have to agree ;-)
NoCAN works fine without Arduino. You can use our libraries and tools to program your nodes "baremetal" if you prefer. We do it all then time.

3) Why is it called "NoCAN" if it uses CAN-bus?

It was a bit of humor, parodying what NoSQL is to SQL. Sorry.  :palm: But in fact, with features such as automatic address allocation and publish/subscribe, we believe that NoCAN takes CAN-bus where it has never been! So perhaps the name is appropriate :-)

Today, NoCAN is being used in all kinds of applications, including environmental monitoring, security systems and cloud apps (with Amazon Greengrass).
There is still plenty of things to do and plenty of work ahead, and we really appreciate the feedback we get from the community.

Cheers,

Alain -- Omzlo.com
 
The following users thanked this post: julianhigginson

Offline lty1993

  • Supporter
  • ****
  • Posts: 37
  • Country: us
    • LTY's Space
Re: NoCAN: the wired Arduino-compatible IoT platform for makers.
« Reply #1 on: May 10, 2019, 09:00:09 am »
I did a similar project a few years back for industrial motor control system. I combined two CANBUS signal and -53.5V power (Standard voltage for communication system) into a standard CAT5E ethernet cable with RJ45 connector. The impedance of CAT5E is a little bit off but it is cheap enough and easy to find.

It is nice to see an open source IoT project based on CANBUS since everybody built their IoT project based on the WiFi / BLE / Zigbee / etc these days, which can be knocked down easily by a broadband noise source and an amplifier.
 

Offline L1L1Topic starter

  • Regular Contributor
  • *
  • Posts: 52
  • Country: gr
Re: NoCAN: the wired Arduino-compatible IoT platform for makers.
« Reply #2 on: May 12, 2019, 07:56:31 pm »
Quote
I did a similar project a few years back for industrial motor control system. I combined two CANBUS signal and -53.5V power (Standard voltage for communication system) into a standard CAT5E ethernet cable with RJ45 connector. The impedance of CAT5E is a little bit off but it is cheap enough and easy to find.

Interesting. I had never heard of a -53.5V standard. But why that odd voltage???
 

Offline LapTop006

  • Supporter
  • ****
  • Posts: 467
  • Country: au
Re: NoCAN: the wired Arduino-compatible IoT platform for makers.
« Reply #3 on: May 13, 2019, 08:29:30 am »
Quote
I did a similar project a few years back for industrial motor control system. I combined two CANBUS signal and -53.5V power (Standard voltage for communication system) into a standard CAT5E ethernet cable with RJ45 connector. The impedance of CAT5E is a little bit off but it is cheap enough and easy to find.

Interesting. I had never heard of a -53.5V standard. But why that odd voltage???

The standard I'm aware of is 48v (nominal), which for reasons that don't actually matter unless you're a telco running copper phone lines, often has the positive tied to ground (making it -48). Then you add float voltage of lead-acid cells and get 52-53 volts. I've not seen people call it anything other than 48v unless they're referring to a specific measured voltage.
 
The following users thanked this post: newbrain

Offline EEVblog

  • Administrator
  • *****
  • Posts: 37740
  • Country: au
    • EEVblog
Re: NoCAN: the wired Arduino-compatible IoT platform for makers.
« Reply #4 on: May 13, 2019, 10:37:25 am »
So the NoCAN contains no CAN bus?
As advertised I guess, but confusing.
 

Offline L1L1Topic starter

  • Regular Contributor
  • *
  • Posts: 52
  • Country: gr
Re: NoCAN: the wired Arduino-compatible IoT platform for makers.
« Reply #5 on: May 13, 2019, 10:22:58 pm »
So the NoCAN contains no CAN bus?
As advertised I guess, but confusing.

No... wait... NoCAN is totally based on CAN bus, as in ISO-11898 !!!  ;D

But we built an additional layer on top of CAN bus that does stuff that you typically do not find in CAN-bus networking, such as:
- automated address allocation of nodes (you can even hot-plug nodes).
- publish/subscribe messaging (similar to MQTT).
I called it "NoCAN" initially as an internal joke, but the name stuck. I'll take 100% of the blame :-[
 
 

Offline L1L1Topic starter

  • Regular Contributor
  • *
  • Posts: 52
  • Country: gr
Re: NoCAN: the wired Arduino-compatible IoT platform for makers.
« Reply #6 on: May 27, 2019, 11:09:38 am »
Looks like this thread was moved from the "Open Source Hardware" forum to to the "Embedded Computing" one.  :-//

I just wanted to confirm that NoCAN is fully open-source hardware, with all design files, firmware and supporting tools available under an open-source license.
- Source code is provided under the classic MIT license.
- Design files are provided under the Creative Commons Attribution-ShareAlike 4.0 International Public License.

Alain
 
The following users thanked this post: julianhigginson

Online voltsandjolts

  • Supporter
  • ****
  • Posts: 2300
  • Country: gb
Re: NoCAN: the wired Arduino-compatible IoT platform for makers.
« Reply #7 on: May 27, 2019, 11:20:42 am »
NoCAN?
Thats a bad name for a CAN based system.
 
The following users thanked this post: sokoloff

Offline L1L1Topic starter

  • Regular Contributor
  • *
  • Posts: 52
  • Country: gr
Re: NoCAN: the wired Arduino-compatible IoT platform for makers.
« Reply #8 on: May 27, 2019, 02:55:00 pm »
NoCAN?
Thats a bad name for a CAN based system.

 

Offline julianhigginson

  • Frequent Contributor
  • **
  • Posts: 783
  • Country: au
Re: NoCAN: the wired Arduino-compatible IoT platform for makers.
« Reply #9 on: July 01, 2019, 04:55:16 am »
Looks cool. well done L1L1.
 
The following users thanked this post: L1L1

Offline L1L1Topic starter

  • Regular Contributor
  • *
  • Posts: 52
  • Country: gr
 
The following users thanked this post: julianhigginson

Online SiliconWizard

  • Super Contributor
  • ***
  • Posts: 14478
  • Country: fr
Re: NoCAN: the wired Arduino-compatible IoT platform for makers.
« Reply #11 on: July 16, 2019, 05:46:45 pm »
Cool idea.

I also find the "NoCAN" name a bit confusing and unfortunate, but to each his own.

Maybe it's a form of art though. It kinda reminded me of Magritte's "This is not a pipe" painting.
https://en.wikipedia.org/wiki/The_Treachery_of_Images

Arduino surrealism. ;D

« Last Edit: July 16, 2019, 05:48:46 pm by SiliconWizard »
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf