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. They decided to make these options only available to be changed using the USB connection to the computer. ...

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). along with the timeouts. Section size is used internally similar to a ‘bucket’ that each object stored, is stored in. ...

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. We utilize two logic gates (7432 OR gates) to decode the output gating and the write enable on the two chips. Along with an inverter on the A16 line of a single transistor. ...

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

DELL Server Power Supply Repair

DELL Server Power Supply AA233300 repair These power supplies are available under a number of different model numbers / brands. However they are all really the same (only minor mechnical outside differences). This is great for us as it means that we can use them to repair other models if needed. The DS550-3 The DS550-3 is the actual manufacturers model number for this supply. It was manufactuered by Emerson, However it appears that the same supply is also manufactured by Artesyn Embedded Technologies. ...

April 30, 2016 · 2 min · Ben V. Brown

Tntroduction to NMEA2k

NMEA 2000 - Part 1 NMEA 2000 is the new standard that is being rolled out in boating (well has been for a while). This standard is notable as a replacement for NMEA 0183, as it resolves the issues 0183 faced. NMEA 2K is based on the CAN BUS communications platform, this is an awesome as it resolves the main issue of connecting multiple devices on a single bus. Also included in the specifications for the NMEA 2K standard is two styles of wiring (Mid and micro size) with matching connectors. This is important as it enforces the wiring to be used for the CAN network must be of the correct style. ...

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

eBike Monitor

eBike monitor The eBike monitor concept is to provide a HUD for the energy information for eBikes. The unit consits of a small colour LCD screen that can be mounted on the handlebars or whereever you wish, and a monitoring pcb that is installed inside of the battery pack. Concept The system works by having the battery monitoring and statistics calculations performed on a small pcb that is mounted inside of the battery pack. This board stays ‘paired’ with that battery for the life of the battery (the boards can be re-used later on). ...

January 6, 2016 · 2 min · Ben V. Brown

HP Smart Array Battery Kit Repair

The HP P4XX The HP P4XX series of RAID controllers are HP’s first PCIe SAS/SATA Raid controllers, and personally I have found them to work excellently for use in my servers (G5/G6 servers). The cards are upgradable to use a 512MB cache and also have a backup battery for the cache (to prevent data loss in power outage). This battery backup unit is my only issue with these raid controllers… ...

January 6, 2016 · 3 min · Ben V. Brown

SPI Flash IC Notes

SPI Flash ics SPI Flash chips are a fantastic way to store a medium amount of information for a microcontroller when you dont wish to impliment a whole filesystem layer. This is great for when you do not wish to use a large ram footprint (no large buffer needed!). They can provide relatively high density storage for a low cost, and enable high speed data storage. This page will be updated in future, as my code progresses.. This is mainly just for small notes when working with Flash ICs ...

January 6, 2016 · 3 min · Ben V. Brown