User Guide
How to use the SCuM Programmer.
This page is being built as we are putting together the SCuM User Experience. That is, it’s not all implemented yet.
Overview
The SCuM-programmer
allows you to:
load firmware onto SCuM
interact with SCuM’s serial port
It consists of the following elements:
the
SCuM-programmer.py
Python script running on your computer which you interact withan nRF52840-DK board running the
scum-programmer.hex
firmware, connected to your computer using a USB cable, and connected to a SCuM board using jumper cables
Installation
By default, the nRF52840-DK operates at 3V. The SCuM board operates at 1.8V and you will destroy it if you connect it to the nRF52840-DK operating at 3V.
You need to load the scum-programmer.hex
firmware onto the nRF52840-DK before connecting the SCuM board. This firmware switch the nRF52840-DK to 1.8V.
preparing your computer
install the latest Python onto your computer (https://www.python.org/downloads/ ). Python 3.9.4 known to work.
download the latest SCuM-programmer release onto your desktop https://github.com/openwsn-berkeley/SCuM-programmer/releases/latest
make sure you can run
SCuM-programmer.py
connect the nRF52840-DK
plug in your nRF52840-DK into your computer, drive "JLINK" appears
drag-and-drop
scum-programmer.hex
onto this drivemake sure the LEDs on your nRF52840-DK go round-and-round
connect the SCuM board
install the following jumper wires
nRF52840-DK pin | McCoy pin | function |
---|---|---|
 |  |  |
 |  |  |
Using
double click on
SCuM-programmer.py
to start the program
SSSSSSSSSSSSSSS CCCCCCCCCCCCC MMMMMMMM MMMMMMMM
SS:::::::::::::::S CCC::::::::::::C M:::::::M M:::::::M
S:::::SSSSSS::::::S CC:::::::::::::::C M::::::::M M::::::::M
S:::::S SSSSSSS C:::::CCCCCCCC::::C M:::::::::M M:::::::::M
S:::::S C:::::C CCCCCCuuuuuu uuuuuu M::::::::::M M::::::::::M
S:::::S C:::::C u::::u u::::u M:::::::::::M M:::::::::::M
S::::SSSS C:::::C u::::u u::::u M:::::::M::::M M::::M:::::::M
SS::::::SSSSS C:::::C u::::u u::::u M::::::M M::::M M::::M M::::::M
SSS::::::::SS C:::::C u::::u u::::u M::::::M M::::M::::M M::::::M
SSSSSS::::S C:::::C u::::u u::::u M::::::M M:::::::M M::::::M
S:::::SC:::::C u::::u u::::u M::::::M M:::::M M::::::M
S:::::S C:::::C CCCCCCu:::::uuuu:::::u M::::::M MMMMM M::::::M
SSSSSSS S:::::S C:::::CCCCCCCC::::Cu:::::::::::::::uuM::::::M M::::::M
S::::::SSSSSS:::::S CC:::::::::::::::C u:::::::::::::::uM::::::M M::::::M
S:::::::::::::::SS CCC::::::::::::C uu::::::::uu:::uM::::::M M::::::M
SSSSSSSSSSSSSSS CCCCCCCCCCCCC uuuuuuuu uuuuMMMMMMMM MMMMMMMM
www.crystalfree.org
Running SCuM-programmer.py version 1.2.3
>
type
help
to get a list of commands
> help
- "ls" lists the binary files availble to bootload
- "bootload <image.bin>" bootload an image onto SCuM
- "transfer"