STM32 Minimum System Development Board

By ctherouxNo Comments

Upload code to a STM32 Minimum System Development Board

This post describes how to upload code to a STM32 Minimum System Development Board that can be bought from Ali Express or eBay for around $4.00 US. You will be able to compile and upload a led blinking program to the board at the end of this guide. This guide is based on Arduino_STM32 by Roger Clark.
You will need:

  1. to download Roger Clark’s Arduino IDE STM32 board support files. It can be downloaded from this link.
  2. to download the latest Arduino IDE. It can be downloaded from this link.
  3. a USB to TTL Serial Cable that uses 3.3V signal level such as link or any equivalent cable.

The setup steps are:

  1. First, install the Arduino IDE following the provided instructions.
  2. Install Arduino SAM Boards (32 bits ARM Cortex-M3) using the Arduino IDE option Tools -> Board -> Boards Manager.
  3. Locate the hardware folder within the Arduino IDE installation folder.
  4. Un-archive the STM32 support files in the hardware directory found in the Arduino IDE installation folder.  Rename the top folder Arduino_STM32-master to Arduino_STM32.  If you restart the Arduino IDE, you will find in the Tools -> Board option a new set of boards including the STM32F103C Series.
  5. Connect the TTL Serial Cable ground pin to one of the ground pins of the board labeled G.   It is the black wire on the picture below. The TTL Serial Cable shall be disconnected from the PC at this stage.
  6. Connect the TTL Serial Cable 5V to the pin labeled 5V on the board.  It is the red wire on the picture below.  A 3.3V supply can also be used.  In this case, connect the 3.3V supply to a pin labeled 3.3 on the board.
  7. Connect the TTL Serial Cable RX pin to the board A9 pin. It is the white wire on the picture below.
  8. Connect the TTL Serial Cable TX pin to the board A10 pin. It is the green wire on the picture below.
  9. Set the jumpers.  Boot0 shall be set to 1 (HIGH) and Boot1 to 0 (LOW).  The Boot1 jumper is right beside the reset switch.
  10. Plug the TTL Serial Cable to the PC.  A red led should light up on the board indicating that it is powered.

The board setup looks like this using an Adafruit 954 TTL Serial Cable.

Upload code to a STM32 Minimum System Development Board

STM32 Minimum System Development Board Wiring


In the Arduino IDE:

  1. Create a new sketch (File -> New).
  2. Copy the code below.  It will make the onboard led blink.
  3. Select the board  Generic STM32F103C Series from the Tools -> Board option.
  4. Select STM32F103C8 (20k Ram, 64 k Flash) from Tools -> Variant option.
  5. Select Serial from the Tools -> Upload method option.
  6. Select the port of the TTL Serial Cable from the Tools -> Port option.
  7. Verify the sketch (Sketch -> Verify/Compile).
  8. Hit the reset button on the board and wait 4 seconds.  If you do not wait enough, you will get a “Failed to init device.” message.
  9. Upload the sketch to the board (File -> Upload).  You will get a bunch of messages.  The last line will be “Starting execution at address 0x08000000… done.”.
  10. The green led will now blink.

If you reset the board or unplug it, your program will not run unless you set both Boot0 and Boot1 jumpers to 0 (LOW).

The test sketch is:


void setup() {
pinMode(PC13, OUTPUT);
}


void loop() {
digitalWrite(PC13, HIGH);
delay(100);
digitalWrite(PC13, LOW);
delay(100);
}

Arduino, STM32

Change the Ubuntu login screen background?

By ctherouxNo Comments

Changing the login screen background is easy but not obvious. The image file you want to use as the login screen background must have a read access for everyone. Open the image with the Image viewer installed by default. Select the option Set as Wallpaper from the Image menu.

The Appearance option of the Settings will only let you change the desktop background.

Ubuntu, Ubuntu 12.04, Ubuntu 14.04, Ubuntu 15.04

Make an Apache2 SSL server more secure

By ctherouxNo Comments

These easy steps will improve significantly the security of your Apache2 SSL server. Edit your /etc/apache2/mods-enabled/ssl.conf file and replace the SSLProtocol, SSLCipherSuite and SSLHonorCipherOrder parameters with the following values.

SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA

SSLHonorCipherOrder on

SSLProtocol all -SSLv2 -SSLv3

apache, Debian, Linux, Ubuntu, Unix

Raspberry Pi Model B+ Drilling And Mounting Plates

By ctherouxNo Comments
Raspberry Pi B Plus view 2

“Raspberry Pi Model B+ Drilling And Mounting Plates” are now available. More details at Raspberry Pi Model B+ Drilling And Mounting Plates.

3D Printing, object

Raspberry Pi Model B Drilling And Mounting Plates

By ctherouxNo Comments
Raspberry Pi B view 1

“Raspberry Pi Model B Drilling And Mounting Plates” are now available. More details at Raspberry Pi Model B Drilling And Mounting Plates.

3D Printing, object

Arduino Mega / Mega 2560 / Due Drilling And Mounting Plates

By ctherouxNo Comments
Arduino Mega view 2

“Arduino Mega / Mega 2560 / Due Drilling And Mounting Plates ” are now available. More details at Arduino Mega / Mega 2560 / Due Drilling And Mounting Plates.

3D Printing, object

Arduino UNO / Duemilanove / Diecimila / Leonardo Drilling And Mounting Plates

By ctherouxNo Comments
Arduino UNO / Duemilanove / Diecimila / Leonardo / NG / Extreme Drilling And Mounting Plates

