summaryrefslogtreecommitdiff
path: root/source/microcontrollers
diff options
context:
space:
mode:
Diffstat (limited to 'source/microcontrollers')
-rw-r--r--source/microcontrollers/index.rst10
-rw-r--r--source/microcontrollers/maple_mini/index.rst103
-rw-r--r--source/microcontrollers/olimex-esp32-pro/index.rst24
3 files changed, 137 insertions, 0 deletions
diff --git a/source/microcontrollers/index.rst b/source/microcontrollers/index.rst
new file mode 100644
index 0000000..a44719c
--- /dev/null
+++ b/source/microcontrollers/index.rst
@@ -0,0 +1,10 @@
+##################
+ Microcontrollers
+##################
+
+.. toctree::
+ :maxdepth: 2
+ :caption: Contents:
+
+ maple_mini/index
+ olimex-esp32-pro/index
diff --git a/source/microcontrollers/maple_mini/index.rst b/source/microcontrollers/maple_mini/index.rst
new file mode 100644
index 0000000..bf8a9b2
--- /dev/null
+++ b/source/microcontrollers/maple_mini/index.rst
@@ -0,0 +1,103 @@
+************
+ Maple Mini
+************
+
+Programming with OpenOCD
+========================
+
+The Maple Mini can be programmed using OpenOCD_ and a suitable
+programmer.
+
+.. _OpenOCD: https://openocd.sourceforge.io/
+
+To program a Maple Mini the following PINs should be connected:
+
+==== ===
+Prog MM
+==== ===
+GND GND
+3V3 Vcc
+MOSI D22
+CLK D21
+==== ===
+
+If the maple mini still has the original firmware it may be necessary to
+press and hold the button (at least 1 s) while resetting the board, to
+enter DMU mode.
+
+Create the file ``openocd.cfg`` according to the programmer you are
+using, and then run::
+
+ openocd -f openocd.cfg
+ telnet localhost 4444
+
+To then write ``<binary>.elf`` to the Maple Mini use the following
+commands::
+
+ reset halt
+ stm32f1x unlock 0
+ reset halt
+ flash write_image erase <binary>.elf
+ stm32f1x lock 0
+ reset halt
+
+With an ST-Link V2 Clone from Baite
+-----------------------------------
+
+The required PINs on the ST-Link V2 Clone from Baite are as follows,
+with the notch on the left::
+
+ +------+
+ | 1 2 | 3V3
+ 5V | 3 4 | CLK (MM 21)
+ 5 6 | MOSI (MM 22)
+ GND | 7 8 |
+ | 9 10 |
+ +------+
+
+``openocd.cfg`` should have the following contents::
+
+ source [find interface/stlink.cfg]
+
+ source [find target/stm32f1x.cfg]
+
+
+With a Bus Pirate v3.6
+----------------------
+
+``openocd.cfg`` should have the following contents::
+
+ source [find interface/buspirate.cfg]
+
+ buspirate_port /dev/ttyUSB0
+ buspirate_vreg 1
+ buspirate_mode normal
+ transport select swd
+
+ source [find target/stm32f1x.cfg]
+
+Programmin with gnuk/tool/stlinkv2.py
+=====================================
+
+gnuk also provides a tool to write binaries; first the board should be
+unlocked with::
+
+ ./stlinkv2.py -u
+
+then reset (while pressing the button), and the flash erased::
+
+ ./stlinkv2.py -e
+
+and finally it can be written with::
+
+ ./stlinkv2.py <binary>.elf
+
+See also
+========
+
+* https://web.archive.org/web/20150502182337/http://nodonogard.blogspot.com/2014/08/writting-gnuk-binary-to-fst-01-using-st.html
+* https://www.earth.li/~noodles/blog/2017/02/gnuk-on-maple-mini.html
+* https://www.earth.li/~noodles/blog/2015/08/program-fst01-with-buspirate.html
+
+..
+ vim: set filetype=rst:
diff --git a/source/microcontrollers/olimex-esp32-pro/index.rst b/source/microcontrollers/olimex-esp32-pro/index.rst
new file mode 100644
index 0000000..c6ac7a0
--- /dev/null
+++ b/source/microcontrollers/olimex-esp32-pro/index.rst
@@ -0,0 +1,24 @@
+******************
+ Olimex ESP32-PRO
+******************
+
+As of September 2023 there was a bug in the Espressif esp32 package for
+Arduino that meant that it wasn't working with the Olimex ESP32-PRO
+board, the workaround was to use Version 2.0.9 of the package.
+
+These are the settings used:
+
+:Board: OLIMEX ESP32-EVB
+:Upload Speed: 115200
+:Flash Frequency: 80MHz
+:Partition Scheme: Default
+:Core Debug Level: None
+:Erase All Flash Before Sketch Upload: Disabled
+
+See also
+--------
+
+* `<https://www.olimex.com/forum/index.php?topic=9242.0>`_
+
+..
+ vim: set filetype=rst: