#eeprom — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #eeprom, aggregated by home.social.
-
HOWTO I2C EEPROM - STM32 Tutorial #86
This video will cover using I2C EEPROM's such as the M24M01 or M24Cxx. We will cover the I2C setup and configuration as well as the M24Cxx library. Finally we will be putting an actual file system (LittleFS) on top of the library.
#STM32 #GettingStarted #Tutorial #STM32CubeMX #STM32CubeIDE #I2C #EEPROM #M24Cxx
-
Histoire d’une migration Linux empêchée par un BIOS bugué
https://gebull.org/2026/histoire-dune-migration-linux-empechee-par-un-bios/Une rencontre inattendue entre un ordinateur portable Lenovo Idéapad 110-17ACL, son couple de propriétaires et un petit GULL (Groupe d’Utilisateur de Logiciel Libre) de province, tous déterminés à migrer la machine vers un système d’exploitation GNU/Linux…
-
Steady Hand EEPROM Programmer
https://piefed.world/c/electronics/p/1038881/steady-hand-eeprom-programmer
-
Steady Hand EEPROM Programmer
After about 6 months, my project is finally complete. It’s the first significant circuit that I’ve designed myself, rather than just implementing someone else’s design:
https://codeberg.org/interrupt_tv/steadyhand
Steady Hand is a digital circuit for programming EEPROMs by hand. It’s inspired by this video by Ben Eater, where he creates a circuit for programming an EEPROM using DIP switches and jumper wires. Steady Hand is much more ergonomic than his design, though it is somewhat more complex.
While Ben Eater provides the “how” inspiration, the “why” inspiration comes from Jeremiah Orians’ stage0 project, and the general concept of bootstrapping: creating a computer software environment from nothing. When building a homebrew computer, one would typically use a significantly more complex modern computer to write the homebrew computer’s software to an EEPROM. I created Steady Hand as a first step towards resolving this problem.
After I’d wired everything up, I was a little afraid something would melt when I plugged it in. While the schematic is separated into smaller modules, the breadboard layout ended up being pretty monolithic. I didn’t do any testing as I was assembling it, so it seemed likely there would be a mistake somewhere. No magic smoke escaped though, and it mostly worked on the first try. There were a few bugs:
The address display was connected backwards, with the most significant digit on the right instead of the left. Easy enough to fix, but the relevant wires were no longer the right lengths to neatly reach their connection points. This trend continued as I had to do further circuit surgeries, leaving things messier than I’d like.
The auto-skip function would cycle endlessly if the byte value to skip matched what was in the write registers. The write registers’ output lines are connected to the EEPROM’s I/O lines in order to be able to write to it. The comparator is also connected to these so that it can compare the EEPROM’s output to the skip value. When it’s time for the multiplexed display to show one of the write nibbles, the EEPROM’s output is disabled and the write registers’ output enabled. This meant that the comparator would now be comparing with the write value instead of the value read from the EEPROM, and would give the signal to skip to the next address.
Disabling the comparator when it’s getting invalid input would have required some additional logic, and at the time I didn’t have any extra gates available. I solved this by using one of the display digit enable lines as the auto-skip function’s clock signal, instead of having it hooked directly to the clock. This ensured that the rising edge would only occur when the comparator had a valid input.
After writing a byte or when auto-skipping past a large number of addresses, the EEPROM would occasionally output
FFinstead of the byte that was actually stored at that address. It wouldn’t do this with any kind of consistency, but theFFwould persist until the address was changed. I thought this was a power issue, but no combination of decoupling capacitors or pull-up resistors would make it go away. After wrestling with it for a long time, I eventually concluded that the AT28C256 just doesn’t like being always enabled. Once I added proper logic to control both the output enable and chip enable lines, the problem went away.
Since I needed at least one more logic IC to solve that last bug, I decided to add a 74HC7266 quad XNOR IC. This allowed me to add a search function alongside the auto-skip function, by just using an XNOR gate to invert the comparator’s output.
I used dupont cables to group related signal lines together, but I’m not sure how I feel about them now. I thought that they’d result in a cleaner layout than if I’d used several additional layers of solid core wire, but I still ended up with a rat’s nest. That was likely inevitable with how densely packed the components are. If I were to redo everything, I’d probably spread them out onto more boards, group them into individual modules, and allow for more redundancy in the glue logic.
Still, I’m happy with how the project turned out overall, and that I can now move onto the next one.
-
Steady Hand EEPROM Programmer
https://piefed.world/c/electronics/p/1038881/steady-hand-eeprom-programmer
-
Steady Hand EEPROM Programmer
After about 6 months, my project is finally complete. It’s the first significant circuit that I’ve designed myself, rather than just implementing someone else’s design:
https://codeberg.org/interrupt_tv/steadyhand
Steady Hand is a digital circuit for programming EEPROMs by hand. It’s inspired by this video by Ben Eater, where he creates a circuit for programming an EEPROM using DIP switches and jumper wires. Steady Hand is much more ergonomic than his design, though it is somewhat more complex.
While Ben Eater provides the “how” inspiration, the “why” inspiration comes from Jeremiah Orians’ stage0 project, and the general concept of bootstrapping: creating a computer software environment from nothing. When building a homebrew computer, one would typically use a significantly more complex modern computer to write the homebrew computer’s software to an EEPROM. I created Steady Hand as a first step towards resolving this problem.
After I’d wired everything up, I was a little afraid something would melt when I plugged it in. While the schematic is separated into smaller modules, the breadboard layout ended up being pretty monolithic. I didn’t do any testing as I was assembling it, so it seemed likely there would be a mistake somewhere. No magic smoke escaped though, and it mostly worked on the first try. There were a few bugs:
The address display was connected backwards, with the most significant digit on the right instead of the left. Easy enough to fix, but the relevant wires were no longer the right lengths to neatly reach their connection points. This trend continued as I had to do further circuit surgeries, leaving things messier than I’d like.
The auto-skip function would cycle endlessly if the byte value to skip matched what was in the write registers. The write registers’ output lines are connected to the EEPROM’s I/O lines in order to be able to write to it. The comparator is also connected to these so that it can compare the EEPROM’s output to the skip value. When it’s time for the multiplexed display to show one of the write nibbles, the EEPROM’s output is disabled and the write registers’ output enabled. This meant that the comparator would now be comparing with the write value instead of the value read from the EEPROM, and would give the signal to skip to the next address.
Disabling the comparator when it’s getting invalid input would have required some additional logic, and at the time I didn’t have any extra gates available. I solved this by using one of the display digit enable lines as the auto-skip function’s clock signal, instead of having it hooked directly to the clock. This ensured that the rising edge would only occur when the comparator had a valid input.
After writing a byte or when auto-skipping past a large number of addresses, the EEPROM would occasionally output
FFinstead of the byte that was actually stored at that address. It wouldn’t do this with any kind of consistency, but theFFwould persist until the address was changed. I thought this was a power issue, but no combination of decoupling capacitors or pull-up resistors would make it go away. After wrestling with it for a long time, I eventually concluded that the AT28C256 just doesn’t like being always enabled. Once I added proper logic to control both the output enable and chip enable lines, the problem went away.
Since I needed at least one more logic IC to solve that last bug, I decided to add a 74HC7266 quad XNOR IC. This allowed me to add a search function alongside the auto-skip function, by just using an XNOR gate to invert the comparator’s output.
I used dupont cables to group related signal lines together, but I’m not sure how I feel about them now. I thought that they’d result in a cleaner layout than if I’d used several additional layers of solid core wire, but I still ended up with a rat’s nest. That was likely inevitable with how densely packed the components are. If I were to redo everything, I’d probably spread them out onto more boards, group them into individual modules, and allow for more redundancy in the glue logic.
Still, I’m happy with how the project turned out overall, and that I can now move onto the next one.
-
Steady Hand EEPROM Programmer
https://piefed.world/c/electronics/p/1038881/steady-hand-eeprom-programmer
-
Обзор учебно-тренировочной электронной платы JZ-F407VET6
В этой заметке я произвел обзор учебно-треннировочной электронной платы JZ-F407VET6. Это простая и дешевая PCB часто выручает при прототипировании и отладке программных компонентов.
https://habr.com/ru/articles/988494/
#JZF407VET6 #USB #can #RS485 #100BASETX #10BASETX #DP83848IVV #STM32F407VE #EEPROM #spiflash
-
DAC, AEC или оптика — какие ваши доказательства, господин трансивер?
Привет, Хабр! Меня зовут Андрей, я старший инженер по разработке ПО
https://habr.com/ru/companies/yadro/articles/991734/
#трансиверы #коммутаторы #python #sfp #qsfp #eeprom #сетевые_технологии #сетевое_оборудование #сетевая_инфраструктура #разработка_по
-
Sometimes my #hacking #bricks things. I bricked this #SATA-RAID box a while back with a bad #flash and finally decided to attack the #EEPROM directly with this cheap little programmer kit. Alas - I #unbricked it!
This is full of 4x 1TB #Velociraptor HDDs. I originally built it to mess around with Chia plotting. Heh, another waste of time that was but I have fun regardless.
I might install Windows on it via VMWare or something for shitz and gigglez
-
Switching Converter for EEPROM Programmer Taxes Solderless Breadboard - We all know that solderless breadboards have their limitations. All that stray cap... - https://hackaday.com/2023/12/08/switching-converter-for-eeprom-programmer-taxes-solderless-breadboard/ #boostconverter #programming #breadboard #solderless #switching #burner #eeprom #parts #rom
-
Stuffing a 32-Pin Chip Into a 28-Pin Socket - What’s the difference between a 64k ROM in a 28-pin DIP and a 128k ROM in a 32-pin... - https://hackaday.com/2023/08/13/stuffing-a-32-pin-chip-into-a-28-pin-socket/ #retrocomputing #39sf010 #pull-up #27c512 #65uino #eeprom #bodge #flash #rom