“Arduino UNO / Duemilanove / Diecimila / Leonardo / NG / Extreme Drilling And Mounting Plates” are now available. More details at Arduino UNO / Duemilanove / Diecimila / Leonardo / NG / Extreme Drilling And Mounting Plates.

3D Printing, object

Beaglebone Black Drilling And Mounting Plates

By ctherouxNo Comments
Beaglebone Black view 2

“Beaglebone Black Drilling And Mounting Plates” are now available. More details at Beaglebone Black Drilling And Mounting Plates.

3D Printing, object

pcDuino V2 Board Drilling And Mounting Plates

By ctherouxNo Comments
pcDuino V2 view 1

“pcDuino V2 Board Drilling And Mounting Plates” are now available. More details at pcDuino V2 Board Drilling And Mounting Plates.

3D Printing, object

Freescale FRDM-KL25Z Board Drilling And Mounting Plates

By ctherouxNo Comments
Freescale KL25Z view 2

“Freescale FRDM-KL25Z Board Drilling And Mounting Plates” are now available. More details at Freescale FRDM-KL25Z Board Drilling And Mounting Plates.

3D Printing, object

Solarbotics L298 Compact Motor Driver Drilling and Mounting Plates

By ctherouxNo Comments
Solarbotics L298 Compact Motor Driver view1

“Solarbotics L298 Compact Motor Driver Drilling and Mounting Plates” are now available. More details at Solarbotics L298 Compact Motor Driver Drilling and Mounting Plates.

3D Printing, object

Keyes Mosfet Power Control Board Mounting And Drilling Plates

By ctherouxNo Comments
Keyes Mosfet Power Control view1

“Keyes Mosfet Power Control Board Mounting And Drilling Plates” are now available. More details at Keyes Mosfet Power Control Board Mounting And Drilling Plates.

3D Printing, object

ALTERA Cyclone II FPGA Development Board Mounting and Drilling Plates

By ctherouxNo Comments
Altera Cyclone II Dev Board view1

“ALTERA Cyclone II FPGA Development Board Mounting and Drilling Plates” are now available. More details at ALTERA Cyclone II FPGA Development Board Mounting and Drilling Plates.

3D Printing, object

PN532 Breakout Board Mounting Plate And Drilling Guide

By ctherouxNo Comments
pn532 view1

“PN532 Breakout Board Mounting Plate And Drilling Guide” are now available. More details at PN532 Breakout Board Mounting Plate And Drilling Guide.

3D Printing, object

SparkFun RFID USB Reader mounting plate and drilling guide

By ctherouxNo Comments
view1

“SparkFun RFID USB Reader mounting plate and drilling guide” are now available. More details at SparkFun RFID USB Reader mounting plate and drilling guide.

3D Printing, object

SMD Probe Case

By ctherouxNo Comments
view3

“SMD Probe Case” is now available. More details at SMD Probe Case.

3D Printing, object

Business Cards And Credit Cards Storage Box

By ctherouxNo Comments
view1

“Business Cards And Credit Cards Storage Box” is now available. More details at Business Cards And Credit Cards Storage Box.

3D Printing, object

Octoprint and Cura Disk Image for the Raspberry Pi (Version 2015-03-15)

By ctheroux1 Comment

Cura integrated with Octoprint brings your 3D printer to the next level. You can download from HERE a fully functional image of Cura integrated with Octoprint. Simply copy this image to an SD-card of 4GB or more. Instruction to copy an image on an SD-card is given on this PAGE. You will need to unzip this file prior copying the image to the SD-card.

A 4 GB SD-card will give you about 1.2 GB of free space to upload your models after expanding the filesystem. Be aware that some folders are hidden. Make sure you display them.

This image is based on the following:

  • http://docstech.net/OctoPiMirror/2015-01-31-octopi-0.11.0.zip
  • https://github.com/foosel/OctoPrint/wiki/Cura-Integration (2015-03-15 version)
  • https://github.com/Ultimaker/CuraEngine.git (2015-03-15 version)

This image is fully functional. Nevertheless, the following might need to be done.

  1. Logon to the Raspberry Pi. Issue the command sudo raspi-config. You may wish to expand the filesystem (Option 1) and change the memory split to 64 (Option 8 > A3).
  2. Modify the settings as needed on another computer with Cura installed. Save them as CuraConfig.ini by going to File > Save Profile. Replace the content of /home/pi/Cura/config/CuraConfig.ini (on the SD-card) with the content of the saved CuraConfig.ini file.
  3. Copy the file preferences.ini located on the computer (located in ~/.cura/[version]/ if using Linux) to /home/pi/.cura/dev/preferences.ini on the SD-car.
  4. Set up a fixed IP address to the Raspberry Pi. Instruction can be found HERE.
  5. Change the default password for the user pi. Instruction can be found HERE.
  6. Enable the access control of Octoprint. To do so, edit /home/pi/.octoprint/config.yaml. Set accessControl: enabled to true and server: firstRun to true and reboot the Raspberry Pi running Octoprint.
3D Printing, Cura, Octoprint, Raspberry PI, Wheezy

Fume Extractor

By ctherouxNo Comments
view2

“Fume Extractor” is now available. More details at Fume Extractor.

3D Printing, object

Aluminium Extrusion Led Strip Holder

By ctherouxNo Comments
view1

“Aluminium Extrusion Led Strip Holder” is now available. More details at Aluminium Extrusion Led Strip Holder.

3D Printing, object
Blue Taste Theme created by Jabox