BAREMETAL HACKING by Dr.Nishida

Welcome to the BMH world!

BAREMETAL HACKING by Dr.Nishida

BMH is the original acronym for Bare Metal Hacking. As the name suggests, I launched this project to convey to everyone the fun and enjoyment 😍 of hacking bare-metal devices and micro-controllers by understanding their basic mechanisms from the ground up.

I am sorry for the delay; my name is Dr BMH, and my real name is Wataru Nishida. I am an internist and diabetologist🩺, but I am one of those who fell in love with computers when I was young and have been fascinated by "system programming" ever since. In the past, I wrote a series of articles for a magazine specializing in programming and published a book πŸ“– titled "Our Game Boy Awakening from Linux".

It has been 40 years since I first encountered personal computers, and their performance has evolved dramatically and become too complex πŸ’» for a beginner to understand. However, the fundamentals of computers have not changed at all, neither 40 years ago nor today.

All applications are extensions of the basics. When you explore the BMH world, I am sure you will get to the heart of things πŸ’‘ and find so much joy and pleasure πŸ’˜ that you will want to shout with delight.

Standing beside me is Hack-chan ("chan" is a term of endearment for children in Japanese). He doesn't know much about programming yet, but he will become a master of I/O operations and the basics of system programming while learning antBASIC, just as I did 40 years ago.

GRASP OF THINGS Our development home base is
Raspberry Pi 400

The concept of BMH has been in the works for more than ten years πŸ“†, but the last thing I had to worry about was the programming environment πŸ”§. A good development environment is essential for learning programming. However, since personal computers are expensive πŸ’Έ, children πŸ‘¦πŸ‘§ cannot have them all to themselves as "My Computer". Therefore, BMH adopted the "Raspberry Pi 400 ⌨" by the Raspberry Pi Foundation in the UK πŸ‡¬πŸ‡§ as its development environment.

The quad-core processor is more than fast enough πŸš€, and the central unit with a USB hub is inside the keyboard, so simply connecting a display πŸ–₯ and mouse πŸ–± makes it a fine "$70 My Computer". The GPIO header, essential for I/O programming, is another major attraction πŸ™† not found in modern PCs. Moreover, since the OS on Raspberry Pi utilizes the Linux kernel and Debian packages, we can enjoy the best programming environment for free πŸ†“.

It is inexpensive yet high-performance and excellently designed. I sincerely thank the Raspberry Pi Foundation πŸ‘ for bringing to the world a development environment 🎁 children πŸ‘¦πŸ‘§ and schools 🏫 can easily purchase.

Doctor BMH
Wataru Nishida, M.D.🩺, Ph.D.πŸŽ“

πŸ’Ύ antBASIC GitHub
πŸ“Ί BMH on YouTube

Happy breadboarding!

  1. β›³ What is a breadboard?

    Coming Soon
  2. β›³ The basics of wiring

    Coming Soon
  3. β›³ GPIO connector is a window leading to the external world

    Coming Soon
  4. β›³ How to get BMH gadgets?

    Coming Soon

antBASIC programming

  1. β›³ History of the BASIC

    Coming Soon
  2. β›³ How to install antBASIC?

    Coming Soon
  3. β›³ Number and String

    Coming Soon
  4. β›³ How to remember?

    Coming Soon
  5. β›³ How to communicate with users?

    Coming Soon
  6. β›³ Write down the procedure

    Coming Soon
  7. β›³ How to calculate?

    Coming Soon
  8. β›³ Repeat and repeat!

    Coming Soon
  9. β›³ Judge and choice

    Coming Soon
  10. β›³ Make a loop

    Coming Soon
  11. β›³ Make a subroutine

    Coming Soon
  12. β›³ How to communicate with the WORLD?

    Coming Soon

Preparing for GPIO hacking

  1. β›³ Materials

    Coming Soon
  2. β›³ WHAT NOT TO DO

    Coming Soon

GPIO programming

  1. β›³ Sound a buzzer

    Coming Soon
  2. β›³ Light a LED

    Coming Soon
  3. β›³ Read a switch

    Coming Soon
  4. β›³ Display numbers on a 7-seg LED

    Coming Soon
  5. LCD 1⃣ β›³ The anatomy of LCD

    Coming Soon
  6. LCD 2⃣ β›³ HD44780 data sheet

    Coming Soon
  7. LCD 3⃣ β›³ Draw charcters on the screen

    Coming Soon
  8. LCD 4⃣ β›³ Scroll the screnn

    Coming Soon
  9. LCD 5⃣ β›³ Make your own characters

    Coming Soon
  10. SPI 1⃣ β›³ What is SPI? (read the protocol)

    Coming Soon
  11. SPI 2⃣ β›³ Code the SPI protocol

    Coming Soon
  12. SPI 3⃣ β›³ EEPROM 25LC320 programming

    Coming Soon
  13. I2C 1⃣ β›³ What is I2C? (read the protocol)

    Coming Soon
  14. I2C 2⃣ β›³ Code the I2C protocol

    Coming Soon
  15. I2C 3⃣ β›³ EEPROM 24LC01 programming

    Coming Soon
  16. I2C 4⃣ β›³ DS1621 thermostat programming

    Coming Soon
  17. SPI 4⃣ β›³ ATtiny13 serial programming

    Coming Soon
  18. SPI 5⃣ β›³ LED blink on ATtiny13

    Coming Soon