Skip to content

drtrigon/sketchbook

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Projekte

docu: doxygen html...

code: Build Status...

PCB: design rule check status... PCB Build Status... https://github.com/drtrigon/eagle

Helvetiny_Blink_CDC

code:

Drone_MultiWii - FlightController

(produced at JLCPCB - 2 pieces on stock)

code: Build Status...

PCB:

...

...

...

...

https://github.com/drtrigon/eagle/tree/result/pcb/projects/Drone_MultiWii logs:

...

CAD:

production:

further info:

changelog pcb (eagle)

todo 1.0 -> 1.1

  • more info to silk screen; GND, 5V, PIN NUMBERS (at least first/last in row),
  • name/value the connectors (insead of manually putting text on silk screen) - improve schematic also
  • use milling??
  • ...

main changes 1.0 -> 1.1

  • silk screen; plugin board shapes
  • copper top plane; inverted font for info field
  • geometry; size and position of screw holes
  • geometry; milled hole to reduce weight

Tiny_OWSlave_OWH_DS18B20_thermo-hygrometer

code:

Uno_EditFC28_USB

...

Uno_OWSlave/OWH_DS18B20_asInterface_SensorStation

...

Uno_OWSlave/OWH_DS2433_EEPROM_LCD_Sensors (OLED)

...

OWPJON

Has the potential to replace commercial 1-wire bus (by its SoftwareBitBang strategy).

https://github.com/drtrigon/sketchbook/blob/master/OWPJON/README.md

Current bus topography for 2 isolated SoftwareBitBang bus parts (A & C):

-------   LUDP    -------  SWBB(A)  -------    TL     -------  SWBB(C)
|ID 46| ========= |Sw A | --------- |Sw B | ......... |Sw C | ------------------
-------     I     -------     I     -------     I     -------     I        I
            I                 I                 I                 I        I
         -------           -------           -------           -------  -------
         |ID 45|           |ID 44|           |ID 43|           |ID 42|  |ID 41|  ... ID 40
         -------           -------           -------           -------  -------

=== multiple wires (e.g. ethernet)
--- single wire
... "free space" (air, walls, etc.)

* productive system includes switch (Sw) A and ID 46 & 44 (ID 46 is raspi server)
* test system includes switch (Sw) B & C (same software) and ID 45 & 42..43 (ID 45 is desktop system)
* all switches (Sw) and device ID 42..44 are atmega328 (Uno or Nano)
* everything connected to TL part is (electrically) isolated
* switch (Sw) C and everything behind it (ID 42, etc.) is solar powered
* LoRa datarate 1.3671875 kB/s (SF=7, CR=1 (4/5), BW=250) and output power 10 dBm (10 mW)
  for all devices (Sw B & C and ID 43) - lower should be possible - for special cases
  (e.g. outdoors) higher might be needed

* Sw A (indoor): OWPJON/ARDUINO/Local/SoftwareBitBang/Tunneler/BlinkingSwitch/BlinkingSwitch.ino
* Sw B (Dragino, lan upload, indoor) & C (outdoor): OWPJON/ARDUINO/Local/SoftwareBitBang/Tunneler/BlinkingSwitch_SWBB-TL/BlinkingSwitch_SWBB-TL.ino
* ( ID 99: one of the switches mentioned is configured semi-transparent for test, see OWPJON/ARDUINO/Local/SoftwareBitBang/Tunneler/BlinkingSwitch_SWBB-TL_semitransparent/BlinkingSwitch_SWBB-TL_semitransparent.ino )
* ID 46: OWPJON/LINUX/Local/LocalUDP/RemoteWorker/DeviceGeneric/DeviceGeneric.cpp (make raspi)
* ID 45: OWPJON/LINUX/Local/LocalUDP/RemoteWorker/DeviceGeneric/DeviceGeneric.cpp (make)
* ID 44 (Nano, test): OWPJON/ARDUINO/Local/SoftwareBitBang/DeviceGeneric/DeviceGeneric.ino
* ID 43: OWPJON/ARDUINO/Local/ThroughLoRa/OWP_DG_GPS_WeatherStation/OWP_DG_GPS_WeatherStation.ino
* ID 42 (minimal, 1wire adaptor): OWPJON/ARDUINO/Local/SoftwareBitBang/OWP_DG_1w-adaptor/OWP_DG_1w-adaptor.ino
* ID 41 (minimal, tiny replace, box): OWPJON/ATTINY/Local/SoftwareBitBang/OWP_DG_Si7021_thermo-hygrometer/OWP_DG_Si7021_thermo-hygrometer.ino
* ID 40 (Nano, outdoors, not used yet): OWPJON/ARDUINO/Local/SoftwareBitBang/OWP_DG_SensorStation/OWP_DG_SensorStation.ino

Bus topography for local (desktop) developpment and device testing:

-------    TS     -------  SWBB(Z)
|ID 45| ========= |Sw Z | ---------
-------           -------     I
                              I
                           -------
                           |ID #?|
                           -------

* the switch (Sw) Z is an Arduino Uno (has everything needed; USBserial port and Digital Pins)
* ID 45 is desktop system (like before)
* ID #? is the device to test or develop

* Sw Z: OWPJON/ARDUINO/Local/SoftwareBitBang/Tunneler/BlinkingSwitch_SWBB-TS/BlinkingSwitch_SWBB-TS.ino
* ID 45: OWPJON/LINUX/Local/ThroughSerial/RemoteWorker/DeviceGeneric/DeviceGeneric.cpp (make)
* ID #?: any from OWPJON/ARDUINO/Local/SoftwareBitBang/ or OWPJON/ATTINY/Local/SoftwareBitBang/

Uno_Serial_LoRa_Sniffer

Sniffer for general LoRa transmissions - very helpful to diagnose OWPJON TL issues.

See also sniffer-txt.py (or sniffer-gui.py) for general network sniffer - very helpful to diagnose OWPJON LUDP issues.

(OWPJON SWBB sniffer is currently missing - device that reacts to any id - may be use PJON_NOT_ASSIGNED, PJON_BROADCAST, or else)

...

Uno_Dragino_LoRa_GPS_Shield_TTN

Send GPS and Sensor Data from Arduino via LoRa as valid LoRaWAN packet to TTN (TheThingsNetwork).

This allows to setup sensors wherever a TTN LoRa(WAN) Gateway is available: https://www.thethingsnetwork.org/community/.

The data (payload) sent can be stored for 7 days and during this time accessed by RESTful API, see the python script supplied.

Uno_Programmer

...

Uno_ppmUSBjoy

...

Uno_N64_Controller_Pak_Reader

code:

https://github.com/sanni/cartreader/issues/16

For PS1 (and PS2?) see the Windows VirtualBox VM and look there for MemcardRex and MemCARDuino - look at the schematic also. They do work out of the box, for more info see:

Uno_OWSlave/OWH_DS2433_EEPROM_LCD_Sensors

code:

instructable: https://www.instructables.com/id/Arduino-1-wire-Display-144-Chars/

Uno_OWSniffer - arduino-papilio_1-WireSniffer_Rev1

code:

PCB:

...

...

...

... ...

https://github.com/drtrigon/eagle/tree/result/pcb/projects/arduino-papilio_1-WireSniffer_Rev1 logs:

...

instructable: https://www.instructables.com/id/Arduino-1-wire-sniffer/

cli/n64dual_tiny45 - N64TinyUSB

(produced at JLCPCB; 2mm Thickness, "Gold Fingers, 45deg" - check stock)

based on:

code:

  • compile, info
  • style (I did not change or write anything - so why test?)

PCB:

...

...

... ...

https://github.com/drtrigon/eagle/tree/result/pcb/projects/N64TinyUSB logs:

...

CAD:

  • casing: shrinking hose

production:

micpy/ESP8266_SHT31_WiFi_pseudoREST

code:

tools

Setup

(might make sense to split projects off into separate repos/submodules)

I would like to use features like CI (continous integration) keep a copy/mirror on e.g. github and more.

Maintaining a copy/mirror (more precise: with 2 remotes overloaded origin) on GitHub also allows to use GitLab and GitHub together and by that all the nice featurs on GitHub. See also; https://steveperkins.com/migrating-projects-from-github-to-gitlab/

"Option 2: Overload Origin with Both Remotes (needs one single pull/push only)"; in order to clone and set this repo up use:

$ git clone file://///data/mount/gvfs/smb-share:server=.../01git/sketchbook.git
$ cd sketchbook
$ git remote set-url --add origin https://github.com/drtrigon/sketchbook.git

you can check the settings with:

$ git remote -v
origin  /data/mount/gvfs/smb-share:server=.../01git/sketchbook.git/ (fetch)
origin  /data/mount/gvfs/smb-share:server=.../01git/sketchbook.git/ (push)
origin  https://github.com/drtrigon/sketchbook.git (push)

Enable Travis CI for a Repository (for Arduino)

https://learn.adafruit.com/continuous-integration-arduino-and-you/testing-your-project

Login to Travis-CI using the GitHub account and enable Travis-CI for the given repo.

Add a .travis.yml file to your project, commit, pull/push and enjoy.

A word of caution; the travis run will at the end - if successfull - try to push the results back to this repo.

May be split off some sub-directories like MultiWii (for simpler testing), see also: https://help.github.com/articles/splitting-a-subfolder-out-into-a-new-repository/.

Consider creating a docker for testing and may be upload of the skechtes, using: https://github.com/drtrigon/docker-arduino (see also: https://github.com/tombenke/darduino and https://github.com/suculent/arduino-docker-build)

Enable EDRC.ME for a Repository (for Eagle)

See https://github.com/drtrigon/eagle

Enable CAD View (for Catia)

Create CAD (.stl) Designs online easily

See https://www.tinkercad.com/

Create PCB Designs online easily

See https://easyeda.com/

Do not use upverter or else as it does not allow to export. EasyEDA supports at least netlist export. Locally use KiCAD or eagle.

Further Info

( code coverage for arduino: https://gronlier.fr/blog/2015/01/adding-code-coverage-to-your-c-project/ )

STM32

License

The content of this project itself is licensed under the Creative Commons Attribution 3.0 license, and the underlying source code used to format and display that content is licensed under the MIT license, see the LICENSE file for license rights and limitations (MIT).

About

Mirror to my private repo.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published