Skip to content

Commit 9af7e25

Browse files
authored
Update README.md
1 parent 23e161a commit 9af7e25

File tree

1 file changed

+46
-3
lines changed

1 file changed

+46
-3
lines changed

README.md

Lines changed: 46 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Timonel is an I2C bootloader for ATtiny85/45/25 microcontrollers. It is designed
55

66
Some cases:
77

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.
99
* Multisensor IoT setups, where each Tiny85 is a node that handles one or more sensors.
1010
* etc ...
1111

@@ -20,13 +20,56 @@ That is why this project began ...
2020
## Usage:
2121

2222
* [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.
2525
* Connect both chips by **I2C** (SDA, SCL and ground).
2626
* Open an asynchronous terminal (e.g. [MobaXterm](http://mobaxterm.mobatek.net)) connected to the serial port of the I2C master (115200 N 8 1).
2727
* Run the "timonel-twim-ss" commands shown on screen for erasing and flashing new firmware on the Tiny85.
2828
* It is also possible to update the bootloader itself by using "[timonel-updater](/timonel-updater)" (based on the micronucleus upgrade program).
2929

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.
49+
│ ├── ...
50+
│ └─ make-payload.sh : Hexparser firmware conversion script.
51+
52+
├── timonel-updater : Utility to convert a Timonel binary into a bootloader ".h" update payload for am I2C master.
53+
│ ├── tmlupd-flashable : Put here Timonel bootloader ".hex" binary files.
54+
│ ├── tmlupd-flashable : Here are saved the ".h" Timonel payloads for updating the bootloader.
55+
│ ├── ...
56+
│ └─ make-updater.sh : Timonel bootloader updater conversion script.
57+
~~~
58+
59+
## Dependence on other repositories:
60+
61+
#### Libraries
62+
63+
* **[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+
3073
## Contributing:
3174

3275
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

Comments
 (0)