STM32 ADC with DMA

Most of my current projects are using the very, very nice stm32f103 series of chips, as these provide excellent performance per dollar cost. The embedded DMA in these chips is a massive help in getting a project up and running without any struggle for cpu power. I find the DMA documentation to be lacking at best with getting this system up and running using the new HAL drivers from STM. While this is actually quite an easy system to get up and running, I could not find any nice notes on how the system should be setup and things to be aware of....

November 2, 2016 · 5 min · Ben V. Brown

TS100 Soldering Iron

TS100 The ts100 is a portable DC powered soldering iron released by minidso. The unit offers between 25-70W of output power at the tip depending on the input voltage, and has removable tips (Not compatible with other irons as far as I know). Sadly the unit is crippled with their system for changing settings, while the unit supports nice options such as a customizable cutoff voltage; wake on motion, and automatic sleep times....

October 1, 2016 · 3 min · Ben V. Brown

STM32 I2C EEPROM with HAL

#Talking to a I2C EEPROM using the STM32 HAL libraries This mostly a note to my future self. This code is based on the excellent answers provided at the ST forums, but combined here as a complete class. This was used to talk to a standard I2C EEPROM, 24LC256. The following header file definitions are required for the class : #define EEPROM_ADDRESS 0xA0 #define EEPROM_MAXPKT 32 //(page size) #define EEPROM_WRITE 10 //time to wait in ms #define EEPROM_TIMEOUT 5*EEPROM_WRITE //timeout while writing #define EEPROM_SECTIONSIZE 64 These setup the I2C address, the maximum page size of the EEPROM (32 used here for compadability)....

August 20, 2016 · 2 min · Ben V. Brown

Converting Reaver Pro to OpenWRT

Converting the Reaver Pro to run stock OpenWRT I bought one of the Reaver Pro units a fair while ago back when they were more useful.. Now that most routers have protection against the WPS exploit it has become mostly useless. However the unit itself is actually a really nice Alfa Networks HornetUB2 with upgraded Flash to 16MB and Ram to 64MB. Problem The U-Boot used on the router does not support the setenv command, and the unit comes with the memory boot location hard coded to 0x9f050000 which is NOT what all the documentation online appears to refer to....

July 27, 2016 · 12 min · Ben V. Brown

Project Zeta - RAM

Project Zero : The RAM In continuation of the development of Project Zeta, the small compact Z80 based microcomputer that I am slowly learning on, comes the next installment.. The RAM board! Now this is actually performing double duty as the ROM as well, as the inital plan is to program the RAM at boot with the program that the system is to be executed. Design The RAM board is designed to provide a nice simple breakout for two 32k SRAM IC’s onto the memory bus for the Z80, nothing fancy here, no bank switching or real logic....

July 15, 2016 · 4 min · Ben V. Brown