Skip to content

Commit 321b737

Browse files
authored
Add Bit-C bootloader flashing guide (nullbitsco#31)
1 parent c6184e6 commit 321b737

File tree

1 file changed

+45
-8
lines changed

1 file changed

+45
-8
lines changed

bit-c/user_guide_en.md

+45-8
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,57 @@
1-
# BIT-C
1+
# BIT-C
22

33
## Pro Micro Compatible MCU with USB-C
4+
45
![](https://github.com/nullbitsco/docs/raw/main/bit-c/user_guide_img/image000.jpg)
6+
57
## User Guide
68

79
# Contents
10+
811
[Helpful Links](#helpful_links)
9-
[Burning the Caterina (Arduino) bootloader](#burning_bootloader)
10-
[Building for a Bit-C without flashing a new bootloader](#toolbox_flashing)
12+
[Burning the Caterina (Arduino) Bootloader](#burning_bootloader)
13+
[Building for a Bit-C without flashing a new bootloader](#toolbox_flashing)
1114

1215
# <a name="helpful_links"></a> Helpful links
13-
* [QMK Toolbox](https://github.com/qmk/qmk_toolbox)
14-
* [Bit-C Pinout](https://nullbits.co/static/img/bit-c-legend.png)
1516

16-
## [TODO] <a name="burning_bootloader"></a> Burning the Caterina (Arduino) bootloader
17-
https://learn.sparkfun.com/tutorials/installing-an-arduino-bootloader
17+
- [QMK Toolbox](https://github.com/qmk/qmk_toolbox)
18+
- [Bit-C Pinout](https://nullbits.co/static/img/bit-c-legend.png)
19+
20+
## <a name="burning_bootloader"></a> Burning the Caterina (Arduino) bootloader
21+
22+
The Arduino IDE does not support programming the ATmega32U4 via the DFU bootloader, which is the default bootloader on the Bit-C. Fear not, though! Flashing the Caterina bootloader allows the Bit-C to be programmed directly from the Arduino IDE. This process is relatively straightforward and can be done directly from the Arduino IDE.
23+
24+
_Note: this can also be done over the command line, e.g. for Linux users, or using a Raspberry Pi instead of an Arduino, but those are more advanced and won't be covered here directly. [Hit up](https://bfy.tw/S9XQ) [the Googles](https://bfy.tw/S9XS) or pop into our [Discord server](https://discord.gg/eSegJcY) and ask if you're wondering about these or have a different setup._
25+
26+
### You'll need:
27+
28+
- A USB Arduino (Pro Micro, Uno, etc)
29+
- The Arduino IDE, with the Sparkfun AVR board definitions installed
30+
31+
### Steps:
32+
33+
1. Configure the Arduino as an ISP
34+
35+
An Arduino can be used an an “ISP programmer”. It’s a clever way of reusing an arduino instead of needing to buy or get ahold of a dedicated programmer.
36+
37+
Sparkfun has a great tutorial on this. It’s a bit wordy, so don’t feel like you need to read the whole thing. The most important part is the one titled [“Option 2: Using the Arduino as a Programmer”](https://learn.sparkfun.com/tutorials/installing-an-arduino-bootloader).
38+
39+
1. Hook the Arduino up to the Bit-C
40+
41+
The programming pins on the Bit-C are the same as a normal pro micro. Use [this link](https://www.coreforge.com/blog/2014/09/recovering-arduino-pro-micro-atmega32u4/) for reference.
42+
43+
1. Burn the bootloader
44+
45+
Make sure to select the Sparkfun Pro Micro with ATmega32U4 (5V, 16MHz). Then, use Arduino IDE to [burn the bootloader](https://learn.sparkfun.com/tutorials/installing-an-arduino-bootloader#uploading-code---easy-way).
46+
47+
## <a name="toolbox_flashing"></a> Building for a Bit-C without flashing a new bootloader
48+
49+
It's also possible to build an Arduino sketch and then flash with QMK toolbox. The benefit of this is that the Bit-C doesn't need to be flashed with a new bootloader. Beware, though: complex code might not work as expected when using this method.
50+
51+
The below example shows how to compile a sketch within Arduino, and then flash using QMK Toolbox. It will blink the Bit-C LED at all 3 brightness levels @ 1Hz. The benefit of this is that you don't need to burn the Caterina bootloader.
52+
53+
Compile this with Arduino IDE for a 5V (16MHz) Pro Micro, and then export by choosing 'Sketch --> Export compiled Binary'
54+
55+
Point QMK toolbox to 'test.ino.promicro.hex' (the one WITHOUT the bootloader), reset the Bit-C into the DFU/bootloader mode, and flash.
1856

19-
## [TODO] <a name="toolbox_flashing"></a> Building for a Bit-C without flashing a new bootloader
2057
https://gist.github.com/jaygreco/d82c83a441d5953b4c98d5e1aaebc104

0 commit comments

Comments
 (0)