Matthew P
Matthew P
  • Видео 51
  • Просмотров 3 478
Homemade F1C100s Development Board
The processor boots from a micro SD card that has a bootable linux image.
If there is no SD card in the SD card slot, the processor boots into USB Fel mode.
Currently, Im able to UART into the device and navigate the file system.
Future plans are to have the processor output a composite video signal.
Просмотров: 296

Видео

Li Chee Nano ( Allwinner F1C100s SOC ) booting from onboard SPI flash
Просмотров 802 месяца назад
I have a UART connection and a Putty terminal open.
Bluetooth Low Energy N64 Controller Port Bitbanger
Просмотров 248 месяцев назад
An ESP Wroom 32 board reads an SNES Controller and sends the button presses to an ESP32C3 board using BLE. The ESP32C3 reads the SNES controller button presses through BLE and bitbangs the N64 controller port( acting like an N64 controller ) It works good enough for super smash bros so this is where I stop !
ESP32-C3 Bit Banging an N64 Controller Port
Просмотров 1249 месяцев назад
The ESP32 is running a sketch that allows it to recreate N64 Controller Bytes using one of it's UART controllers with a 6N1 Data format and baudrate of 1000000. This allows the ESP32 to emulate an N64 controller. A tactile switch on the breadboard is used as a " Start " button. In the future, I want to use the ESP32 PS3 controller library to allow the ESP32 to act as a wireless PS3 to N64 contr...
STM32 IR Reciever Driver
Просмотров 30Год назад
The IR reciever PCB was taken out of a 7 inch car monitor, it spits out 3.3V logic that is clear enough to understand on a logic analyzer so a microcontroller should have no problem reading the bits ! This was my first project using the STM32F446. I used tutorial code online for measuring the 13mS period starting bit of the IR signal using a channel on TIMER 2. Then I configured another channel...
Rotating Backface Culled Cube on the Pi Pico
Просмотров 64Год назад
My first attempt at backface culling. I used the shoelace method for after the 3D cube is projected on the 2D TV screen. It has some bugs but its good enough for now.
Raspberry Pi Pico NTSC Wireframe 3D Cube
Просмотров 66Год назад
I ported Brensenham Line drawing algorithms to my 240p NTSC program. Then made a triangle function and used it the Arduino TVout Library's rotating cube example code that I ported to work in C. Next step would be to scanline render but i might be pausing here till I study Linear Algebra to make my own rendering functions.
Traffic Light Program made in Ladder Logic
Просмотров 6Год назад
Software : Studio 5000 Logix Designer The traffic light animation is a project running in FactoryTalk View Studio that is linked with the studio 5000 program running on a PLC emulator. Next is to do it in Structured Text instead of Ladder Logic.
Cyclone 2 FPGA reading Gamecube Controller Bytes
Просмотров 79Год назад
There are 2 VHDL Blocks. One sends the Gamecube Controller hexadecimal commands asking for button states. Then that block alerts the other VHDL block when it has sent the commands and tells it to be on the alert for incoming Gamecube Controller bytes. Since Start & Y are the first two buttons in the bit stream i made those bits output to LEDs to show if they were getting captured or not. After ...
Reading SNES controller with VHDL
Просмотров 47Год назад
github.com/BambooEngineer/SNES_Controller_Reader
Softmodded Wii offgrid setup
Просмотров 12Год назад
A 2p3s battery pack provides power and is solar rechargable with a PWM Controller. With a switch mode buck converter it also powers a 5 inch car monitor & a push pull class B audio amplifier. The Wii is softmodded and uses a USB flashdrive to store games. The battery can power everything for more than 3 hours on a full charge.
First VHDL Program on DE1-Board
Просмотров 26Год назад
First VHDL Program on DE1-Board
Pi Pico NTSC Sprite Animation, PNG image, and Pong
Просмотров 1542 года назад
NTSC fake progressive H syncs & V blank signals are produced by a PIO state machine, same type of video signals old 8 bit and 16 bit video game consoles generate. Pixels are stored in a framebuffer and fed to another PIO state machine(using DMA) that spits out the pixels during the active video portions of the sync signals. It is hard to hear with elder scrolls music playing in the background b...
Black & White NTSC Sprite animation on Raspberry Pi Pico
Просмотров 1012 года назад
2D sprite animation timing done the same way it is in Arduino, by counting how many milliseconds has passed and changing the sprite based on that instead of delays that slow down everything. Graphics are updated during Vblank just like how the NES did and there is very little flicker unlike my previous methods. Game logic exists on the same DMA handler that is used for the DMA channel that feed...
Pico PIO NTSC Single Pixel
Просмотров 552 года назад
Pico PIO NTSC Single Pixel
Pi Pico NTSC using PIO
Просмотров 922 года назад
Pi Pico NTSC using PIO
I2C Nintendo Controllers w/ RP2040
Просмотров 952 года назад
I2C Nintendo Controllers w/ RP2040
Xbox Joystick & N64 Dpad acting as original N64 joystick
Просмотров 512 года назад
Xbox Joystick & N64 Dpad acting as original N64 joystick
Atmega328p emulating an N64 controller quadrature encoder
Просмотров 632 года назад
Atmega328p emulating an N64 controller quadrature encoder
Atmega168 SNES controller
Просмотров 162 года назад
Atmega168 SNES controller
Pi Pico & Arduino Nano Function Generator
Просмотров 3652 года назад
Pi Pico & Arduino Nano Function Generator
LAN Pygame Pong on Laptop & Desktop
Просмотров 203 года назад
LAN Pygame Pong on Laptop & Desktop
Playing Xbox on an old vintage portable TV
Просмотров 473 года назад
Playing Xbox on an old vintage portable TV
atmega168 trying to speak SNES
Просмотров 283 года назад
atmega168 trying to speak SNES
Pi Pico Lego Railgun V2
Просмотров 303 года назад
Pi Pico Lego Railgun V2
LP_without Servo Blocker
Просмотров 133 года назад
LP_without Servo Blocker
Super Nintendo Arcade Controller
Просмотров 153 года назад
Super Nintendo Arcade Controller
Raspberry Pi Pico_VGA Part 1
Просмотров 153 года назад
Raspberry Pi Pico_VGA Part 1
Car Monitor running on 4 AAs
Просмотров 224 года назад
Car Monitor running on 4 AAs
NPN Common Emitter Amplifier
Просмотров 174 года назад
NPN Common Emitter Amplifier

