dkonigsberg / nestronic Goto Github PK
View Code? Open in Web Editor NEWNestronic Game Music Synthesizer Alarm Clock
Nestronic Game Music Synthesizer Alarm Clock
We still need this resistor to enforce a minimum gain on the audio amplifier, but 20k is way too high of a value.
TP1 is intended to be used for ADC calibration, however is it currently on a pin that has a pull-up resistor installed on the main board. This makes it useless.
It should be moved to GPIO27, which doesn't have a pull-up resistor on the main board. It'll still only be usable if the input board is disconnected, but that is fine for a special-purpose test point.
The actual AS6C6264 IC is slightly wider than the footprint currently being used. While it can still fit, the PCB footprint should be changed to a slightly wider one.
The current design requires an external USB-to-serial dongle, that exposes the RTS/DTR lines, for programming. While a common item, it is still an annoying extra item to have to keep around.
Furthermore, a portion of the programming circuit (the bootstrapping transistors) is already on the main board, as it is specific to the ESP32.
To make things easier to work with in the long term, one idea is to directly integrate a CP2102 chip onto the main board, along with the necessary support components (USB connector, TVS protection, etc). There is space for this, and doing so would effectively replace the 6-pin header on the back of the device with a simple USB port.
The voltage passing through the variable resistor pins may exceed 3.3V under certain circumstances, which would put the chip out of spec and possibly destroy it. Switching this IC to the 5V supply resolves the issue.
Additionally, the datasheet mentions Schmitt triggered inputs on the I2C pins. This might cause issues with a 3.3V I2C bus when on a 5V supply, but these issues have not been seen in testing. If they ever manifest, the Analog Devices AD5246 is an option as a drop-in replacement.
The SOIC version of this IC is discontinued, so the footprint should be changed to TSSOP to ensure easy component availability in the future.
The NES APU requires addressable memory at $C000 for DMC/DMA playback of PCM samples. The current design has no memory at that address.
The easiest way of doing this is to mirror the existing SRAM chip onto that address. This can probably be done by using a spare NAND gate from U10 as glue between the address decoder (U5) and the non-inverting enable line (CE2) of the SRAM chip (U7).
The best place for an ambient light sensor is the input board, where it can see out the top of the case. Due to available interfaces at this location, that sensor is best connected via I2C.
Need to experiment with sensors through a 3D printed grid-hole pattern, which can be added to the top of the enclosure, before committing to this change.
A likely location is right above the A/B buttons, since that is where the board space can be most easily made available.
The pin mappings between the schematic symbol and the PCB footprint for these components is backwards. To kludge them into working on the Rev A PCB, these transistors had to be reinstalled upside-down.
This should be fixed on the schematic and PCB layout.
I was extremely excited to see this project because it seems to be the closest implementation of a hardware-based NES music player but it seems like the NSF playback function isn't 100% complete?
Are there plans to finish the implementation?
I've heard that VGM files don't have the 100% information for completely accurate playback but NSF does.
This sensor is terrible at actually detecting ambient light when the board is installed in an enclosure. There doesn't seem to be a practical resolution, other than moving/changing the sensor. The component (TSL251R) is also now discontinued, so its better to just remove it in favor of something else.
Several of the documented fault conditions with the PCA9564 can only be resolved by toggling its RESET pin. This may be do-able using another one of the OUT pins on the RP2A03, possibly combined with a pull-up resistor.
This needs lab testing before implementation, because the levels on those pins can be weird and the PCA9564 is a 3.3V component (albeit 5V tolerant).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.