
… and received one of these instead …

- PotLuckFront.JPG (53.1 KiB) Viewed 1462 times
You order a random stm32 board for your target, and they can be surprised by what arrives in their mailbox XD.
If the ugly board is ugly, then this is more the cute board. All of the soldering is perfect, the silk screen and layout are tidy, and apart from the dodgy ST logo on the rear, it is fine and did I mention the soft green eyes blinking at me
.
Well worth the not very much I paid for it.
they still program and seem to work.
i muttered about it here and added some info on them to the wiki.
i speculated that the boards were distinguished by the button colour, nope
stephen
It has an OLED demo flashed to it, but unfortunately I don’t have a suitable OLED display to test it with.
I’ve attached the file for the curious. It is a .bin but I added a .txt suffix to keep phpBB happy.
A quick glance at it shows that it contains some strings..
...
0.96' OLED TEST
mcudev.taobao
2014-06-16
ASCII:
CODE:
Eeprom--OK
...
Time to sleep now I think.
I lot of boards have similar eeproms
After a quick read through the datasheet I discovered that you can effectively treat the two 256 byte pages of the 24c04 as two 24c02 devices on consecutive addresses.
Since most of the boards simply tie the chip address pins low, this becomes a matter of reading/writing 256 bytes to device address 50, or reading and writing 256 bytes to device address 51. I did need to add external 10k pullups too as these are not fitted on this board.
The same consecutive address trick should work for 24c08 and 24c16 devices too but I don’t have any of these to test with.
Below is the result of me writing some data to the first page (device 0x50), then some similar data to the 2nd page (device 0x51)
Scanning...
I2C device found at address 0x50
-- : 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
-
00 : FD FA 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F -
10 : 70 17 17 71 44 02 16 17 18 19 1A 1B 1C 1D 1E 1F -
20 : FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF -
30 : FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF -
40 : FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF -
50 : FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF -
60 : FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF -
70 : FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF -
80 : FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF -
90 : FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF -
A0 : FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF -
B0 : FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF -
C0 : FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF -
D0 : FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF -
E0 : FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF -
F0 : FF FF FF FF FF FF FF FF FF FF CE 1E FF FF FF FF
Done
I2C device found at address 0x51
-- : 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
-
00 : FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF -
10 : 70 17 17 71 44 02 FF FF FF FF FF FF FF FF FF FF -
20 : FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF -
30 : FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF -
40 : FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF -
50 : FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF -
60 : FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF -
70 : FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF -
80 : FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF -
90 : FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF -
A0 : FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF -
B0 : FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF -
C0 : FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF -
D0 : FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF -
E0 : FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF -
F0 : FF FF FF FF FF FF FF FF FF FF CE 1E FF FF FF FF
Done
This is very handy for me, as I am building a controller for an electric bike and want to store the milage.
I will probably buy a few to use with the maple mini and blue pill etc
I’ll take a look on eBay and AliExpress and see whats available
At the moment I’m going to need to use battery backed ram and also use the onboard flash to store the data, as its a project I’m doing as a Christmas gift and the eeproms won’t arrive in time for me to integrate them into the project
So if I increment the write location in flash, it gives be around 32k write before I need to erase a single page, and if I can erase each page tens of thousands of times, then that gives me serveral hundred thousand write to flash.
Or I could just add a capacitor that keeps the CPU running for long enough to write to flash when the power is removed (and use the same principal of incremental addresses in flash)


