You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+46-3Lines changed: 46 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@ Timonel is an I2C bootloader for ATtiny85/45/25 microcontrollers. It is designed
5
5
6
6
Some cases:
7
7
8
-
* A small robot controlled by an ESP32 where each limb specific functions are delegated to several Tiny85 through an I2C bus.
8
+
* A small robot controlled by an ESP8266 where each limb specific functions are delegated to several Tiny85 through an I2C bus.
9
9
* Multisensor IoT setups, where each Tiny85 is a node that handles one or more sensors.
10
10
* etc ...
11
11
@@ -20,13 +20,56 @@ That is why this project began ...
20
20
## Usage:
21
21
22
22
*[Install](/timonel-bootloader/README.md#Installation) "timonel.hex" on a Tiny85 (bare chips or Digisparks).
23
-
* Build your application program as usual, then use "[tml-hexparser](/timonel-hexparser)" to convert the ".hex" file into a byte array to be included in "[timonel-twim-ss.bin](/timonel-twim-ss)" or "[timonel-twim-ms.bin](/timonel-twim-ms)".
24
-
* Use [VS Code](http://code.visualstudio.com) + [PlatformIO](http://platformio.org) to compile and install "[timonel-twim-ss.bin](/timonel-twim-ss)" or "[timonel-twim-ms.bin](/timonel-twim-ms)" (containing the payload) in an arduino-compatible MCU. It has been tested with ESP8266 ESP01 and NodeMCU. **Note:** The supplied ".bin" file contains a small payload demo that blinks PB1 on the Tiny85.
23
+
* Build your application program as usual, then use "[tml-hexparser](/timonel-hexparser)" to convert the ".hex" file into a byte array "payload.h" to be included in the "data/payloads" folder of "[timonel-mss-esp8266](https://github.com/casanovg/timonel-mss-esp8266)" or "[timonel-mms-esp8266](https://github.com/casanovg/timonel-mms-esp8266)".
24
+
* Use [VS Code](http://code.visualstudio.com) + [PlatformIO](http://platformio.org) to compile and install "[timonel-mss-esp8266](https://github.com/casanovg/timonel-mss-esp8266)" or "[timonel-mms-esp8266](https://github.com/casanovg/timonel-mms-esp8266)" (containing the payload) in an arduino-compatible MCU. It has been tested with ESP8266 ESP01 and NodeMCU. **Note:** The supplied ".bin" file contains a small payload demo that blinks PB1 on the Tiny85.
25
25
* Connect both chips by **I2C** (SDA, SCL and ground).
26
26
* Open an asynchronous terminal (e.g. [MobaXterm](http://mobaxterm.mobatek.net)) connected to the serial port of the I2C master (115200 N 8 1).
27
27
* Run the "timonel-twim-ss" commands shown on screen for erasing and flashing new firmware on the Tiny85.
28
28
* It is also possible to update the bootloader itself by using "[timonel-updater](/timonel-updater)" (based on the micronucleus upgrade program).
29
29
30
+
## Repository organization:
31
+
~~~
32
+
timonel
33
+
│
34
+
├── timonel-bootloader : Bootloader main folder. It gets built with "avr-gcc" and "make", using the provided scripts.
35
+
│ ├── configs : Several setups to balance features with memory usage. To be called from the "make-timonel.sh" script.
36
+
│ ├── releases : Binary files folder, this is where the compiler output is saved.
37
+
│ ├── ...
38
+
│ ├─ make-timonel.sh : Bootloader build script. Use "./make-timonel.sh --help" for usage options and parameters.
39
+
│ └─ flash-timonel-bootloader.sh : Flashing script. It takes a given binary from "releases" and flashes it with "avrdude".
40
+
│
41
+
├── timonel-bootloader-io : Bootloader implemented as a PlatformIO experimental project.
42
+
│ ├── configs : Several setups to balance features with memory usage. Selected from "platformio.ini".
43
+
│ ├── ...
44
+
│ └─ platformio.ini : This file controls all the settings and building parameters.
45
+
│
46
+
├── timonel-hexparser : Utility to convert a ".hex" binary file into a ".h" payload to be included in I2C master apps.
47
+
│ ├── appl-flashable : Put here application firmware ".hex" files.
48
+
│ ├── appl-payload : Here are saved the apps, converted to ".h" files by the hexparser.
***[Nb_Micro](https://github.com/casanovg/Nb_Micro)**: Arduino library to control devices that implement the NB command set over an I2C bus.
64
+
***[Nb_TimonelTwiM](https://github.com/casanovg/Nb_TimonelTwiM)**: Arduino library for uploading firmware to a microcontroller running the Timonel bootloader. It uses the NbMicro library to access the I2C bus.
65
+
***[Nb_TwiBus](https://github.com/casanovg/Nb_TwiBus)**: Arduino library to scan the I2C bus in search of connected devices addresses and data. It uses the TimonelTwiM library bootloader object definition.
66
+
***[nb-twi-cmd](https://github.com/casanovg/nb-twi-cmd)**: NB TWI (I2C) command set.
67
+
68
+
#### Demo I2C master test applications
69
+
70
+
***[timonel-mss-esp8266](https://github.com/casanovg/timonel-mss-esp8266)**: Timonel I2C master **single slave**. Serial console-based application that allows sending commands to a device that runs the bootloader from an ESP8266.
71
+
***[timonel-mms-esp8266](https://github.com/casanovg/timonel-mms-esp8266)**: Timonel I2C master **multi slave**. Serial console-based application that runs a loop that flashes, deletes and runs a user application on several Tiny85's running the bootloader from an ESP8266.
72
+
30
73
## Contributing:
31
74
32
75
Contributions are welcome! If you want to add a new feature, please feel free to create a pull request or open an issue :o)
0 commit comments