• Stars
    star
    156
  • Rank 232,846 (Top 5 %)
  • Language
    C++
  • License
    MIT License
  • Created about 3 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

This project design to mine Duino-Coin using an Esp8266 as a master and Arduino as a slave.

DuinoCoinI2C

This project design to mine Duino-Coin using an Esp8266/Esp32 as a master and Arduino as a slave.

Using the I2C communication to connect all the boards and make a scalable communication between the master and the slaves.

Version

DuinoCoinI2C -> DuinoCoin Version 3.0

Arduino - Slave

All Slaves have the same code and should select the I2C Address automatically.

Library Dependency

Automatic I2C Address

The I2C Address on the Arduino is automatically updated when the board starts, if an Address already exists on the I2C bus the code finds another Address to use.

Tiny - Slave

Tiny Slaves have the same code and the I2C Address is selected by the EEPROM.

Library Dependency

Defines

The code has some defines to make the code smaller and disable some features.

Serial

This enable the Serial Monitor.

#define SERIAL_LOGGER Serial

LED

This enable the led output and makes de led flash when the slave is working.

#define LED LED_BUILTIN

Serial set I2C Address

If the Serial is enable on your mcu, you could send the I2C Address using the Serial Monitor.

ATtiny85 - ATTinyCore

You could use this code to generate a ATtiny85 slave using the http://drazzy.com/package_drazzy.com_index.json boards on the Arduino IDE.

Check the ATTinyCore project for more information.

I2C pinOut

pinOut ATtiny85
SCL PB2
SDA PB0

I2C Address

I2C Address is selected by the EEPROM_ADDRESS (default 0) and the first upload the Address is set by the define.

#define ADDRESS_I2C 1

Esp8266/Esp32 - Master

The master requests the job on the DuinoCoin server and sends the work to the slave (Arduino).

After the job is done, the slave sends back the response to the master (Esp8266/Esp32) and then sends back to the DuinoCoin server.

Library Dependency

Max Client/Slave

The code supports 10 clients and can be changed on the define:

#define CLIENTS 10

Connection Pinouts

Connect the pins of the Esp8266 or Esp32 on the Arduino like the table/images below, use a Logic Level Converter to connect between the ESP and Arduino.

ESP8266 ESP32 Logic Level Converter Arduino
3.3V 3.3V <---> 5V
GND GND <---> GND
SCL D1 (GPIO5) GPIO22 <---> A5
SDA D2 (GPIO4) GPIO21 <---> A4

DuinoCoinI2C

Custom PCB

ericddm shared this amazing pcb!

DuinoCoinI2C


Do you like this project? Please star this project on GitHub!

More Repositories

1

ArduinoUniqueID

Arduino Library to gets the Manufacture Serial Number from the Atmel AVR, SAM, SAMD, STM32, and ESP Microcontroller.
C++
195
star
2

LoRaNow

LoRaNow Library is a simple LoRa Node <> Gateway communication protocol.
C++
57
star
3

esp32-ttnmapper-gps

Code to make experiment on TTN Mapper with GPS and TTGO
C++
48
star
4

Radioenge-Module

RadioEnge Module Reverse Engineering
12
star
5

RevitLookup.Installation

Simple executable for the RevitLookup plugin.
Inno Setup
11
star
6

arduino-DuinoCoin

Duino-Coin is a coin that can be mined with Arduino and ESP boards.
C
10
star
7

SimpleLMIC

SimpleLMIC uses the MCCI LoRaWAN LMIC library behind the scene and makes Arduino-friendly
C++
9
star
8

LoRaWanPacket

LoRaWanPacket Encode / Decoder
C++
9
star
9

LoRaNow-18-months

LoRaNow Board 18 Months sending data to TTN
C++
8
star
10

CayenneLPPDecode

Arduino Library to decode CayenneLPP package to a Json format.
C++
8
star
11

RevitAddInManagerCollection

AddInManager version 2015, 2016, 2017, 2018, 2019, 2020, 2021 and 2022, executable with Inno Setup Compiler.
Inno Setup
8
star
12

LoRaNow-board

LoRaNow Boards is a project with open source hardware using the Arduino (atmega328p) and LoRa Module (RFM95).
7
star
13

esp32-google-sheet

esp32-google-sheet
C++
6
star
14

esp32-lora-serial

Simple serial->lora and lora<-serial
C++
5
star
15

RevitAPI

Cรณdigos em C# para Revit API
4
star
16

arduino-PIMA

Unidirectional Asynchronous Serial Output (PIMA)
C++
3
star
17

lg01-upgrade

Dragino LG01 gateway upgrade to 8 channels
3
star
18

StreamJoin

StreamJoin is used to join two Stream in one.
C++
3
star
19

RevitAddin_ProgressBar

RevitAddin ProgressBar Sample
C#
2
star
20

RevitAddin.JsonExample

Use JavaScriptSerializer and RevitApi objects to Serialize and Deserialize.
C#
2
star
21

dotbim.three.js

JavaScript
2
star
22

LoRaNow-gateway

LoRaNow gateway
HTML
2
star
23

Revit.References

References to Revit 2017 to 2022 assemblies.
2
star
24

polypanels

My polypanels design
1
star
25

RevitAddin.CodeCompileTest

RevitAddin Example with the CodeCompileUnit to compile IExternalCommand on the running Revit.
C#
1
star
26

ESP8266httpUpdateTest

This is a simple project to test the ESP8266httpUpdate library with Github as a server.
C++
1
star
27

battery_monitor

Battery Monitor to Arduino 3.3V and ESP8266
1
star
28

esp32-ttgo-gsm-google

C++
1
star
29

esp32-mqtt-input

esp32 webserver/mqtt input reader
C++
1
star
30

RevitEasyConduit

EasyConduit version 2017, 2018, 2019 and 2020, executable with Inno Setup Compiler.
Inno Setup
1
star
31

LoRaWan_Energy_Meter

C++
1
star
32

RAK4260

RAK4260 Fusion 360 and Eagle Library
1
star
33

RevitAddin.ElementOverrideExample

Simple OverrideGraphicSettings to Color Elements using Revit Api
C#
1
star