Комментарии

  • @dellmyer
    @dellmyer 11 дней назад

    Excellent job!

  • @clubpasser123454321
    @clubpasser123454321 Месяц назад

    Where did you get the information on how to boot it up? I’d like to make something using this chip also. Nice job btw.

    • @theengineer9910
      @theengineer9910 18 дней назад

      I got lucky with finding Information on reddit about how the F1C100s boots up. I got even luckier when I found "licheepi-nano-mainline" by goediy on github. With his repository I was able to make a bootable SD Card. The image is targeted towards the Li Chee nano dev board but hopefully I can modify the image to add drivers. If not then ill just play with embedded linux on my Zynq 7000.

  • @ukrand9204
    @ukrand9204 Месяц назад

    Nic3

  • @ismailakbulut2793
    @ismailakbulut2793 Месяц назад

    nice job 👏

  • @dragonmonitor
    @dragonmonitor 9 месяцев назад

    That’s cool stuff. Have you checked out the RP2040’s PIO peripherals? I’ve seen people use them to simulate the gamecube controller protocol, and I bet it’d work well with N64 as well.

    • @theengineer9910
      @theengineer9910 9 месяцев назад

      This wouldve taken me one day to do with an RP2040 using PIO. Im trying to get more experience with the esp32 chips. Stm32 and FPGAs also. I've already made a program for the pi pico to generate composite video with basic 3D model rendering.

  • @unflexian
    @unflexian Год назад

    Impressive how much processing power you can squeeze out of that thing, good work!

  • @salmantechnologies282
    @salmantechnologies282 Год назад

    Can i get a code for this MTSC generation

    • @theengineer9910
      @theengineer9910 Год назад

      github.com/BambooEngineer/Raspberry-Pi-Pico-8-bit-NTSC

  • @dellmyer
    @dellmyer Год назад

    Cool, Great picture of Donkey Kong and the moving sprite

  • @pedrosuarez7945
    @pedrosuarez7945 Год назад

    Wow 😮🤩 impressive genius.

  • @kobeliles7435
    @kobeliles7435 Год назад

    You could’ve reduced the equation vastly by using the k-map method.

    • @theengineer9910
      @theengineer9910 Год назад

      Your right ! I have been lacking in my digital studies. Havent touched an fpga in a while.

  • @stupendousbrawlstars
    @stupendousbrawlstars 2 года назад

    Nice! 👌

  • @stupendousbrawlstars
    @stupendousbrawlstars 2 года назад

    🤯

  • @kinetic_code
    @kinetic_code 2 года назад

    Hey! I've just been looking into a similar project, I was wondering if it was possible for you to upload the Arduino sketch, it would be a great learning resource for me and be highly appreciated! If not, no worries, great work!

    • @theengineer9910
      @theengineer9910 2 года назад

      Added a link to github in the description. I wired the controller's D-PAD outputs to the arduino so the DPAD acts as the joystick and since barely any n64 games use the dpad its not a problem.

  • @deimoz1001
    @deimoz1001 2 года назад

    Saludos, mas tutoriales sobre esto por favor, excelente video

  • @theengineer9910
    @theengineer9910 3 года назад

    It is fixed i updated the github page

  • @WungoBungo
    @WungoBungo 3 года назад

    Hmm yeah this seems like it shouldn’t be that hard to at least get it working within reasonable polling accuracy given that you’re just addressing an 8 bit shift register right? Weird

    • @theengineer9910
      @theengineer9910 3 года назад

      Ya i mean im happy i got all the buttons working and its not hard to write code to follow the SNES controller protocol since you just gotta emulate a shift register but i ran out of ideas to fix the data lagging. You can see when i hold the down button mario gets glitchy and turns because left is the next button in the protocol and the data pin is just not going back high fast enough.

  • @theengineer9910
    @theengineer9910 3 года назад

    more of a railgun now instead of a digital joystick

  • @rafaelfahel
    @rafaelfahel 3 года назад

    Any input lag?

  • @theengineer9910
    @theengineer9910 4 года назад

    github.com/BambooEngineer/Pygame_2DZ

  • @Askotx
    @Askotx 4 года назад

    Could you share your nano pinout diagram?

    • @theengineer9910
      @theengineer9910 4 года назад

      Search Andrew Brown Gamecube to N64 on github it explains everything

  • @unflexian
    @unflexian 4 года назад

    Nice! could you release source?

    • @theengineer9910
      @theengineer9910 4 года назад

      import serial import time import tkinter as tk arduinoData = serial.Serial('COM6', 115200) time.sleep(3) S = str.encode('S') A = str.encode('A') T = str.encode('T') U = str.encode('U') R = str.encode('R') N = str.encode('N') class Application(tk.Frame): def __init__(self, master=None): super().__init__(master) self.master = master self.pack() self.create_widgets() def create_widgets(self): self.hi_there = tk.Button(self) self.goodbye = tk.Button(self) self.T = tk.Button(self) self.U = tk.Button(self) self.R = tk.Button(self) self.N = tk.Button(self) self.hi_there["text"] = "S" self.goodbye["text"] = "A" self.T["text"] = "T" self.U["text"] = "U" self.R["text"] = "R" self.N["text"] = "N" self.hi_there["command"] = self.long self.goodbye["command"] = self.short self.T["command"] = self.Ta self.U["command"] = self.Ua self.R["command"] = self.Ra self.N["command"] = self.Na self.hi_there.pack(side="top") self.goodbye.pack(side="bottom") self.T.pack(side="bottom") self.U.pack(side="bottom") self.R.pack(side="bottom") self.N.pack(side="bottom") self.quit = tk.Button(self, text="QUIT", fg="red", command=self.master.destroy) self.quit.pack(side="bottom") def long(self): print("BLINKING") arduinoData.write(S) def short(self): print("BLINKING") arduinoData.write(A) def Ta(self): print("BLINKING") arduinoData.write(T) def Ua(self): print("BLINKING") arduinoData.write(U) def Ra(self): print("BLINKING") arduinoData.write(R) def Na(self): print("BLINKING") arduinoData.write(N) #data, addr = sock.recvfrom(1024) # buffer size is 1024 bytes #c = data.decode('utf-8') root = tk.Tk() app = Application(master=root) app.mainloop()

    • @theengineer9910
      @theengineer9910 4 года назад

      The arduino code is just Serial Read for the python 3 input and tone statements that are on the arduino site

  • @gabrielzorianoperez1786
    @gabrielzorianoperez1786 4 года назад

    el codigo

  • @electronash
    @electronash 5 лет назад

    Nice. ;) Doing VGA output from an FPGA was one of the very first things I tried, after blinking an LED. hehe It's a great way to show how little Verilog is needed to get some video output working, and good for teaching how powerful a few simple counters can be. Are those 220R resistors in series with the RGB outputs, btw? If so, it may well be that the voltage is still slightly too high, so the monitor is reducing the input gain to compensate. With VGA, each colour channel input has a max voltage of 0.7V, AFAIK. So you need more like 280 Ohm series resistors, or maybe 270R will work OK (as a more standard value). (the series resistor works in conjunction with the 75R resistor inside the monitor, which goes from each channel down to ground.) www.ohmslawcalculator.com/voltage-divider-calculator It could also be that you need to tweak the timings for the blanking, and add an assign to the VGA output pins to blank the signal. If there is any image information too close to the Hsync pulses, it can screw up the AGC in the monitor / TV, causing an image that's too bright or too dim, and often causes bad ghosting across the screen. assign VGA_R = (HBLANK) ? 1'b0 : MY_R; assign VGA_G = (HBLANK) ? 1'b0 : MY_G; assign VGA_B = (HBLANK) ? 1'b0 : MY_B;

    • @theengineer9910
      @theengineer9910 5 лет назад

      I believe it is the TV compensating, I'll have to try different resistors next time. I really wanted to get GBA Advance LCD signals and have them go through the DE0-Nano and then come out as VGA but I ran out of time and stuff like that requires good quality adapters

    • @electronash
      @electronash 5 лет назад

      @@theengineer9910 I've done a bit of work on that myself. hehe My first test was getting the N64 digital video to work via HDMI, using DE1 dev board. I then did the same for Dreamcast and Game Cube. I managed to get the Game Boy Player to power up as stand alone. The GBP actually has some test pads for the 15-bit LCD signals, and the button inputs for the joypad. I was going to do an HDMI mod for it, but got stuck into redesigning the N64 and Dreamcast motherboards instead. lol

    • @electronash
      @electronash 5 лет назад

      @@theengineer9910 The GBA has a slightly non-standard refresh rate, btw. I think it was closer to 58Hz, so some displays might not work directly with it. I did a spreadsheet calc before, to work out which crystal freq to get the refresh very close to 60Hz. I believe the "GBA Consolizer" by Woozle does the same thing, by feeding in a clock from the FPGA board.

  • @unflexian
    @unflexian 5 лет назад

    What FPGA is that?

    • @electronash
      @electronash 5 лет назад

      Looks like the DE0 Nano... www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=165&No=593&PartNo=1 (not to be confused with the DE10 Nano, which is what the MiSTer retro platform is based on.) Both boards are ideal for getting starting with FPGAs, though. The DE0 Nano is one of the most common used by schools and Universities atm.

    • @theengineer9910
      @theengineer9910 5 лет назад

      DE0-Nano from Adafruit

  • @mosesknows2062
    @mosesknows2062 6 лет назад

    Cool "Laptop Frankenstein"... Always liked exposed tech, as in the 1985, dystopian film, "Brazil"... I saw your Sharp Objects comment, I too was freaked out with the twist... I browsed and subscribed... If you have a sec. give my channel a look, eclectic I guess, from the perspective of a filmmaker, lol... Thx much, Moses...

    • @theengineer9910
      @theengineer9910 6 лет назад

      Awesome thx bro means a lot ! I thought I would get notifications for comments but guess not(Just lookin through videos as I do once in a while), ya that show blew me away totally didn't expect it to get that good. Crazy you found my channel through my comment hahahahaha I will look at your channel

    • @theengineer9910
      @theengineer9910 6 лет назад

      Also I'm obsessed with exposed Tech ! Ya casings can always look good and do the job but seeing the insides just gives it an Art feeling to me, I love Computer Hardware