Matthew P
Matthew P
  • 51
  • 3 490
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.
มุมมอง: 299

วีดีโอ

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
มุมมอง 12410 หลายเดือนก่อน
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
มุมมอง 69ปีที่แล้ว
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
มุมมอง 1022 ปีที่แล้ว
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
มุมมอง 3682 ปีที่แล้ว
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 19 วันที่ผ่านมา

    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 26 วันที่ผ่านมา

      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 10 หลายเดือนก่อน

    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 10 หลายเดือนก่อน

      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